From 30d72eb5b83ce53b48cde33de54635350a428168 Mon Sep 17 00:00:00 2001
From: Peter Gerwinski <peter.gerwinski@hs-bochum.de>
Date: Thu, 25 May 2023 08:31:36 +0200
Subject: [PATCH] Vortragsfolien und Beispiele 24.5.2023

---
 20230523/io-ports-and-interrupts.pdf          |    1 +
 .../logo-hochschule-bochum-cvh-text-v2.pdf    |    1 +
 20230523/logo-hochschule-bochum.pdf           |    1 +
 20230523/parameters-01.c                      |   15 +
 20230523/parameters-01.s                      |   42 +
 20230523/parameters-02.c                      |    8 +
 20230523/parameters-02.s                      |   28 +
 20230523/parameters-03.c                      |    7 +
 20230523/parameters-03.s                      |   41 +
 20230523/parameters-03.s-m32                  |   65 +
 20230523/parameters-04.c                      |    7 +
 20230523/paramlib-02.c                        |    7 +
 20230523/paramlib-02.h                        |    3 +
 20230523/paramlib-03.c                        |   10 +
 20230523/paramlib-03.h                        |    4 +
 20230523/paramlib-03.s                        |   55 +
 20230523/paramlib-03.s-m32                    |   72 +
 20230523/paramlib-04.c                        |   11 +
 20230523/paramlib-04.h                        |    5 +
 20230523/paramlib-04.s                        |   51 +
 20230523/pgslides.sty                         |    1 +
 20230523/rtech-20230523.pdf                   |  Bin 0 -> 198178 bytes
 20230523/rtech-20230523.tex                   | 1743 ++++++++
 20230523/rtech-20230523.txt                   |   15 +
 20230523/test-arm-01.c                        |    9 +
 20230523/test-arm-01.s-arm                    |   52 +
 20230523/test-arm-01.s-x86                    |   30 +
 20230523/test-arm-01.s-x86-Os                 |   30 +
 20230523/test-arm-02.c                        |    8 +
 20230523/test-arm-02.s-arm                    |   37 +
 20230523/test-arm-02.s-avr                    |   40 +
 20230523/test-arm-02.s-x86                    |   16 +
 20230523/test-arm-03.c                        |   10 +
 20230523/test-arm-03.s-x86                    |   18 +
 20230523/test-arm-04.c                        |   11 +
 20230523/test-arm-04.s-x86                    |   19 +
 20230523/test-arm-05.c                        |   12 +
 20230523/test-arm-05.s-x86                    |   20 +
 20230524/buffer-overflow-01.c                 |   10 +
 20230524/buffer-overflow-02.c                 |   10 +
 20230524/io-ports-and-interrupts.pdf          |    1 +
 .../logo-hochschule-bochum-cvh-text-v2.pdf    |    1 +
 20230524/logo-hochschule-bochum.pdf           |    1 +
 20230524/parameters-01-O0-stack-4.s           |   56 +
 20230524/parameters-01-O0.s                   |   56 +
 20230524/parameters-01.c                      |   13 +
 20230524/parameters-01.s                      |   36 +
 20230524/parameters-02.c                      |   16 +
 20230524/parameters-02.s                      |   92 +
 20230524/pgslides.sty                         |    1 +
 20230524/rtech-20230524.pdf                   |  Bin 0 -> 124227 bytes
 20230524/rtech-20230524.tex                   | 1761 ++++++++
 common/io-ports-and-interrupts.eps            | 3658 +++++++++++++++++
 common/io-ports-and-interrupts.pdf            |  Bin 0 -> 6074 bytes
 common/io-ports-and-interrupts.tex            |   43 +
 55 files changed, 8260 insertions(+)
 create mode 120000 20230523/io-ports-and-interrupts.pdf
 create mode 120000 20230523/logo-hochschule-bochum-cvh-text-v2.pdf
 create mode 120000 20230523/logo-hochschule-bochum.pdf
 create mode 100644 20230523/parameters-01.c
 create mode 100644 20230523/parameters-01.s
 create mode 100644 20230523/parameters-02.c
 create mode 100644 20230523/parameters-02.s
 create mode 100644 20230523/parameters-03.c
 create mode 100644 20230523/parameters-03.s
 create mode 100644 20230523/parameters-03.s-m32
 create mode 100644 20230523/parameters-04.c
 create mode 100644 20230523/paramlib-02.c
 create mode 100644 20230523/paramlib-02.h
 create mode 100644 20230523/paramlib-03.c
 create mode 100644 20230523/paramlib-03.h
 create mode 100644 20230523/paramlib-03.s
 create mode 100644 20230523/paramlib-03.s-m32
 create mode 100644 20230523/paramlib-04.c
 create mode 100644 20230523/paramlib-04.h
 create mode 100644 20230523/paramlib-04.s
 create mode 120000 20230523/pgslides.sty
 create mode 100644 20230523/rtech-20230523.pdf
 create mode 100644 20230523/rtech-20230523.tex
 create mode 100644 20230523/rtech-20230523.txt
 create mode 100644 20230523/test-arm-01.c
 create mode 100644 20230523/test-arm-01.s-arm
 create mode 100644 20230523/test-arm-01.s-x86
 create mode 100644 20230523/test-arm-01.s-x86-Os
 create mode 100644 20230523/test-arm-02.c
 create mode 100644 20230523/test-arm-02.s-arm
 create mode 100644 20230523/test-arm-02.s-avr
 create mode 100644 20230523/test-arm-02.s-x86
 create mode 100644 20230523/test-arm-03.c
 create mode 100644 20230523/test-arm-03.s-x86
 create mode 100644 20230523/test-arm-04.c
 create mode 100644 20230523/test-arm-04.s-x86
 create mode 100644 20230523/test-arm-05.c
 create mode 100644 20230523/test-arm-05.s-x86
 create mode 100644 20230524/buffer-overflow-01.c
 create mode 100644 20230524/buffer-overflow-02.c
 create mode 120000 20230524/io-ports-and-interrupts.pdf
 create mode 120000 20230524/logo-hochschule-bochum-cvh-text-v2.pdf
 create mode 120000 20230524/logo-hochschule-bochum.pdf
 create mode 100644 20230524/parameters-01-O0-stack-4.s
 create mode 100644 20230524/parameters-01-O0.s
 create mode 100644 20230524/parameters-01.c
 create mode 100644 20230524/parameters-01.s
 create mode 100644 20230524/parameters-02.c
 create mode 100644 20230524/parameters-02.s
 create mode 120000 20230524/pgslides.sty
 create mode 100644 20230524/rtech-20230524.pdf
 create mode 100644 20230524/rtech-20230524.tex
 create mode 100644 common/io-ports-and-interrupts.eps
 create mode 100644 common/io-ports-and-interrupts.pdf
 create mode 100644 common/io-ports-and-interrupts.tex

diff --git a/20230523/io-ports-and-interrupts.pdf b/20230523/io-ports-and-interrupts.pdf
new file mode 120000
index 0000000..bcd46f7
--- /dev/null
+++ b/20230523/io-ports-and-interrupts.pdf
@@ -0,0 +1 @@
+../common/io-ports-and-interrupts.pdf
\ No newline at end of file
diff --git a/20230523/logo-hochschule-bochum-cvh-text-v2.pdf b/20230523/logo-hochschule-bochum-cvh-text-v2.pdf
new file mode 120000
index 0000000..4aa99b8
--- /dev/null
+++ b/20230523/logo-hochschule-bochum-cvh-text-v2.pdf
@@ -0,0 +1 @@
+../common/logo-hochschule-bochum-cvh-text-v2.pdf
\ No newline at end of file
diff --git a/20230523/logo-hochschule-bochum.pdf b/20230523/logo-hochschule-bochum.pdf
new file mode 120000
index 0000000..b6b9491
--- /dev/null
+++ b/20230523/logo-hochschule-bochum.pdf
@@ -0,0 +1 @@
+../common/logo-hochschule-bochum.pdf
\ No newline at end of file
diff --git a/20230523/parameters-01.c b/20230523/parameters-01.c
new file mode 100644
index 0000000..ad24b30
--- /dev/null
+++ b/20230523/parameters-01.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+
+typedef char string[42];
+
+void print (string msg)
+{
+  printf ("%s\n", msg);
+}
+
+int main (void)
+{
+  string hello = "Hello, world!";
+  print (hello);
+  return 0;
+}
diff --git a/20230523/parameters-01.s b/20230523/parameters-01.s
new file mode 100644
index 0000000..49a0a7b
--- /dev/null
+++ b/20230523/parameters-01.s
@@ -0,0 +1,42 @@
+	.file	"parameters-01.c"
+	.text
+	.globl	print
+	.type	print, @function
+print:
+.LFB11:
+	.cfi_startproc
+	subq	$8, %rsp
+	.cfi_def_cfa_offset 16
+	call	puts@PLT
+	addq	$8, %rsp
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	print, .-print
+	.globl	main
+	.type	main, @function
+main:
+.LFB12:
+	.cfi_startproc
+	subq	$56, %rsp
+	.cfi_def_cfa_offset 64
+	movabsq	$8583909746840200520, %rax
+	movabsq	$143418749551, %rdx
+	movq	%rax, (%rsp)
+	movq	%rdx, 8(%rsp)
+	movq	$0, 16(%rsp)
+	movq	$0, 24(%rsp)
+	movq	$0, 32(%rsp)
+	movw	$0, 40(%rsp)
+	movq	%rsp, %rdi
+	call	puts@PLT
+	movl	$0, %eax
+	addq	$56, %rsp
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE12:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230523/parameters-02.c b/20230523/parameters-02.c
new file mode 100644
index 0000000..f87bf30
--- /dev/null
+++ b/20230523/parameters-02.c
@@ -0,0 +1,8 @@
+#include "paramlib-02.h"
+
+int main (void)
+{
+  string hello = "Hello, world!";
+  print (hello);
+  return 0;
+}
diff --git a/20230523/parameters-02.s b/20230523/parameters-02.s
new file mode 100644
index 0000000..02bc062
--- /dev/null
+++ b/20230523/parameters-02.s
@@ -0,0 +1,28 @@
+	.file	"parameters-02.c"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB0:
+	.cfi_startproc
+	subq	$56, %rsp
+	.cfi_def_cfa_offset 64
+	movabsq	$8583909746840200520, %rax
+	movabsq	$143418749551, %rdx
+	movq	%rax, (%rsp)
+	movq	%rdx, 8(%rsp)
+	movq	$0, 16(%rsp)
+	movq	$0, 24(%rsp)
+	movq	$0, 32(%rsp)
+	movw	$0, 40(%rsp)
+	movq	%rsp, %rdi
+	call	print@PLT
+	movl	$0, %eax
+	addq	$56, %rsp
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE0:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230523/parameters-03.c b/20230523/parameters-03.c
new file mode 100644
index 0000000..c3570cc
--- /dev/null
+++ b/20230523/parameters-03.c
@@ -0,0 +1,7 @@
+#include "paramlib-03.h"
+
+int main (void)
+{
+  print ('H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!', '\n');
+  return 0;
+}
diff --git a/20230523/parameters-03.s b/20230523/parameters-03.s
new file mode 100644
index 0000000..14c10b0
--- /dev/null
+++ b/20230523/parameters-03.s
@@ -0,0 +1,41 @@
+	.file	"parameters-03.c"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB0:
+	.cfi_startproc
+	subq	$8, %rsp
+	.cfi_def_cfa_offset 16
+	pushq	$10
+	.cfi_def_cfa_offset 24
+	pushq	$33
+	.cfi_def_cfa_offset 32
+	pushq	$100
+	.cfi_def_cfa_offset 40
+	pushq	$108
+	.cfi_def_cfa_offset 48
+	pushq	$114
+	.cfi_def_cfa_offset 56
+	pushq	$111
+	.cfi_def_cfa_offset 64
+	pushq	$119
+	.cfi_def_cfa_offset 72
+	pushq	$32
+	.cfi_def_cfa_offset 80
+	movl	$44, %r9d
+	movl	$111, %r8d
+	movl	$108, %ecx
+	movl	$108, %edx
+	movl	$101, %esi
+	movl	$72, %edi
+	call	print@PLT
+	movl	$0, %eax
+	addq	$72, %rsp
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE0:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230523/parameters-03.s-m32 b/20230523/parameters-03.s-m32
new file mode 100644
index 0000000..716903d
--- /dev/null
+++ b/20230523/parameters-03.s-m32
@@ -0,0 +1,65 @@
+	.file	"parameters-03.c"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB0:
+	.cfi_startproc
+	leal	4(%esp), %ecx
+	.cfi_def_cfa 1, 0
+	andl	$-16, %esp
+	pushl	-4(%ecx)
+	pushl	%ebp
+	.cfi_escape 0x10,0x5,0x2,0x75,0
+	movl	%esp, %ebp
+	pushl	%ebx
+	pushl	%ecx
+	.cfi_escape 0xf,0x3,0x75,0x78,0x6
+	.cfi_escape 0x10,0x3,0x2,0x75,0x7c
+	call	__x86.get_pc_thunk.bx
+	addl	$_GLOBAL_OFFSET_TABLE_, %ebx
+	subl	$8, %esp
+	pushl	$10
+	pushl	$33
+	pushl	$100
+	pushl	$108
+	pushl	$114
+	pushl	$111
+	pushl	$119
+	pushl	$32
+	pushl	$44
+	pushl	$111
+	pushl	$108
+	pushl	$108
+	pushl	$101
+	pushl	$72
+	call	print@PLT
+	addl	$64, %esp
+	movl	$0, %eax
+	leal	-8(%ebp), %esp
+	popl	%ecx
+	.cfi_restore 1
+	.cfi_def_cfa 1, 0
+	popl	%ebx
+	.cfi_restore 3
+	popl	%ebp
+	.cfi_restore 5
+	leal	-4(%ecx), %esp
+	.cfi_def_cfa 4, 4
+	ret
+	.cfi_endproc
+.LFE0:
+	.size	main, .-main
+	.section	.text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat
+	.globl	__x86.get_pc_thunk.bx
+	.hidden	__x86.get_pc_thunk.bx
+	.type	__x86.get_pc_thunk.bx, @function
+__x86.get_pc_thunk.bx:
+.LFB1:
+	.cfi_startproc
+	movl	(%esp), %ebx
+	ret
+	.cfi_endproc
+.LFE1:
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230523/parameters-04.c b/20230523/parameters-04.c
new file mode 100644
index 0000000..937cc4f
--- /dev/null
+++ b/20230523/parameters-04.c
@@ -0,0 +1,7 @@
+#include "paramlib-04.h"
+
+int main (void)
+{
+  print ("Hä?", 'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!', '\n');
+  return 0;
+}
diff --git a/20230523/paramlib-02.c b/20230523/paramlib-02.c
new file mode 100644
index 0000000..8b13246
--- /dev/null
+++ b/20230523/paramlib-02.c
@@ -0,0 +1,7 @@
+#include <stdio.h>
+#include "paramlib-02.h"
+
+void print (string msg)
+{
+  printf ("%s\n", msg);
+}
diff --git a/20230523/paramlib-02.h b/20230523/paramlib-02.h
new file mode 100644
index 0000000..fcfab1f
--- /dev/null
+++ b/20230523/paramlib-02.h
@@ -0,0 +1,3 @@
+typedef char string[42];
+
+extern void print (string msg);
diff --git a/20230523/paramlib-03.c b/20230523/paramlib-03.c
new file mode 100644
index 0000000..96afc51
--- /dev/null
+++ b/20230523/paramlib-03.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+void print (int h, int e, int l1, int l2, int o1,
+            int comma, int space,
+            int w, int o2, int r, int l3, int d,
+            int bang, int newline)
+{
+  printf ("%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
+          h, e, l1, l2, o1, comma, space, w, o2, r, l3, d, bang, newline);
+}
diff --git a/20230523/paramlib-03.h b/20230523/paramlib-03.h
new file mode 100644
index 0000000..c4eaee9
--- /dev/null
+++ b/20230523/paramlib-03.h
@@ -0,0 +1,4 @@
+extern void print (int h, int e, int l1, int l2, int o1,
+                   int comma, int space,
+                   int w, int o2, int r, int l3, int d,
+                   int bang, int newline);
diff --git a/20230523/paramlib-03.s b/20230523/paramlib-03.s
new file mode 100644
index 0000000..55c50fe
--- /dev/null
+++ b/20230523/paramlib-03.s
@@ -0,0 +1,55 @@
+	.file	"paramlib-03.c"
+	.text
+	.section	.rodata.str1.1,"aMS",@progbits,1
+.LC0:
+	.string	"%c%c%c%c%c%c%c%c%c%c%c%c%c%c"
+	.text
+	.globl	print
+	.type	print, @function
+print:
+.LFB11:
+	.cfi_startproc
+	subq	$16, %rsp
+	.cfi_def_cfa_offset 24
+	movl	80(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 32
+	movl	80(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 40
+	movl	80(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 48
+	movl	80(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 56
+	movl	80(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 64
+	movl	80(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 72
+	movl	80(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 80
+	movl	80(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 88
+	pushq	%r9
+	.cfi_def_cfa_offset 96
+	movl	%r8d, %r9d
+	movl	%ecx, %r8d
+	movl	%edx, %ecx
+	movl	%esi, %edx
+	movl	%edi, %esi
+	leaq	.LC0(%rip), %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	addq	$88, %rsp
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	print, .-print
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230523/paramlib-03.s-m32 b/20230523/paramlib-03.s-m32
new file mode 100644
index 0000000..7d5b641
--- /dev/null
+++ b/20230523/paramlib-03.s-m32
@@ -0,0 +1,72 @@
+	.file	"paramlib-03.c"
+	.text
+	.section	.rodata.str1.1,"aMS",@progbits,1
+.LC0:
+	.string	"%c%c%c%c%c%c%c%c%c%c%c%c%c%c"
+	.text
+	.globl	print
+	.type	print, @function
+print:
+.LFB11:
+	.cfi_startproc
+	pushl	%ebx
+	.cfi_def_cfa_offset 8
+	.cfi_offset 3, -8
+	subl	$12, %esp
+	.cfi_def_cfa_offset 20
+	call	__x86.get_pc_thunk.bx
+	addl	$_GLOBAL_OFFSET_TABLE_, %ebx
+	pushl	72(%esp)
+	.cfi_def_cfa_offset 24
+	pushl	72(%esp)
+	.cfi_def_cfa_offset 28
+	pushl	72(%esp)
+	.cfi_def_cfa_offset 32
+	pushl	72(%esp)
+	.cfi_def_cfa_offset 36
+	pushl	72(%esp)
+	.cfi_def_cfa_offset 40
+	pushl	72(%esp)
+	.cfi_def_cfa_offset 44
+	pushl	72(%esp)
+	.cfi_def_cfa_offset 48
+	pushl	72(%esp)
+	.cfi_def_cfa_offset 52
+	pushl	72(%esp)
+	.cfi_def_cfa_offset 56
+	pushl	72(%esp)
+	.cfi_def_cfa_offset 60
+	pushl	72(%esp)
+	.cfi_def_cfa_offset 64
+	pushl	72(%esp)
+	.cfi_def_cfa_offset 68
+	pushl	72(%esp)
+	.cfi_def_cfa_offset 72
+	pushl	72(%esp)
+	.cfi_def_cfa_offset 76
+	leal	.LC0@GOTOFF(%ebx), %eax
+	pushl	%eax
+	.cfi_def_cfa_offset 80
+	call	printf@PLT
+	addl	$72, %esp
+	.cfi_def_cfa_offset 8
+	popl	%ebx
+	.cfi_restore 3
+	.cfi_def_cfa_offset 4
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	print, .-print
+	.section	.text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat
+	.globl	__x86.get_pc_thunk.bx
+	.hidden	__x86.get_pc_thunk.bx
+	.type	__x86.get_pc_thunk.bx, @function
+__x86.get_pc_thunk.bx:
+.LFB12:
+	.cfi_startproc
+	movl	(%esp), %ebx
+	ret
+	.cfi_endproc
+.LFE12:
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230523/paramlib-04.c b/20230523/paramlib-04.c
new file mode 100644
index 0000000..20b88b0
--- /dev/null
+++ b/20230523/paramlib-04.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+
+void print (char *Hae,
+            int h, int e, int l1, int l2, int o1,
+            int comma, int space,
+            int w, int o2, int r, int l3, int d,
+            int bang, int newline)
+{
+  printf ("%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
+          h, e, l1, l2, o1, comma, space, w, o2, r, l3, d, bang, newline);
+}
diff --git a/20230523/paramlib-04.h b/20230523/paramlib-04.h
new file mode 100644
index 0000000..b86e321
--- /dev/null
+++ b/20230523/paramlib-04.h
@@ -0,0 +1,5 @@
+extern void print (char *Hae,
+                   int h, int e, int l1, int l2, int o1,
+                   int comma, int space,
+                   int w, int o2, int r, int l3, int d,
+                   int bang, int newline);
diff --git a/20230523/paramlib-04.s b/20230523/paramlib-04.s
new file mode 100644
index 0000000..c3ce046
--- /dev/null
+++ b/20230523/paramlib-04.s
@@ -0,0 +1,51 @@
+	.file	"paramlib-04.c"
+	.text
+	.section	.rodata.str1.1,"aMS",@progbits,1
+.LC0:
+	.string	"%c%c%c%c%c%c%c%c%c%c%c%c%c%c"
+	.text
+	.globl	print
+	.type	print, @function
+print:
+.LFB11:
+	.cfi_startproc
+	subq	$16, %rsp
+	.cfi_def_cfa_offset 24
+	movl	88(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 32
+	movl	88(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 40
+	movl	88(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 48
+	movl	88(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 56
+	movl	88(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 64
+	movl	88(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 72
+	movl	88(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 80
+	movl	88(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 88
+	movl	88(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 96
+	leaq	.LC0(%rip), %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	addq	$88, %rsp
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	print, .-print
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230523/pgslides.sty b/20230523/pgslides.sty
new file mode 120000
index 0000000..5be1416
--- /dev/null
+++ b/20230523/pgslides.sty
@@ -0,0 +1 @@
+../common/pgslides.sty
\ No newline at end of file
diff --git a/20230523/rtech-20230523.pdf b/20230523/rtech-20230523.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..f95e0223aa56b6d123607969dbe8c9aaddbc8bad
GIT binary patch
literal 198178
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%0DOfd9-uq^A-8=bJdQ{2%QmYv^Ro9KWa|IvyR&O
zI|ZxtpP$-)@Uh_YMbGNjaBe%fa7T=l*mWWEth+{Mwy1k7-SMaCl37jnuK$JwvrD>i
zdaAZJO`qIkaIrQ^lp{_e>7n7DN9lYG)2afPofo>e)Lry_;y?58;TLXwbHtZBnLV4x
zXa2qD`+dz58yc>2wCm6IyvV)#e5%yp>m57F{d8hwx4yS}ryyUeyY%GG#TyH=nX}dP
zKR8Ke9^SIE$IbrUqfJL|N9ZiB(qex8#iU9&ux)wYLzDM=6)(R29JT!Mxw;zj+_~{T
zX2`sY+o(}kxwo;iPcpy$;mmW}ORlWqNVHXJzgj8x?ew#&Z~rvT>SoxbF+(;{-$c#t
z`!nZY@jBaj9<|42=N0Z=+S2m(txWZbl#9!IKdQN%U$41<DbXy?rdP=H)1^!MQi3;e
zxmx|^yA<4S`1GOpWqV;Q=Ayr*5gUGI#_c@ZF{v<yeOC3qiFYpS5IQ|u>0A2``RD2h
z8;z6IpYDv#I8wFl?z@KLjo0F~q};9uSuXu*f7F?&tkG*?{+<-y&F0~^eDTMV^KxqS
zCbB+0^wapkhn)WW*)j1QZC~e~x1HhMSI!xBB<btA&Allr*mo6e2-*C+iL>LD((T_&
ztbPyv9GOvUCU(SH%vrl;@`MZVk|+9OdB3f`aQ2E`#*z<AW*To!C-L)X6o|5FZp|uM
z8u@;0o5r4wtxxI$TTP;Z<7Dj>Y8MFF#j`)w<X$!J{Qn9cuLa#lF1Y!*IdmV1IeA+<
zD(gq)0!#A%ul;smGVeEU`e&<T$sa1gw9Vr5UpwucmK_<h-&jvvb9q(g?1_o;8$X6m
zpFJVc$~a={P2;kZugdX~{>y~RTvqe{o!?n|_mb>k&8KUAzL=>U9bG7z`zM!6>Y>YJ
z#U7P-*&lM%{8PMN)}-cTJGTTK46<5$dZ%U@d)9(Tof*HpHocfUHL647>7T8iCh|<F
zOAD}fj9fEydqMX3G=o3cOc%}0T#EJCb}pr)HEH<)-l>-~bc-%+|ER(*b8~M<gp^g{
znNK~h3mL6hzp(A+t&2aj=%?)315e)ll?gN4{&C@w*ww-^n{EgGDkz+@W%rlE_ugc*
zCS07(ZEWP(`{1dcx_oh1?`cypvE6~opYg9Ze%I;aushDE`qH%t%u|HRmbPDdbkiZ0
z{b2U9)w5<VY{|S-JENr7)BJXAV0U3nx2;dbxAm7?mqkjiI<{e5vT)C>XH36O|9kd%
z%gi6ue5R{^-MsLz&rhw|K3T9h(RshG<FU*Fzm>Od_rH4Z(#dp*-(-(XbH!s>U!?a(
zeB)Dn@;LH}!LN>tgR?5X&uHcQDX`n%)8?0cp5BuT*e*}|Bec)I@bM<qmgh?X1HMUo
z;#<wB#F{NVL2ZZpZA+t1->(_Ud<jULvwcR_>tDZ&EBBf9Oeheq4@u@Yo1&S0jmcYk
z_x?$4jx`tLYL&k>tz3M~hX0mcKGSbOx9q-i`Twdmy*KGS+WdE7U0+L@sAsQt0r&QX
zm(J=vuPkRYhUzIfSXW$$bMx|dkB+?3eSOEXB;$L3xZlaJH%6SA7{(nP%jGD+zjgVR
z@a^`?Yo*qo+rmEY(6*;;DR<g!4@w_wc|E)7)%1@#ac)*@5qcl@ReJDVeKem%ZTY|5
z!p2{ldMYEi@BK7d$fsB<Hq$=h&bt+!vJESqTJ0&gq&r3E+?l1%(-yNulx%rCzeDQl
zn-Z<msQl-0-sQoU^HmwGlxknEKe@DDAc5tn+^^>kR(3Ss7jcp(usBiW?A)c@p_b2?
zn9X~$+QTQQ%V2i(mun}&duB}z5WF&VZ+Ggkf3@2?KH2vz?6rQia+1%jwai^x-dT3O
zFmWxtp0#*oQB%>%(+%JKr+K_|nQq4AGV|z#tU{$tY{JiLm#)<Jx+!E>dXVEPW9DQJ
z{_}SwuFOxqJyYam(eILCpTY}YE*1)KTt3|6QE(?^SKYT`hfdn7XEW@%n}4>diCtpP
zheo~r`Tiw)ug!dAUlf(mmGDdFf27rI#|hGjrWt*v|5rN1n@7a5_sK*zb)5T?b7ev4
z&AhFg+%`X2o*6d0F1-B7?Rxw9z8<rq>jf|9oOpFI+BYX_hko9Fp58UFzqLMYeAUJ=
z@6z=fs!KTMceJ0=eD&FKeb|)-wRMxuYF%&aD&ji%=FEljuUyy{zrN~Sw|Tz*{q5rG
zx4O&ytty+|)g==$Z|x+t<6H)}7Z!_7yYXY+>$bL@d67RSO0;zBnj0)0$FEs6d)hv$
zrOF%RTvT5LdT){_tui&3@`gn;<$gi&(K_wE{xhXAO^!h_VOR2YIkA{~E?aBj5M#Py
zcZgT1(XJ>9HT}J|;*GI|rXM~i-_Cq{m$g0n$C~mDjP*+t7Np5WR9?NXV6CpVr=@L>
z?wwhQcboT^+=+a2Dzrd5$?ZSGt)0`>^BlG4S|jmG^XJPCVhd-5mRy+mW|Mls6W5+2
z+a#3qB+6F3<gk~k|6LL3-PQfx>C2<!_icwFt^d3d;7--gyQ(7IYp7)(Jim5d@Jh3P
z>}k0tVnZW(l}_oNbTPgd#g`d!qM_fgWzj_MT@K5b<Kuo>M2G0FX8jPdY#z(Rj}e<s
z?6|d2<ko((l?$tHJ(OOw+wSW6oNEEM&o8eN{(tF>zTU4e@Bg#EO04>>CRlmZr#P#<
z_HFxQw)BY`x8C@&fNL_RnQyJTYUh^HFoxZNxmimOY1Apbb>))dFKL$e7h~1!HUA%L
z?P=DcxL+~L`YoUP?>n)+?V3RC)awiGSj0T=Y8Eq==6&QDpPIYti|&&RKP!}{bjCiL
zmA%gFsQJOK1?D?;h}M-Q{^IWzkkZfzy7;7E_rjK#)mB|?YWDt7wf=rZI}=?}LeiJn
zt0#L1v0tuv9$5D8ruS@7yS<P4MFN}M^RL)6yEFz%+&z(U;dS>v_cyCOEK?5r>-{?U
zuF$cpLppclEe|kXe|by2Voz19=8XdRMW%1pM{bST{XzGV&s}@}3iD%z$(LRzYMD8E
zsxH`GWyCh2{`uC$<(WLP?s5uW_wB8FBOJu5_C@w(?{0U8o2fplA8uc8X1Y>P$JJ>w
z);d%MtvWU3*U<|r-tT;^H2=qG``uR;c0XP?tw51$zL5R?%N;-WS@l~6eatZ{mCl);
z*j{+?(9$BCOIFA4+;dTRdynJsotm4)CXBrskK4X&pE*fZ%DV7x*`m3V?+RS4W`Fu>
z7o+aWEuXFaMc?4nauDd<z5LnQJ^R)sKD9Z`Qj_}c;^H}GN3~C?E4_%`z<l@+L#C!F
z@A`}Xne&$HtjDtW-O>=-;&($66E1z9)V%bP3?l_YV+&I_7v;Qm6Eh<-&~fbwgcrY;
zZcDC64cw(Gqb_=T+hp0>+j8IE*mkx{yKHIF@}%2l+S_VZ?|yIjcdp&{>Tms~&n4c=
z=s$}%e@jHgYZcF-G(NRwLVVxW@i4fh$tAHanA<tKd)3ChGR<8(mr8$(pKw=VT9Xs+
zi>&N_`(NyDS+RNNM(qm+<Iddps=q$%shdvz8=o_We0UO`B|dwU$o?nRc=NyT1<l6%
z8z&iGICpS%#K}8X@7xs2_&;5!*r0T?@%Hl2(&CaWtg~jXoUz+thvn>9yFUm-|5^K{
zK3!F;wBSn-TU69eq2Sf4GcH}Yc=5k9V?lAT@a&4e;?6p0@0hl1QD63FcY*o#(t<zk
z%k~RRdiL$vx%zIi-|lNBwQk%YdEu-4TcP0Sox7|)85mkdNzDF#R3cVK;_cbknHm4Y
zwDR)RUL}0zXB59tf5wOBMNZzY?V9?_{?D1+ySKT0@A>~tx((mb{^y)Lb9SQVUAY%e
z()4t{)i?il+VKCF&e_<`n=>P4?3@|dadvLUSzF(=GyY8sI(z!!pZO{e<Tq^GJ9B>j
z;%4QItsB>N@07oA=+ArRYsZh?xI5>@)thJUoPYk``_Fk<9R`OSHj`3SGsEqFs(Js1
z{pX$?{U=*L|II6&FDlnk(^Asd1dRVb{(fKk?|$*DX9@YQzrHVEO|~vhQj_&G<;@h_
z_5aP^{fk{(Wd3;>F<9K}kc`-I<G<C@^-AW}uj{q6B$@x`yPo-Pr<0ri(BaJA^@slZ
zz1iPYZeCvY^R-jbt9q$vZ9nR@G%a>8`JU}u`9D|4Hm&U0{(nDyGyJhX``P}-|K+X!
zjN4mguYGI(d-=cc$4Ba|%N3_7|8sx8?bx~h+IMd7WxW3S-{Qmk##zt)fBN~qzi-Rx
zjk*^?Zrr={ZU1qWl8Fpevu0~D#`>=Pm)cYR@YT1p|22=#OqGdg_+OFUDar7r;s1jx
zYZ{iBeS4;-SAX}r|EW9o-q;6q-JWeVgYm6yXK3vIU*~V!e6zo?{=%}nbLZ-he?HIs
ztNPpiZ(;}bv(B1bJ!|%%b$XUFKD9+%Z!fdC&h@y`K*n$5x8fD{bvp$&9z1rl>78-Y
zSIvamArCf++7v8()}h%O%^C8#>2z~*oBE^9<Aqf>3c5>-oE9%?UD)L5`f#4H*$2%J
z2jUM0oWEo6{ju87q~*`&c2x0t#!d{e%L?Y`@LRO1%{qZaz~;4#thJ`oL%}ey(Ar>|
zxJ3_-)$r~MnX>6?__M|+iMK+@+xYrC+9$uvn^(JV(#6JXyLzY9uUt%{Vx$Bd6Zj)I
zrni)?-EVgA^1264Ue0=xR=M@n6wy~qZx`x!o?C9UD|uGK?>mx9V;kBJ`FSecXmLMs
zY#v|I^v#cBO<ND1j?$5NF=we<>+`5Yfo<ki#w$N6^xpfl?!;O3!)243r`@?3U7t5M
zK{EbbOyPzdo3Hfq%DTPJkgYg*DPq&%TXQbU|9`A^>$>Xh-S&(@%iTE^^~gU6m@M?>
z-1`ePue8@@-H4uYQgP;mb7^OFW6qRc&1hlcd9ljxjAxso)mc@GSz&vPc9<?`SrWdg
zM&?80vAgx_A3Z3Wp#AQ~BE27zCdGtph|l_?%H9+8S};*zQorJttj(q~Pn0sttlSq<
zS`^57)xPcP!CUsP9!=i;b$W1I+zZS9PcF;W25RyzHCe12JLky#Cc%g5e_kc<1v{SF
zq`KsiNq3hvTm1RylWZdIbXV4O2i@(;;R?`>zOzMz?@WI$OS}G(AO_8Ko(I#cf2|RF
z!Tn&v+ADwjCJI<GhzoTbuXmIdHP(rk-m3WfL0{DAES2K-v3ZjYt~Xf7u+A}b`k#$=
zpI-ZrqAu{zV?U?;0;v@J5V!1~9KrXweG|S;J{&gTlVEh-oehGSd|Aa-x;nzPD|t_A
zT$m(pSoM>qv}L7~prPC?@8b#_JJp;du3Oo!+F0}K@b=|ma@$0{cvP^dW$Al8_}7sd
zbYrc%%WU@}lQyS$vi9zq`{j*THmB@`NtXAtPO$Q?o&4tDjlQ#I<~3iu5VoE5-P5}-
z9-gh8nX|Sg_4c(x^&*F7NMD>%CsOri<%Yo1_a3qen&j&~J=0up!R^!6-%aO=tQhxZ
zEkE>n<_(@zAxZHa`m*vbG;)f{zen)dS37)u-MMX+&BCi6v&!=2O&7WcH>-C|-!pl?
z{zQxIuXiOUxouzLZLJcroA2C$LZ-QA4C->DywCn#lNB0xg6+QESGS!?mMY&kN*1<t
zPM0!`lkb{Z<Plu={m(qXr&qn^X`LvTB)z1nT5GvYYTV7tKM|eJ+lBUIe3|r3_XX!0
zW1X^}$8QUH*vz?}Q5F4r>d9G3U%tpb)b!w+c69CRJnNRn$B)M(O5VKWB2X%uecbrv
zKj9X$^I7#%8@$VtgkP#IOPp!f_&%bxg73txpCa$(=Uwe(vA$=k`TFG9In%$TT%6zV
zly{$&Q0n3joAyqA(z+&vO<>hRujj$)_X}6tnfdzG*ZDajKQ7+ae!ieC+<7yDo|pF?
zezOy^>V>`tu8~rI^D}Uf?&}9rZ!u5!`Sq7cO0=Tx#Io?B4;)ha_eP5C<(>TTw%(3U
zTf?7Z9XAN6wqz+S5OJMzH2D3jeg53hpIl7XVs6GhyY+)tI=?01{gGu_OMl<DJRkJ<
zhpEnX?b*j><X-eFv*gbzeJs5+Auv!WBhE)%eJ%Hf({=MJzAbEI{hM>?Bnv~6Xy>6{
zx`Iu&ckA!DAo^VY?eXg>%zMA7Kc9HmzPzcfV7GxtVeMhB+lySL{eAsRlt*dD@>Sf*
z5*=dx(OnlAW4;&&Rx$gz??`!aWK!?Tq{Fv_nf5y@OLJE2PSf*XU*P|f|L42sPtNSS
ze_l)|<BN$?L5#N1jia8rD}UaaU6r)-oc_TL-&8uc_p6C~QF*w|dj5(7?@oRA_N5>@
zysd4uB>#%gs~0CXmf9S6zbnIRMWFAwoslj_mI_TN4rjUPTDFVF!9BX@j`$o)u1!ZA
zo1;vNe;2>}%DX^4;<A_EqSp_UcWp3C<n+D$e9o;GxwU$A-34Yj2mees`{?nhI4Q>I
zKlW7DOaHj3yiawPdg;>7Z+qvJ-(B;8{l;(Ge=M=lsmTXceN342`r}p+b{D7b<*TRm
z>^9)ts~~G|k5~J#h+od#wQ>=Y_5Dp2S)81*$ck0@B9FR(;i08}iW<4DUJO|*C>PdI
zVs|gEb_;uZyD#hd8ivW;Tc?H#6>s;RyrOgFenuU|;uCS}CacZ!;B@fLllAKTxBL7J
z?S=39#1<rT-qnbzycB8B^!56+8`-zTR#xPxn)RQO{T=Am`*PluzVAY3-k3+-_4u@?
za&PL=m5=>Cuc(SRv+u5Eg7W7V8?WAc>K|k3a-?^z>~|B!KaH$e$NwyR+CJxR-t#Ri
zFL<}ch)#QVS$Xo_!@FNEjmRv@-}BJr?eb->el(kGuR6lM+hSh7n|bBcM_DEwTLOMP
zU7wP5!tRdQ!_$ei51t9eDz|><<2lMJf4lnPrb46ikQ8R)BPYW@vxgd|s;fV(vi)^*
z>z@7$7u8mo4!;t{dSwrHd9^?Wzx<^-v5R~HB%jZ?CgQW#j-CDc-H4>>YYx)K7xTAn
zcHg7(>n_LT{QZH;%;e=u3Ymkl{c}2EU(|AcbDZ~i?@C_504<@m!^P#hM7HwIoYFn*
z+3sZVb^fZoYk$7)l-Aa}xYuf0ZSp%eqX|+64@<P{+?Xb`^xxf{!}0Q;A{A!0&p##T
zG5fvUH3_+!i*^Xeu&v2`I?qse55MJWm*kZ^=FW-l@+WZw-|*yB?=NoKZ}Fg%r!GYB
z&LOXDr<x~jTkk6U<7L)K{Wr(u=E_{*`gt@s?2O{dXp2>ryOO2`yt@+DQmSRL%p)hm
zB=O?3NFLw9&>ySwcRylSx!j%YTg+x#=UbjHIavN2ol^h9yCE)o?@9i}`e$1v6q?la
z^D<xc@J*bU^ig-oJSJh&Xy@v!|5dAX=d~~#Xxp%<)JAyYa)Z7$i@C147gy@PmJw$w
zy2AYPSkLC_+wNLdH5^pt@rCR<#(nR*=({6dmgU@<COG|^YW<EAnwA-F{;jKPi{Ncq
zc)gV&|Jz@={QQ0$X6D`hy-gzIo|RZRE)lt{Vd1a2Lb{$YCGXqof=YQK`THzgg&W1z
zPVF|Ic<Gze2BFRCLn9v@b}^mo|Js+~mEVEnQuTP(V6FI7b7sFd6liwJf<Jwa;`L28
zCMJh#+$gw{`f1x^??-!{O8xMfE#k95dV+3Kzx=VgIkJmtY^Rw7h?Fdu{JP0GCZbGl
zUdbebxpSEdivEkvG-eI|w7jBZ$pn6vz+HMiQmSviPn-0gW2N`=^G0UhIZr96ol~AO
zPh?Tp^Q5ew;Y#1iS&Nfa^EX|y5@|ZzeK~qnS1YTSuq@jN7GK-vznOk$O@4Eublv;f
za`y1P3F}i$B~5SVDZIJ)j3tOIMOe;kP8HwPSJFP=$0{0ocI8Yi4iuZPaz@C~1sgO9
zcsuPw1Is7>&bpPsa?auH{Wq^a*mHkdFXM7a^uay7iC^yhd75wVUF5-wpY?bDO$&FC
z{39ZG_pa~aCxVSjYBZg7h4xMRvTf!K>$G`CPyX98aeC+HXK&k5L$uo$o?Y_euTS>(
ziApYI>@D@|^)n}2-gfdtim0;Fbj6jLi;6=_!dCprTHY4FuqF2YLxHt378J=owSS?d
zYix7Ti|Lf^1Nob4%ck*$mV7zLd0d0R?rWLlq;4UHsau;4<VG3Znj;<(weoAloC_wg
z9vada6%7HuC!Q{iNx7MFX4dxK9L9%@3YbcM9qy~N*wAuHy|s){(lJ|W`GYBY4lSKO
zsco6~G*<1o;oPQgKP_OZV0`U(Z$`Fi+GFqPja9nYi?$@$@8wDS^KyCi<t<j`=~31_
zziz(tp15}7Up^sgHJ;GG#~XdR4_F*Ok#svrS@4>~^tx!4&TEdY-bs~=+l>B8?0xOk
zp0pz3o8b8_2JyJ*UzT#qeP3SD75sl%N@L%ng-JR_W!)j`_)NV_3hz|Jti8H1b<6R<
ztEK5F*Xuq_U$u{I)t#%iU2SLVnx`!*RiW3O_3?dOr1!sD?@sFHY}(ybq@whn<^HBB
zl_<fRECIdq)~$_ne(aX_WnrX!ieA{>OtB9KvYljC#cPVHc|5uOe)V?Y;)%N%T}!(T
zZuH)4+Qg+=6Ya<PM1R%$JD;>y`ra>zjZ={dEY*9NI>Y_uyBTv;IKpjLTbbu{^G#g(
zq;>j{&ip^!1!-sP{=3{g{7lsE=p*-JwWC*3P3j+4pH#P2H`Se;dd*bP{;K$P!99YE
zvg#&Nq!ZQVr24GvUX-M2(rrHT+etQw!>X?R|6k_T2>cUdZ0xajoBEpl`o1mlMsuax
zEkx}f+}_rbpK+n>ROY&8B0txPd@1m2)=Fk|*N*wSUC#Do;`23&17y5r=e<r#kBZ!x
z?QL4M^NZ)V&f*8G>P#P^3+~AONvbWK|M1_xcsYXrm;Dnwwrx;9@obaHjg?v16%YP>
z$UVGXZ1v4$0T%=ooG~~#k!|zS>ZEHS6Fo1Ue#N%Dp?vA~?3$l1H07B-{CLFCs?)2<
z#_l5@5b(51%lAX;xAF-`Y=8V#U~->Uw|l2$jmitwi2gNh?`{a6yAW7;UCpO-YSV_M
zqKx~8PKTbn@y1g_mnqTX`NvhBtLvZNQIEdYwZ+i#;RoT<3oB%07b&R<2H0&+&wJgK
zzUR#06irtT^*K#TyB}DI&r{2=SSP*rke29zwbw&3R<Pds_oH=z`d2Qmsq7v__xMu|
z|F@i@Sgrr<^ny=Oae{L{SjU{OOkEnCyXo*vFXI;LlkXl~@~m&yzITl`Pe#{~S488P
zU3%EUo=L_k`CAU$ycjCMr7p8&*5*33^lOW>IG?{+U6h-~92Wa-TX=e^UGy54??3t4
z>UJ|4Ps#l5dpCXFnZzB!Wd|5IpM)y;{mN$Gom~CX`9&RDyY}*<bxvxZ+caahpT5Ii
z{z{ei)%pi3W8!bVy|r+?K=|~!=gJa&t&ZXGt(!OWuG}+GK4yFEcfn*sTZiK7zeD>k
z^hs_vo_+4iLFI4R3H7o~8nYyi2ntws=eK9-1aP>mI8x%}wCbMFZ{g^DjaT!h-?uq*
zM({sZ`uz7gf?Au7HodtuTlU&Nk?YnEUbZebzN*?4rIsI~p!RcJ)tScnw4g_i|FkeB
zguM||o^i$bd4t%|V`1}Bm43c>c;U2v@Xp?gPp755xxS^RtV37vA=mafH+pqa1R@T%
zi|<*wVAl$P=Dm?uIHu2A!gI*)sil3s&y~W*u{YdS`}1Ts+U#^aH{;Uh&vLKsDO}80
z_xsb%YQeSBUPpVqR$9CB$R+;iTW_q}XMcHJ;vUW3kf)u2>Z^8FfA@QIYUi#u%bX57
zTa@hH8z%9`?5~;3O~#0<vz1>Bwn#D<T}n+bli5FCsQGe#w6B=h_a~-~9g=#Pm#a^>
z^Eoyob*r8$2!3-j^+V0A+(723u^P`b4{w_>xt}-K^t{lkTUse%^$hQY#IMFNU0d{i
zs>b1mU0tzqmL=Z*)~u-x&WU@Z@l&Lt<v?|{`^`fyv?gtk_;!DNe(t~Lo#pd>Z0BnV
z`1dVdezD}iBvszh<Q0<pVtKhzB@eN!xti*A<uL2_yVkttXQ}<181d}u+bby-Dlf78
zD4p^_RQ7(;oI_m75o?!w`tI6e5EAfA;`@=1pd5b1^IlOU|5m86=6?Nkul&_5Ux{Ds
zFFwlZcAO4Tt91@IGgBnyvZhS2)Xch)y8k=h#<S^h9JuaTyy?1zMoa$Q=!MbFDGy&>
z{im_(_EFwBPj2!zJ=af?&RcJ*a&&^hv8$W@E$mO(7M5M(qxf5B-pYi9;pcy@NMeZW
z?3lu|Ois<s@9$-fGM(7vCOZ=Dn;#PIy}F@7ob}(9>V+@1n6|I0mK8PCJLaPx#67cn
zPpW`*%=$gPtGF3DLQD!2X3V$Q9>;g%hvanrzcVFlJ~`BUf8F2xZb#S|^=hZ?SI648
z73SR5VEz>4zmd6Hr-12na`HM?z3u$L54ZZS>T;K}31nUwUUQ)SdBUD!^R;U>R7mD#
zP2f1A&f3$HS7FC9r+N2cUz^Ci{`>~<jn{=|*E0tiGo}4Zw7JlKis52Q_SPAEy4Nor
zp0Ds+@<`Ff6Ay1EC$5ci6tMW4eCya<KRwQECU3fwr)}ku3KP41`MGC~&-DqsaeTtb
zjJL1F?S2w8Dc*%yXRUZ<T9gN)qA^32`Zp;L!((<!y__FuDgBuGPIQ{S{fsc5L#fjf
z59K}MZCsN1^!a5GlkE3bUs<bMzU_Eu$6rpipR<;>c7H06`h0i0!?WcxWi6wtD+&)s
z73guj?*5b7v|je<%D^^lg{K^<CsWq>v~Vu8JZ2+b^NoM&Oa2@iE8*uy1y`Tx7IXZw
zaMKFG?I)vl7C&$Am6UUCJ-l|Bm@~J<nPtEK{Ccx}ruFk%>z`lR^mxaGCwKL(h_AfM
zob`J3JNFwud-HZ3mz1|Fws;=!;<uP?QBZwpyPnJikM<YFb4~^SyvXjqhevkd&y6cq
zDHNqkF4A^#ns{(+SiJw!p#9fAFH?WiKSeRnF78`&yjsVDDWxvS4s8FLf1H(RFSmGo
z*RhgSZ?4y|+(UCEj(*5he*bnwZ`za7qH1X=v;M!n8)A0;&PUnv5C3eQn=ZUedB0Xx
zhQxB88F{N%LuN93oI2rgIj_gE{I#p>s(pRzQxr8nskYf`N{Ku@x`9ul$>sE(<g5NS
zdBqka$t^!?FSPUPulAzDvadI7;?<37-JIc<Av;??K{+cw!m{<pvG7Ya9&^^Y6jYy>
zH~VqMN8Xe5y)#+Q7j+n|*V+*Ij>qtUuG_EnGIo~izk3+YxQ46=VSBDHeQi{p%b{a$
zHil{lZj3qAHve14$KKbQllCU>cUapYQYm+bm1UN0#Ql<+7O5N?&-(i<{VgaVbujnL
znYwq|YdfB$2NkIqb1UAOY?iD$ahkk)mGkB6B@Zn#I=dORy*`yP`{sl=NpBxDlR&X`
z*R>_*8(!Kkd(F?c??vL5+a?dbv!0e(<lk+h@Z#)hkwP(3pZbHzs^WPZ{Ty$2?&izu
zs{|ZQKP%C<d)Cr@lIOzXox<W{=N$3ezc7_E=s-g5jypS_e0^=WUsS{J;>EY?m8LHE
zJF{k*<CXIculP3bM?2f!;J@P(nZakRTflCd!RWa-SxV)!+593Kjmc9buD-f)w3VgR
zOj{t5Poi~&f@7PL>14_7_I+n2EZXqx;T0Bj!RCrkW%Ce2;dzalW|$}D&vcZKNIiAm
zWb5DLV;7ki*8P^67`C02<=+#(1&8gezPeX^R*#>ZcVmvFdsb7%Gq$@=UOC>MFF39B
z;=gaV^}k;FGEM4TWwVz6*QOgEY6BB{mrM^&H=61(Y5A(iSGM&PDhoDTuJdIG>9Z(Q
zV%>G`#k{EsZ-4h+d2c##(Ta==M~*`x!plo!`S`SE@84Pe{n;JUy1Yl5MV)z0zFSwU
z^6%T)14(UfwNL%7JCRqO@;fwT7x&p;e|l#h{&A5@O}6f<TdnbH?u!Q|zx8gDY7VLC
z)DYeL^Y)tEbsuhUwEMRl$qQUoul-TSVN!_Iy+8hQMMS4D96A5+<UO-1CtilfHF?UL
zRvnn~kMSbsvI_6Yl9`)oX3FZamAPitdcM@U-&!eQ^N=f@Rd5Qo<zeBvO)q8Y9QQSg
z?tjJYsup=Gwyb`e_K&K|OF3kktORWuqCYj<K9Z(wA~(6ud(VZxCMt}N#a=z$a_>*h
zb?vP}r+e*G1XDlxoe1GHm8#uxdEp^H=f5@zzMiF?SywxA&Q%9YU&grO_MFcZ%8&nt
z-ZEt365M06hetkZlES{W+197uce`HDQ%%^FXuicNJ2B1u$dl`5d^46@7jc@Nuy^CD
zA2l0JvP{>H{cr1(^-XY!qr#h8%ePP7ew?dkw%duKnP#a~GmgG#(Kp(VxyyO>p5NWy
zs;^vM_V#@px8*C{>09MiFY{bf$F{4Bb?xy@pI;=s^*puuh5Q-rpA#GTgJKou`4}l5
zl6kZ?L1e+L_gr4;69r0G!#UUO(R}hk`Q(hc^*7IyukJXt-)8@cIWkrAXT&u~?w#TK
zIPcEhkmA++l{S)54_3IGTOs_>to(|<YXd{94YS^?O$%3M*~_uqage>#^*Z%w_sMUO
z^G>zDF-&3q)${hw4!iWsC*k`HALhSN+44^9@%t@h$JajCK6Bol+ev)erI)(-nBFqK
z$Tz85<!E|<W@E1NeW^DQ{C*m8Ep^V%zX~)@-ff?#=B2qifl<Rf!6ZcEmE4(iPE!vT
zcHK4F+0hyQX!Fei+Zy|&b9vV|`}S?QUorJj_X|~}IXcb7`trOcrY1I-1y2mmnOnBZ
zVLx;3azt^TQH@74f7>;)xd-B^r3Dr$Ug|lm9B#5XVb#57Pj?)aFX!2Li$!6!@XpU|
z<q?A7tL&zmwXb)Y@pHnKbrV+K2sAL0&WP+hAaU-Fxw@5ff^qoO#30TC^K=Sgb{euw
zSUt~uzRLOS+}eN6ubXhLZN9eG;gu(aX082t{hcez?0ZLVlwLT+`9~*mZL~<9@}_gw
zg<1C>EVF-YmHp-MGpQ5nRn{<=O}HB)^dj_zPk*+3MCPK~E}Hxt-#>hcb-UoY_1rwM
zu<t6D%aT)1Y<#||drtltUB|OAZPR~O?KJDGvGxy{#vj9WS|?|j-!Fzw+xQQ;-*I7o
z(zK{WaCWNp$JshJ&CI%#Ge6n=QIvb}?8b_TiKgc~8qWn}hx^OEI3@r0?5S1f+&q`^
zs;*_RWB=OnLhHlHmR$#TPhsimR<UK?_#|!VVO}|ogQ9ufQeDp<JYB|e)vzipKR81n
zFKS|4mc%We9S6TLG|A3g>Rr6^)k?PQU%4+_bD6jOEbH-OCYA@+`iZYtV^efi$xG<u
zn+xR}OQ%R^sy*K5GU@yK6D_93@_p*3T?|h8yO=m?PrmRn{@9LVdHN!?d1mDTmo8V_
zbT%uJd&zy_^8AEP|Kg2#Km1*DkMo2;qS>akC6<!0pH}@$uD`ZhoS8eyEILwYL57`d
zXztYwcI{2aV(acseZlLg@x^n(`Lr9ljwOeCMI!y3FV!wMecobn|B1u;<>6J@_1=fO
zZm9iV_OP)ex9N`&Q&GyXHv8HGC7;Tol|(gC48CW(Im|IF-P@}Dg0pzqj+bWLt|@Q(
zBxZy^4O;Z<{@ts3)`t%Uect`$AiKT}fA7JxqZj5sE1UOyuf<co<)L+F_Z8oo_|#jJ
zMe*5{to%pc{^o9Q`+T`j*G}y%yA`+D@y@3|{6ux$%f6~gYMP-p|4HG&x9x>%X8w=#
z&1ZaE#<=69ZAH)gzD?0`cC)q};;%h%pY71L#obXJL8VWpT6d?$dMh0bO1aHfZRIrm
zXyDJA3ani`r>ykZbIuCz>HIPNV^yvE|Hp1m#-?w%VoeU*$2Ta>_*x*@`ggUw*xC~J
zE7tFtei!@i=fBb&_h{FdQkDmI&&nT^P2zL5Tw&F?#!Pa{Y@^Hzu76yauA479<ji#R
zarC*BC+3^`txzyn^2hCXjTJ|i(GEqK1k<UO9t#dEOyT~v^31WfhXcx@*%r%|6|e~R
zN6vPgEwpy$(bs#<=svx;T6~$$v&oXbZ2k%qa91cMeKhcwzwTRkW{UYH*JU?MkIw(`
z^o_^CMGKnbtv`G)VJJ1IpV%h8HOMn^gS`BPIOX>e#Yq#2Uv-u{)ateGae0`y`*@ko
z^?Mc*e4~@Mc251mY^bM`Q+ZH4C*wqVd5zRLw<hQLq2kw<{hu{gJ>hItQY#z(WsA!G
z1?yb2jy~OU@AEyT>TNA6qRi&lPCFN`#HskFML+5^$6+20e|?#md-J4q7aXftDmnSa
zm*37@dN*wa0w1y&{n>HZA@oDl<1I<~tNKiQR%jbY%wChTKV#-^0kz%jPj6S5{_EK?
z^G&rG*V=y_dJUJYQVhS}eJVbQA#QbEv$A_@`MNZ{=v2{*7k=rehUlu>T-DqgzC}d;
z(+`JM+pGh7cw#sCanIkNw>Li1Qh#08^i@wyzAZd#^mtj~+^$_Mb$=b+?bY~xy1(e%
znt=VMZoK>&P%eJpm7d3cW_f$94gU(GyUgysVL$p~wl2eNleja!tKOVCF?+)q3H^sn
zo44JFXv&P^aFg!JIxQ8}b@%PVLkB;fs?OG2c6Fa<K+Xw+<n-cdwI91*hRQ2GH7##{
zmj9~tZv*Sot+s}Y&I@kdV0t?@@5p=kUX^ecljzTl58mBXKfPb^zKP<o!ZmMt!VZU@
zonMul`%E`gBE;^iG4tLR+s|>ZinjS_B*^ZOo}GD4rb&0k$K&o2#+3&wwI46~%O~`4
zx5+XgLAUHBr=rwtQi7z`c?xLW2`@K3vruf-rZf>_@8<lT;|4Dce~Gw0o>E)2+o1K>
z)UCS`J$9(ies@LNa@*%k{!FJW@Adrn_u;Or#qVX>O0mH|S6e)tZOM0PANPO7@|R-z
zFEfgGG+!@Fd>VA_@6XUxA+opMXZuESYd`f>s?m6~JUy5@sZ2bq$uOWXq3DRv`$Hde
zjC0<;kXRAexp22n{{@>CHNI7c=gSLcZT%f_^scag<Bt^~m1zZUcU|pp^jfv|NAc=H
z#-N?LqMw(BZ}9(GQLl5hUi-#G4PVJAk|%i=-cr&(KYM=X$~QAE3no1=-(qUHUu{d&
zTZLKCPMZQI2(Ocm40S!g5y$At6qTS6b@zNDlNi@zPYE9}4Xq<e)lVMHu@-)p&Q<k5
zTqS2o{>EsVT`Ydaf{bh{@)Nh5%DO#Up!3b*3r`xDJ<Ox!wpV<UK0G6H>g;Ospt~$n
zIB&RQPSWBF6P^C~mTSi3q%Cp(nnI3e=KpS<yDv}l7Z1aB&FNxy&eUuBUQ#;v&Nsm)
zb$Pkt+N+YvQ`#j|Ra3SFOy*`Q?YebhW-CwgnX=g_M<*?i<GQj(QeE|q_|pjnI~*I=
zp5dFHSIF0GEOL_9tmKE~=czwG@BYM`opF3Ycat4o;=_*oUa#y!r~0mxtL{5<<E6X-
zhqtfX-loTE-t06`Wtx$=`*Q%Ns8FHG^OaSNa^J6Noy%=D{CF&4eb^48OJWHxHZ3=B
z`nE4}ovD!4sRf$5dcQAEWc#(O_rT1<y5Uv%0rL(g{1nmHm@85oachd(yleL@T-~)E
zSjMn({LC%%o3MaG>FpaK&WXl%*KO<1<<_rzJVDhim#?y?amf@Gu6{L^*Lmhfn&QT1
z!WQ>sI8V)ga&f+1t3lI*K5Kz>^B?e~zMm<+PQ_D-G0MPXImiAPS$*v*`AaUi>{%vy
z<NE8?jX!1`o^)o#A?J+c*B^csE?5(|@>qY?rauPkb)At?`Iovr8M9tBzSi^Nzufx|
ziEBL!*w_7BpwzRcsdB$N%MI=u+}+WiSp57iEnJXt_t2g>#gEc#gHG<8pTxWBV@Z*=
zW|umb5A$WWX{KCK!B4I)v7Pa#LFQuD;)5qYb3DkBw^4LmY|6AqS+25E=Y(0yZl&Uk
z;DhxwhUWLuwYDEG^R=$pWb#0wR=9Wi%HkEe%#C)LGAFmExa3dsj67ShLg?-F?vR|W
zn9lv(S>fut?lMdlVAEKY_996}`;Fw*0LO%9XO6Nb=}qSqy!E=(bA>3U-<hWzJl!`d
z&di@_b?~H)l(oQ|mv*mi6@58aZ1g=yI`-DRR>eT0vu~q!#wzU-bqYIpyXeJ@p63?x
zYF;}`p0SQ&Df=(I^!ZlZf%A_3v@+Uk&T&RgXVR5t*K@vYd9)*KqVug5zjw6)#fyXv
zePXz{T+~nA=4hFD#Vy-jj@He>U2`+l4;`QCnRzlXHuF5Apw81XzEhU0zV?EltIbvK
zLx4g_(AVdBRwWxZd2*&~N;OPKyO=WBTx;R3$DSP?iz8yM{pygleR5r)OHSsFD)%nq
zx?eGuZyHuId~>(ai1MEA{CsN7bJ1GUT~UdDRFpM@SIzymFj4>2hL5M1t}gX|)0K7S
z>g=`0vhTj@HR;gia?e@THoZH#F>!g<os1%_MaTF*-sWHCT%V^?dsIPX_R&C=8)3DK
zTXIX~%nzj~M^**SXR&RTl=wcSuJu}T-k!3P#tvWRoOaWGBKG>^Z1xndx*u@~PiF1d
zl;d?GnmhGCzvtCoYqnhen07T?RdI8_?aS|)V$bBgoc^6o`FnTs+JGK~NX=|r=aRiI
z4Er+lu3!7~V}*C0i;L@``~EL>Kd*GtIk}g~_L0CwEx#*4^S+5_th&^%eE(0M?3^uA
zoW6J&KAig{U9QOLNO8p9#|}**%WrbY2;EB4PB^ps?}N0P?;DFc+oXL<B&YbR`U~%Q
zF+-KNZr|LBm9y_wuefnP<05mP=llmMLT|1pt;@0d`L^Wjjnylr9cZ7zn%VQ`>-Ejw
zrTPnuzD!>bos+QWsB!Xsl?kWqs$+dSeYNjj^!q9?b@Do=Ef*L4`;z<n>B?fOSH;Rg
zH*fvCCp*Da_ujJmOv)y4(}U}^HcsE>`1G!9{G;~MR}1~-XmI8BR8Qb%4a>DyesOid
zzks)vqC9tNKTTc7@zLzPeBh65@?L_BYbNz_2{R?SB^WJS>iT;_Ztu4BFPChxS#)y#
zryTDSm2NzXV!y4u;1I)Ccq{+Y^WuBbhtvJzGGteVNtsq}<+?W6WtmEr`z*J6tcrJ^
zhzN$<Z^_`|b@jTsj_+oDc6#FZvs0f~bFSXF^{C2{Su3kHMocYFmF1GpST<qz6x*{s
zev*ar%1_F@aeDhkwpQEc0(;rg#_$`*ez`fQP5B(?#<KeK^$@GC)ArfbInLAi{9xL(
z@12)BCf%QsSsi)v$hJ9s-YYA&uDTWeWn(JKmdEei<~4es&ChrlmzuRZWMe_a;$wl1
zb{>aY=dSqU+2FhBK#$~Ew)%v?)JD@u>r5}?+g7FgT{S(UEl+k~H21;+(JP0=Cqx~y
zja+@)MuXwn>-#!F)tC3ZS<3(S&&Pyi=~Gmj`YQU5o#|R3xkLVu$C^V)yAKxeg~VUV
zQR2~c(|P55d8tQ#ZPAs(_opw}bhjts^|G5kb(ws<4di_@8yB-O&S%=q|B++kviW&0
z9UTm$#6KRcOX|NLA!K->&-3V)M@~MIj|+c)J)!MLz>hs%D-)FGADh>h9H;YV*TJK=
zmt3<tA5{~p9hv-Vs*zb%!i!Iqo2%!FwD|s7Syyq%-6O<CgX{Gb4!H|LJ>LFng$*}9
zdiP3<BY!b_gn+r()Nb#IKAA@k1uVZ_m{L3Qu++1_^MbjyS67|pmwo)4<!aUaDP^l&
zIUK@YOI}EsZn<&My8l847fRX|K43Z=V;!2lNOM>AhYfaIzAFyg^)4}~^xkIp-hRrb
zrSDjeb@EyGpV)ri%5dU=u<sqIJu)4pHnSM&udu&caNviVtx~o?vZ#)x{d5H@pW_^}
z^rqj*6)Tv%{%osxn0xonM28nKlP6Bw_4=JkxtZbXrCE*!p8J=)V4Aq(Sizt0FS}l3
zSN88Z{H?}ws&L&gP1)`r+>iA#m0oyAHwG*X72e%4ZRs*m$2IfMOEf2c;@jgJ5ui59
za-Yw(^D=VZ4La>MKGI#WE%D4kuFl;e*J?kW?}-WDaJ2B=XP(S6LUwUF|F2ldt>BQp
zYtec3Y4^AL3D+4v_$p41%W)NMS^T{7luG#Wzj8}IitjOt=smgMjJTQ3k57-+{s=p5
z8#J#|)Z-xY@7Nz~_J(gt`GTe@-F~OcBkaSRw1h`VXzzwe@!O8C=XY}tyY+U`k;h#+
zvp2>usc*dP@%Pz9OJ4aUR(jhVRTl6lGlm>{8XZ&eMKUYGxq9v$q2&xM6RoAx5AK{D
zvaIgu_s^{bE;_gGy9)nS<NiM5$sHxJ{XDE<8``#NlrYPNPpmT9mgev8xN*`3;hh5O
zOrl?x-1uftnta=o<==$~+kZN*KNWS@?5RPRN$T>R7XqhT9k+fcay59=e@s`&W9?iu
zlaRN!B_+eo$}FCL(Ob<!*lA8%*Y|^$8YX?|m)H@y>2&#=n}J`7?KjnZz9<<nXF>7o
z%<0!tit;t~XWWzi&UEkh#<Zm+*&%Wdo-I$7^mAAn<k%D&_jzvWzr-)@3$^y2U7N9C
zy4R_DwNE$1_npu^p_X^+@Z{phS7-RBsw_8Ek@h*_$~b*z@Ow`2N7609!hZw4uGIf~
zV8@D+?|&=&nK<`U-D~q*949%09&-Et<DLBYi>0*b5AM0Vd>0n^Z@v(=^2)>R%>|-K
zx6H4z9}`R$o2Ys>DEHl!UiLeB*I6{HU#x$yAz$fT!OPdDC(Jw^%db&eA^zke`@`!D
zVd)K%`mz=aRMo}h@9~kk&Hrsy^^`|{C)O|eG0)=KM9GwS)_47rH#Y7();r<Yo!2qG
zE$TtF`WuAqFPW5LIJZwNy25BK51+be=&sPKmk&vctvGL|U&da0(Alf;%JrpX&XP&t
zwf~>^{FmxV?fu*9wq(7_BgeHz45KH_YxVfYamxF^@9j@77HvrXWV5XH%8ua0s?v2&
zA0N#1(&e7M!l$+U@JrQ9=1ZFbqDxg4Z_nZ@mg*@_G<v6Fa*Cl#!_x1<k{PGuv<m)Q
z*4wyaex~|LzqHtl<;?!K*^hI7%X@XizVYCkIaYV>UsX~ql69`~zIArR{GPZ7hYKt*
z*A7HKF}~qkm9HwmHO*;aoWSAVW_%xR73jrg|92{}tv(sxE;l#joAuN`-)DZ#{MvAE
z{_SUTb*@+}E_wew?v(A*4C9%%Tg`to#MdcaGYv_U&9XFFxczzfyOY|-<8Qxv?6phB
zFM#FhKS2}8D1%7;s%zQxZQFe}*WEj^jCbyrBeB;CW>|J*&RuZ-$We2l1}pt}Jr-?}
z-uVuGcQxJ?2HmLo`DC5jjthoYwf3rOUc2l3`qR8y*<8V2E$sblH$}_#N`G5_WXY?n
zC|5J({1yJWEZ-e?<D@=MiRTNi4L-|z;tkh?s_WnNBo5g8Wz+SHe{Fcw;L?J7T2?kT
zUwWf6J{#s=dD-ewEGqQAl>7hh=*@oxw)|bt&Hc(-aQ2MD_ue;aF7q&Hy^%0&^4g7C
zLuMV#6_&`pG1dBw&WfK(CvrO%GmG;H<R6@xF*|q0-0qsyo91*Zthj96`^0M3wU^gF
ze&5P*SU`q<!#mw0-|ma;j4HTbvGLEV=Swf|Ufb`vY~j<2o*yDCD>uJd*(NDgUvvF$
z;9nCl^Y)y6?j-Z8H#9sB{w`=;chTt5_lkyyuUGagm+3vU*5^&vb2Ir{wQfs8U#zs*
z|HDLT$)Zl?>z@r9@0K1pE_s!|C+qYt{nbSs8`nyA?7#G&?mAOF_g0(UJWDZ^Yc+!V
zWO<y;6{hitm4ws;nEo!xOx{yv@<ZUf+Hsb2;ew#~_w>R|PsUw8pMB8#?slIC2ix2Z
zT$-KxOY;ST+zDNOeOuFMoofWlR{LaM3Aan1d%9WeoxOlV(yNsMg?zj{xBgao)GTD}
zk1M~u)gY}{e}B8~CH~^`t53_CblJ6r@d=l-+cyhD3%g%&(*AO}wpzwmz@gYI<kid<
z98(YcI5~%p+3cU({Bvu09ol;ztyg-xMewB9&A&VLzO*k}zci@n%4V@6|ExOgR&v`(
zu30k4RzSk-gQA(?*$?-B7dteY>CGzoz3T}7^yHq!|CTe>*2jJl^($#nX3Z-6z<zAk
zfr)y)+5B7I6+XJVc<qeyy<KrVQk~DA7BR^<1+9Pf<?};srS7o3NoHH5L$5Drd)TdL
zCFU5Wm)S9|Sz0dbnc|YrrbVJJr(~>|S8Lm#d~vVSN6ke)zH52AUr9f+iur7Mx#N;)
z-uZGq-S59XeDnEhZr1`Y=X<?v{DM2Ya{B*P+-CMxo87}+V0q+}PJb!qPm`(z!g&if
zY?AOw4s;On>2!MCv-STp_q#%~54pGMPjB^Cd3Eel9q)2(z4wB4PCM*_7ZsRl=1w;#
zxZ&)O|3%w(NgMC78l!u<vlh7?&ABUg@N>)lhdLiVz2Fpcx$XL4)z(P{TYtPb^y7y{
zW4GmdQ_awKrLkWZos>{mnBDdGLiLa0KUeH{_BJ11b>YT(x!lz3LyvUlWF7x3%y^(>
zY0e#yRn9izr^_zxR-EmVZgA&r_2XX+acNot_3aze_ns7tbo>?Ez*YZ9e2&3OxsOtI
zf^(9^lB%4A<hAzMvMs39Klo*ZAkVRFCXSo8Fx1+}uD`U%&E&$>I{u};hnfWfRy-4Y
zpmaMUc=^Jl`X+|cvv#-a`+cNnXWV<q>{-jN2Xl!vUA(v;O7V8+o-dYsSyzG`JDsc7
zx6ZV@d**^+!N((6pLH5i1@$>JKOC3fJlEZ5{xt8IUvvwTle+Hap!YNTG}0}a{WC<a
z`W|~$*|%i-o;UYy{C?NZEq%)I)!f}oIyzQMg--G}UaZupKEZcA{Mnz({c9d`oIWdY
zxAR&2UYD48E`m;i4Xk=a8<y{=<h~x7c57o=yxoSM6H-kdJaNppozHumL*f7F1m^5N
zHM;vdtjjj+t!obByE<W#o{sZ#%`=-{zq0)Q_rtN$qZjVJ3aO1vF00*r)%0U|ciHo)
zygwgzhLmYOpMPxSU%&SI9$I@?jLSbcy8o0DQoZ#0w@9CW_gk^qcCV^3PN&$X&H8$_
zjqQCG-#RTPj%}hhDwl3x^pyN|qd@)hDW`=ej<5%(Z?<pOoqK7YK!Ntdw`*4?&e+~|
zq)WolU1jq2mf!V`9!YtR9?FFL-KmhRb<=R){+;p>ClcK|m8&M1E_|mo>7r-(?EmjL
zdqt!_X#~|B?$3Jq-dTU&l<SWor!p6Pe`&d^-Y@H!+Rns9U!7-_m`=Z<wOu>$ZBJy_
z|IIt6O1boKy>_puc>Gv$a)|Gbg)FnKHYz-eJ-Yh#&AP;{>25hjZ=O8f&UewP(M*$T
zvJ3aB(jL40*@m7^e5Q8={=Fnp-0?nq+aITvKLM6JSxby{J~=&F6xUlIedVCbgw@$K
z=Is%G>r^D<6=nC&>WnSUF^Kyx*|F5csBDFEme?Yu`Lg9FT&!QRak_OWZdt#2_r+aY
zOU`z>%urWcJ?pDSnBTcDgD6oB_Qy@7LaR30t=oI*jePGUKc^QKMjNcY%ocF>7B|`U
zY|2FAjA;^QuJK%vJFq(Y_lq#m2@2a;O=KhvP301JJn5HPd+kN-zD;L^!|zAhgoqcs
zY)?#i{WM%!%~Dof{DjjBt?!eKgSS2|uvph?^FhpIqIu9FIf(-)<ziN8X&u{RFK%Z!
zx$EqSHYMTp_gyv~-)p0}mt}hElKi)8ryE|HICH_DPaj|O->r4I8~?#+^OaE6ce}W%
zpKoE@V3!}2d(<mHXuk8B!?UOOS6iu>&stZkBKSO5OX<qTvIQHiFWhLI>$B$l%Cb|H
zLLc|rm2%iym|s2Zb?V+VRonIx+f;r&_l(j1a%XK)^W(3+qMv_8IesWD<#_JN$~cXI
zzry-WkF(!AX@83e+|Dy=&M$W_;hyHyI)BH~m&KDDEj!9Ce0yp(V~JJ1jKbag9z(^q
zy^Jl>CN#|PveCQP9a?tb{m~mb@0Qz}D^CzGN!k5r-~ErOpR1!qq-Ols^ldNe#NQWI
z$G)8*D>i+~7pE;3=kA(xVQE#_)Z*IM(;)}H|0&{Jv~*8nZLeJM8|`Ib-%KoPa|GDS
z`tD9Fb3SP+9h7`rVwTcW+j|{>&qCCTU#*Hf5qZCjImo&0!m4);850{8)t5efbM_s-
z`x5(W0pScw<Ck2Vcg@oO?d7XlGSe2=f0ZnYW_ew8X#FXrsxR9X9$xx$^%rig7rXB2
zFWS{BB37SyUTwnC!}INL>zwK<5c!)HZ1O<azQj=B$(adX%QRV}ON4B>Hmpd>e6aJ|
z`DvBY_nfk=m-0KUBh<9;vU$ZBuj^Ai550VId-Yt!M~oIWM;NAtUYTVa!JX!KFj*(R
z<y%Mi$IaK|{<UOm^E*0e?KL+YIfoCKbE=PQJ1RN%Dd!ILPn!<Tu&U|&cr1(WlERjG
zV%PuOxw%00;nH0(e-_wf9hNImP`J{zL6o!ivS)(dwz%DOMlYic?!HlGt2J>{Js<td
z?b-PfUx#CSCz`)a*}Ij4A@=!?9h36cq)vCM^A|sv+aVI$rng1a`Rw7(6)s!Pntjrm
znjm8O&q~xYXWB-~rAhX7VzH027Ef3<L(Wu8h}nC;^qmK7agXh+3WL(!xi2<1t~_up
zdY0Awn(X^J=c-Qp51QIE&uCg(b4qh#lx0}xAJ2(_e!us+r>Fa0sor!heyjYMB=sha
zg$q|WCdVY^TNE+On31r1Ws_~6(#yWh%>q}1g|CE%KRob^L+rKOOYZJlx<}=8cBm(K
z?Kk9M>Z@_KShaRr&5`GiCi!m(QP<cjE5nd0Zs~t8I8R}%N@DckwH+HuFSng|Q!n2C
zucAsbjQ>`!<n>zd!tPg9k1Nxf7T*ig+JDuky6n4kw?J1iTjt$ezVm+YYfp&fVLmhe
zJWG|CF~cOo+A!m+349{2q?Eemxx}6|(#Z;K&V6s}(egg6aMznf+r*yjQ{8!0bep`~
z(UR<Hr>?bLR!2?e38d=HvSlmKytZ%w8&95&c#FqLM#u0IcJ~%7EYwb@y0>%PQ+?}C
zZE-hm`dsH`tu@@QyIo9&N8{ktQy0yzm6ar_{!Bgdv_L82wO)poNivJaWB1vLC!WW@
z@e%YmZIV^@MA`fCMZNH;ANJ3ZR=#zwPjCCgPr+vveO}z_!!h~o>XsjQUbB4iJrtSJ
z6PmRrPyY32#$(eXYpg%&E%Z@-S22+}$nK2%zNh)O;u)(r9aPrbSU<O6zFFzzS+{38
z?0)=St<mwZnfirQUvG)TyxGrDknNOZD)F~-p=N5+C(Ahvao5+M3Hq<DRK@nR+g8?n
zYvGNV{vTG|S-f2-sZ}JEbrtK^kI#dnTCaRDGOA2_tXVX1g|y{eo}JHDe+YgY^@e|~
z(3$g$i}wC5(D$s=c1g{dE-N@cjN|o+Ukh?Wx+du}tcrfx@aV*&0=}ZZ2KRM!of+c~
z_TJ)HX}jLdW#5WMDc$|bn=eJ3zOpgm+n4DP);j4|!}E6jy<1x&^<>Zb@)?0S+jUj#
zc8E;qzqDwRoZa<Rhg3rr<u?SbvuF1dFLRmtW8&uRYus0FZ#90>)gHNQUvAm!gnehT
zi(lnsE|f?L{`hV3#JC$fLoGu7{AbXW4ETp_Yo-y_t(oTLh^?6x=7v~zW?Gt98iO}x
z60tKgcS~u^l-u|0e9W6n_zb6%l$Upwa4;P@z;l-8(%l6m*F8KrFKK#Qzo02QNvNsh
zd4KJ<;(4F#p5LASyMODo(%S0S*J+C`UwS%)^{|eDm%$2cb$#)EiGah`E*?7TD$Y`S
zb|v%1vfxryONRLzjskqbljp5n&HO~(cb-ROI>(8tVr-!dJMC`1xVeMzs^d8aJ2?gY
zeu@5$84Twy&ujmGzs(@saKW_AYn9JPuV5`~wXnY7G+%>t#?sl!EU#9*e)i-^0ypDp
zhnR%CbJGOG4HsMuZv8(;QiH$vQ_;4q+X`7Xy?DJRF*W`95B@{iT3TFNKKwFg4r$nN
zBg(l^f4<o}0rnY}<8RJ$(r{iN@O=59gY`GFA{#{xZd+Hsl{aN$VQHz*<7Z`?m>lOB
z=!t9VX&jk4`|HXGSB(g{XFtLj#OLgPwmjiA&&HapGu^-Er)BWBRyx%Fo49FHYt#R$
zayQO)M$2dYzQ?<0)dzb%e}QxL2H73j0TbH$-KV&-a8&ZQR7Bk>_&+u3{Atcl`jfuv
zOR%v1{%LV=PD7XiyLiX^wW3cl4}L6U-09q~?p&UL{rvy>AM5=s_Uv)kuy(2T1*W9G
zC93~B|FJl)`DeGfIc9FIZR0VU7#o{C4)gZ!`+s+)U96r2Tj_^i{X5xC2r@kht68eL
zeA%gg{(t|kUphzTji!$J`VAZtCi}ZEoH+ga%JLNo|LfhaGTr>=A8PZzFswD|V8fz%
z@&6`U>&+kV6_!;7sZMwruaw66@4knWL3p$`$AqW$O@<EzpHyBtb@|Zmey3mdf9y}a
z++VD*)6(KkHk(epIe*Qod#pdCeuV$$^Y?$UUh+oNzyEt2`nK`K{eSTNep|jmz4!n6
zLx0WxmX}1X*viau;^gV?<{7USrM%{3%)YrR>eipNllB+ZYW#@z7hJ?zyz%dAL;IZ^
zpZ<w2PfyOy<Zs=v!^ZPtya)@|zx7MH0=y+|h-L9!DXkS!J|X#M|AF`|OJ{HXe0k2l
z(qR96|Lvl0+D+wXtZ>pPe3qUt?a{(A(}lX>p_>@^&&4nPbJyvYcz@m&CJRHp6Vfpn
zu~H)6R2dr2KUdO><ce}O3lcrH;?;^14?i*-l}O~T4%`{0=cDw<KuKh3hxqT9twK^s
z748u_kB{5j)fZZ%d8w%E>0SY?_L8OIZazVulwEc`G`Pg@YW4Qp*6&RX8BCV`e0pP+
zwegxoDdq>+XKC^MyOksn%$&<*Q+81PQbGJybDtRF{Z-w!H`IH^-1ADYv%Rd`t}kIA
zx~}JORB;NUftH|Hwshw6-5WDQCucgpd!W&CCiR}(Q@LZc5wZ!h4;^0M;k6*{Shbs@
zp_s~#TY)wAgt!^zpL?A-H$n1%@XW_kT4%kF45_-{{_l(4$#ba-3aWco?%B1k;;O|N
zbCcUv?3=B&n)UL%RbFYv=6`m7>q+K-?C%#}h}xgN>lc=F=~^*o=9Q><4>GMgl3xAU
zVxC<2KWU@J^qq4fWRudF>)H2w|HAQXgXvEP{kbz3CV04Q-`>CA`1Qqgjn-a^`Q3y5
z@J_tG#WzaxdFis7`<^ZE-TPBP_)VL@<h~OrqEmHQS0tqH@BQTIzFxCWY;O<CgH;|~
z{62k&Mb@!A5}eoTPoF)=(s#vt@AkEhDIRR<h4H2r;tgjk+4j~zuX9yR8Q)T|znf-1
z{9~kLQYJl<xyx4YaF@3rd&Ys|c1P{?>|z5YwRIm?Us=&(_3^fGekA+Pf;W@CXI_78
z_^)Bjl25DbL$q3|9xe~qSu}0U8By<-c4^ZeF~#-=)_jn*6){&$PZ0Yp*4#KN<LR>O
z{yImG4j<9E{!6S4n>;hp6u657CLieyad}?QB9(fkLb&?9*3PS@he|y@?Noo{{nq1!
zXqwQ9)$?0E<j!!)x-;vP^HguM^UQuLk``=vpZ;EE_TCL9@3|js^{>#EZjRWYRd-~9
zkXP2F33<VSq2>#(>OSpEI(~be`GKB&g(`W%0%gAz^fLcw?R(eCzi(xKxN7pQfJ7B<
zuj>W7&ze4->U2bcf76b0aZmH=xp|h@or_S@U+$ske(rOTxzp!sN3W-ezA>o_J-YO3
zsBPV}OEWF<PAfl?Rj@V*Di4a}*{+cqU}aEY;jNl``|BI)`H_V#^Q3KsqL~hgKbyDv
zXGz@Y#Vw~jTpKRBCFYxZU;Vpq*4Y)?tLAK+b}4<P*IktzaSh#1EapZjb+9~B4L6_S
z-LSC0EBoSI{_ykj%Kva!|I>@S+)&ffy8Nx&sU;0O)AucycYDSy{)nwR5*GVjs|!DR
zY&D1BN7>%PMp>elrxzR!k(0<c=k<P(+?CArN6gv0=Piy)vuWRRC?fxk_)@c-#r-DN
zJ^$HlJbKTqUQy=vG1I3Br5~;|<)+!r)c^EzaqooMvkK>L%IqsWK70B*vnPJ#WgZ#J
zEOJ}ggzk!PXau+B1*)I=_<P5c_|Ox&H<Gs;zWGm)Rq6oe>y-y0{x&lR>91LOF?ZYb
z?21~?v#ipL*Cx-)i%sX4dXmLJ`L)rDXQvjjZ@48Pd!T8_Y94WJu^HmeCr0I*_9?Dp
z{~jr@zx4EqM^)ZWL>B6l8aeB~mS}q?G%3;BdCvS}J68NMyk^q4`TE+olcqcDW-|T$
zD7Y@sQTNKDN3XdKKc0DbX8nxqmpOB%y>eKPa$G{~w%`AiwX1D2zh7TA`OULg8ylM=
zTW;jZs+e4OaWg|_GGCGFp~w&i{$HNcmEMa_-R&j%azV|%qoGq27j5GaDp}+I`K?iM
z>+SHhwXR-2P2yvG<M^|7<j%Tp7QEx{sX5bEZoXXibXDBtr4!99+oN}Ren|gNQXKg0
zRl}~EHB*0m{Um#Rx$klwX6MY0Z=7{l&pE$oJM&Rz($Y*W)(sCNY6~Mpk~TjH@0h$L
zdGT2Xv7Z<BvGV7AI&!-!E2v=I0p;yGc7{!e3v~%#mJV-w{mRXc>F%m7_3s5sQ$1Mr
z_aCq7n7*R^0e_0kt1LF1m4|p1*QhWR*sPslv@`$Vg3HgQH+Yx)EAnsqV;Fz7{F3_2
z%CkHrg=Z_D%re-?x#{Dc)t`TDS-`S&dx)LHZ@q8(-7fB|xmsPj#&42+<<Tb1Uz|_)
zL^8gev5$O~YW|`4ev{abjji%};@L;+g>zyYGz5RWVJ>WW{VRay@%&rzVjH+O*m-=N
za7cBR%$2y?nQ1pW?w@{n<-K~OtmMg=){{e=L#@^RzG%7dRd?2c){Y9r4^I2kPo22k
z9vXVcTjTmUmAqez%nCnjW&dnm&dzGPx1DqGi+43W=M#ht<}2APlMp$(Q6u$p#_h)S
z4AXa+DnIX=-eMM8uBm*g>ZbB%nW#tm>hpKa_-{1vpx52+Qr;?-X>BJYjH`;mZhSc%
z)9}HdRAT=f+dVwhqR;2vJZ`o%WY?maXXW#Mwkg>ab)|8<S-C(`PvoOVxSa4?<H?&v
z?$?)g+{;-1u)}Oyqwkr_Gugcvhv&`BEmwMV#U<t8V(nF4oez?CAGB#N)ZOwS%XHb)
zOo2HpPlYd={FU-e-MjlL7q3^=yaHDrri1<475|EwUe|hh{k)S#`GlQP#h-Sr4NN<?
z=fUN3`u>cpt8H(4+lvKXDw$E5Q5koga|TObwr1UY<yp~}t9RUcx9+E+;DrS|?(<6%
zzA)@<u{vP>QFU89=kzv%N56D3bLZ~vmzXr^eP)eW)MY*~sVWPzd22WCzbkdxcX{&K
z`qO)K_xzdtQSV4^&8eX5i_0rE=~_mL99<qU(`>!lzWU_WjIZ09v>xZquYAbnK54t)
z-k0Hl`SW+xnfcCIWG9`s>d~3MD=)v?p=lIl!nS#@k*(KB-T#jlEO1{mUsAAJxo1|z
z`Hg!F|Go$?pPc$;<?+1hJAU%M&G~7cSkgLk^6F)KL|^Z9*)Va2r}D;UzeM;q{E7(;
zo%mOB&mrHh&o7!Bf9B$|TI<f0umcx(Q>vF=EM5NB$H%dS`(0&j&Ed9S7NO>b%4R36
zljgZu*#}FXS;y~SeS5dt<FA~?B+<35OT(A0=kJpe2%W*Z%DnsNTARFQMMcNIRm*oD
z>$|i_{Xqlc$s*~C*Cm@=6at%*Z^Sw{rd|JD=Kp8fDod8My0i}6nAfQWhW-ZsUf#TO
zu57E(e3m85y3_la*BY})@Ax|PSu&@K43oppjW3twsBJ#;?ewpU1)0tXZxmkoe-gBP
z9=g6IfHkt3&3}2KSXJQ8(^rbLKFhpadT7BS?d$BD7$5W9deVB#`d!-B53%bMYcJX?
zP`h_LG5MxVx8`-ew%Oa{PkwXL(f?JpWuL`*^~*)KXDxmg9&lpbsfkhVR!U#1yX)R)
zmi^|h0(YYI@m%TjD&@(cRmne?{y2J<Uz(jf|MYLu@^4a+J^hz8y}sVtJlDOqq2n*B
z?6OYPE$>eMb$?-Ys&O?}`_62Wy^E#&&lVrsx`-o4XW#1ioG0(@b!5BBp5Jz!?Qq%J
z%Z-dqFRfl0=a{%ms>rFIvYbUKGo@&Ua-Yea0<J(i_WYu4A}lHUE;&YOKIxF*NqK0q
z)9mB%$7RBWo{lAXmzDjknHjSigFk-fDO0EtKPWc;X8W6&evLibU;Mi)*xvNWZM&ZC
z_n!WP8)opf|GqYLdbRHIP+oBfo=wq}pD)I}?Oyrey@vk1ySFoa{XJh?+9%cPcXfBo
z$>W&|x;v6T+;%uRzb!bR!@*zcUR*f)HU5~zjBh&Koa>)gmem<f>Hlw}q*tsi7y2iZ
z$6NHA1w(`>OPAs!e-UeO;WpbDr>^aFjPH5;;gqSH*52K5sq*{nGcukkOr4plzVqqc
z0<koWx3&BJs9jY*x$ec(S9iq&7G&QEJD{k!LTSt0{_pFinLf4F`k(2RWO7Msr_cZF
zs}4uQY<KP4wtlgv++yPyJr@^>*Z=X1eRxMPQB|Q&Z0?6P$)h{u<DahX7qz<i`%0((
zVUx2jFTYoodNGG%$ELtryjKcMCH9J0OnT05q{_1BlG(}YsWxAe9yg^O`)D11pj%t(
zaj6iCV};kh+vj(F4$Y{0ug+6^DUSDmTf+IfIiDvd-D+~Uwcj;Wz$kwI;=_XPGQXs+
zW1n?@gNB-^Jj<VX+$wo~^~x_cO!_eY;lcFEK($%o0UMSt>He$v?1pvbtFo5Gt9(n;
zC;rpwaBtakNmReGFil|Q;+D$k(!Tk|uG=)&A1r?Md+EYu0-H*;G_JG%u)BTs^T+U_
zIjz@jZ(YgUEfxFpKwZ}-zZ_L3+jM`C=SO=F+&_D3^}N*;m2SCzzFf<=SM>U3cy(Cq
zj;zc7=Dky0vThmIv+$$O-v<|+6BWvpJLr7Aa>^tt)8Z1bpKRuOk2mdj+0Mbg-;&uV
zeWmL0RzcUyp3+qByGPO&AATRl%9Wq+-A#aFj<8sarpWuQl1H1@IcGnZcY5{J_O1KP
zSRKme7d%X#t|PxZZR@g(E0@0XtePFgzvQcDeALvWu%H6#RAGtC;&8n=9pUqswf@}+
zXt}p9_)*(0ueH|Zn!&YxeV=Ua)tic%sy#cz`)OTCXTpR`qhEhRZ%c}*fBD|APm_DM
zX>m|kj==*({@q5&mU=Jm^nY@`G%vod^<$u^4#V#ELd{>7@7!XwX{O!N=ZDkE1m4MM
z&(Y3m*0acXdQa>1W_G<(8B>3hUwAFynf}Tt#P9tihSMj~;_VMkvDJTa!s>68;N^S$
zKQoL^&HrU<y8G#h569=#mGRo%l`Pm||2IK@micD4w{fSs^)-&(JihwzQKu>8Hyo`F
zR;^?Er|fsk_hF3hg$LO`erj#MbNkb7J%`j1wOMQaJ}<q*dg;~212#LmkDBZcXbE!q
zEHD0k<^3e<r}DmszW-dexqRZ}D;MTE#IqI&vQ&6yed@~j)@_zo<7<C8A-Zg{+rODV
zk6uV-YkjZ6F*Ur({k-PO9wq*xQ*J78Ib6!sy74SwdX3w?i0E@p&x$|Z=6k>Q#KRUb
z?*#&XS-(ENdT8mbg<l&Oe>7>Ad^)f4rf*B!+tS=)t{q%nOtL54r$2nOYSyf7qaxFj
z$Bi0YR1A;3H@sAMvafp8XDjclpv2FKw~ewAH{N={^`2+W>t?>l>Qe>!E9B1lwde2K
z$7Q*2d$hov7}xv1uNFRz;yBOX`!G-Q*U8r$PnDVOpFHzbaB%~}g>ToF)QQ`FU(s+?
zE_RpP(kkA0t%|3d!fL)>GUL+TX5Yd2YF@6_+0_EKO}G;eN}cWP|M0Yb)1+Rd$+f2z
ztq`A^Q<?Hhd1m@OwUqen`{$^sd=m~<n90VVTe##~;VYA;$2P`=uV#OFCe3+^@{bFp
zeyp=jG_0!GB+d{wb#MIC7eAZ53eR$N&SMW}^xM>WzJGBPi+1~+d&S4KSp44>&M9ZO
z6qDgNTeT@F?QFl~mt}4zix*B%oNfNqHnZ1k`TlO3tTi9cUH)y@b#RqZ%c-5)EYo=%
z)HvqJ+_^O8v9sda_P{xuTzCC``ZC;Pb|^o%X{xW>vFf0-Gt*y)F8zLZ`bs<H^2~c1
z;??@h-dy|rwfeeVT};dFd1q$)65P7y{`}0EC(EoiKAL(e?Wy^m7+2XfciHwbJZ?Sj
zxLi7)^}JVy?fJzY>(&`u$#%7^>py4w>_%<G^2)nE)Ec~2EOW`oe)v?+NS%?@M_p%f
z<*fEsM|XEmS;{cap>-~oo6g~_-E+z;UOZp!lpAwz`ihs0+NyzR?i-ga*m`hB<Xq3o
ztD0ByM@_r`^V<3k@0%`3?DGA}dCj}XudJ*8tB3NAL-Cu8UvpgDz4=~*qVmHO{@9!G
z$Cd`qsV~@Rvy^|wW+A@dDa*V>svLeDymI5ink0EU?tH7AW&bsg{M)c?ma&fE_6ecx
zL6cs|oQbtHzq<DPF&n{e#r92Ge{VR>{6=Rnr``0`igD{^KjMmCr0uhJ!O>&JHk%K9
zW|-`)tG;`|-Gy<SIZ92=JW5lg;ugexc*A*NAzNltZts#R?Wi?RnR3db`lns_b?_Ja
z#O`vrr?rNbF1j;oJS`Tuzq$Caw9ocwW!hVg{5`K&g6tf^Zo6Jn&oaw>Hh0I`715G`
zR#nEI?{}UFpC^3Mcb4vPVb_lQ))UKwPa2%ueoS9#uJyI!{=a&Eez!5)JGJlho7!h_
zZ&kO}XYE-mb!nT8>D#Ei7vH=NUT)dWIpwu`-!1F5#q;kx`t`JCNs#M`7MHih9o-?E
ztBU?!QdebdeLZ{A%Csk&)~F~)WLBr|N_H*ayuD%Fwoc*XLOHMU-e=r@`WG(MJ^#w;
z)Mo+JO7`2)+`A?wC<@L=n$35meBDWtug6zKT)EI@u_%K}N&3K|D|bV`>&<>`boJ})
z4}V^rSy%C7@A0Rb#R_jdJ?M6a>&Csb$JaRioJ)LPG56-HXUrSL9_y(tny#>a(Ywzj
z>O0Hlr+kR3e<WG1&#G8BQ}LN{bKm6D4>P7MS#ql7>eufon!NvCl>Iw3ZOxS~!JE?)
zVs7%!{Zy5af2YfJ=?*dX1#>p-k^iQ5Mx^}2DgWNX$(`G8veeyt>dkpSQf>KO|4XL~
zt!fkBswnwRPbryLu~n`uD&v&-k=O;o%9G@)RHm%9Pg0i1Nt{qPd4Bg>K8vnvj(=P8
z>y5XS9#`>Yeda0u`1$X>QYPD(w{uDhO;ojEdz>H3yUT9^&u+6DqH#yINxANN89UMQ
zvx{MyPm<s<ZidO>-?SI0Phj$#)!ni0-inA9cdJ_tO^pb!e6i-p(m0h*URTzqJoC`g
zJ}p+i_^e>z>9bPIvMZ)|F`p6e<*H57|9&N@+Ar(c>&+jIC~Fj7%$i@ju56<7S-n(|
z|Cg4?P4Qj9WjlAmIo)?PU)QF#?@sk%c$B_u&X;1N7T?#CQWORD%-G~C`NBI}HcjC=
z=TR%=Bh|4V(?8W55jy>AW@kmJe85L>DF^jkQ$meDHGGgxi1utdBNLlYJ4Z?7`{nHl
zMpKNwY$$#5@wnk}^L;0l=ZfbZj$L8A%}?_0u}4QLCp7w$be%ai|K8(!UX2kJ?n&MD
zH+b?k%UjHh)_VP>`QBfty8nNJ?fzRt)E`_a%cJk?$)8gde87F#jNDf;f|IZQe7t%?
z`=e^EkdrMJOCxt=ZhW+1wa7)YTAkU+ADkp+_q|zK81{>4W$%upYdWHb*X(RRw!$FU
zohgp@)MnGYQ$MXbwLv&9W#8{z0-FxL_bgfXV8^bmznKfY^8dAb=rx|Sjq4G6bo4_9
zj)xUa6L`ZP-SbY{qbYifz3%ea3*qhw$~zVxICok|Yqn&InP=ha-znD=rm!mha9Zp4
zj%U^nyTi{69AhppEI)s-n)PGDOXHsPzdBwB`lV&<UTbc6MQX`}FV4ED(;wzCi2mlB
zSU<a~<nFc4{?nhgT@$Xn*klraTK@6*_kAqN9Z9#nXRlbyT$o;Ygx6L;_Y7-J`=84A
zX{Tqte|fB7im_jB72ke`ojvx=`>dmu3f~N6U7wK`wc0v*iH31sdn=28qF=2d>-%MH
z*6nNimn;4=EB<*<DE`DJrupWFIrM7TPkF9OyWP<n(%kw`!@I+wy@sR2ZQ*{Nr5jGZ
z`S|Uj^3$c-+unBn&X}?3Xi`z_gHrRVY1cTqpDZeTrSS4=+g{nH#XtSsjx(jEDfw)!
zUBVq?@F`Yq!ehzv%blm2{B52ap4!Nl@-Z~yS5N=^(?N!U<+E;1-W@e@$Nk!dm$Sd`
z*!`3H-k+?PWg9<!Uc0hZ|BY9Mwf<D8tRuk_8?_g|Py1NCCUvp*MvqyO*dkPe!jA|a
z64_z6jl<qZbD`DrwbC1Y1h#C?UOjpGBYi=?o1Gi^BG2pjpJ(>27ulmYceUf3c>fy)
zo^PZ(@AN-n3+p>1ajEFxb1mz`N$-Dkh24q1Sljh}w)*As%I0i0LccDtKQFY?P;0@S
z)0V|qIxnJD+V1(WVe#6QvYSu!b?#r*`(Qbb*<DG+QSN<A?Z;{77ubDM*T1rDSKzUv
zs4L}fKJ2`6a8+x_G==Kur{Q1w6|d(no-#>XY??+=Lj?1xCALd^JFC7ON@q)9alHRW
zalenj?E9-NJwN^Gx{{=NBk{0dlfTT)BhPC$q&#U}(&BX}-0IzG{<P$2BEf6wxz9Y!
z>se{J*njE5#Q`7mUccr3v+uRxPK}?YXM)TQFP=Pc+iR&e6H0#SecxCX!a1qq;KlX(
z=iR-x)BDbad&dNy$(_G{!}p`0Q(VT9-7}(Zp7Hy(;msMnvmDIwZFxT(twd4<-->Uw
z)7+lDyicWxE$@-AL};!Ir{%MSUf<4(aTVV<@^NWgjqA?NJ8M5KZk|!mbokYm$$5{m
z&SWk>5;@J}>MNPI4ZLARH}sG0I;-i_Ir+pDJ}$nSs}_7*+$nz2!@Ng#_4BU*iv&Wy
zecr-ZKA}30sZUD0I_IFP-S#Jk6t~qZ@BjK``)RffU)PFyb3VT$KUpxF#gUaagEzp~
z|7N6?%14X%-`T!X%vajJv{Ni}6Po+nAR_ZzgV(-o-G7-vKFQo>5>IDkIeqlo%1J9f
zT`Aa9EMW1K-72{+>E8_HO`(|+xBT0;o?9z1#whc|Vut-bkqhQ$ecc!AalX{{+1_^b
zGy9`wG-N;88@T^M{(9^1J^r<G51-~wb(pyC;m_KimR#4|oU>FeGn*H`-?i*_*_^Gh
z4?f=O-6|^>rW~67C)DA^nHQ1I=ARd1mv`!`XASk77`yCi$Ri#j>E$w~>UPQUPD>E*
zah~*~Hb-^Q*Z;;Q@Bee|Uu2)eq3QAL>XPy$vvW2*)Vgq2ZTbqGlRM>de`ICGJDm2o
zwbb7t|JehFM}H5gv~LxfTVS*6)hxe*?@|I;wpEDC&k}i+Hi;o@+1+*AjfHcb=FED!
zV&U(fTP5$$T%r1Ufh_OI>`1PiX(#_$rOwRXZB}DHch$Nd&h_S@lOuv|wxypaw%9Va
z+|znzPMWTQ!Rjq_`{V<<k}@kle6j7DB|pLNwC|bLTc5VX?5z9!*rdlwytF}hZn@v`
zN^S0mJd1*iekO4rSR}nK+tD?-KX3Lo=A7KO$@|YcuKwZUrZ=%T_L07rg?9{x&k4`8
z-$_D7ic_0Y^ln-ld1Jd%w>RdK)$Z2a4tiW}`3BmvUDl>GTE9tYE)`Cn`LsxCeY@_$
zZO_+ONA#pE_|>`Xl=^vNBhBs4gC05S^L~>*YkWld{7!p==uZMU-m$7GJgx;>dikc*
zb#9p)eL!SA^IYq?nVV+LSQXkIurIaAu5`Qd?5uJ=DfJ5rJL_&QnPSxH>9(xE%RH(0
zikQ)ak9o~TTis7&K0Ni<@V>gpOfBDlXAib47Z<-^@}}(Ni<Jk%4EJ@*^sAg$XB_?E
zsoRe=AxoSsKRu3mJm<h7nM)CloJAYEj2AC6Ulv)xZ|HtsHQ#(D$JNt42JW1nOSS!#
zT$k^xyJFsvP@DU+t<%#pq{eP(t6}wlrWKFZoqqRY&Aq_z>CRj=Jae^vJKwAMCazaH
zAwc+P@}YZ{?3G158onHSQ<IlX>pboIFs7h?j+F4J75aLipPvg%n9J4E{@(xchQER*
zc#Dhu3|>oF*fp$4b(pbxZlKwdk{L(O?RflN>UtjgxlQ@}Uv6>ij17Nhb$({gg+p(f
zU;Y)i-}Ly(thrIj+WJ55Y+m-oPCw#Qmad=r&P{(bzwij`{xosoGl!I)$@NO<?6Rh*
zITdfR43&e@>u24#UF`BLEi};2Z0f&boAc(bo$+0C>iSaEFx9w9Vf|wh^oy2EI615R
zZSulZ52q>ZU+AT)z9aC4jt9@0mfO!>2i)VRng7Nj_{@DHxvT3AZnWPPYww%(H?ZSn
z=FCr^v#P(z3QfGb=+|kJOLq^;&e`4l?Yr9I72P$V9ydahUSDEu(wyQ}Rue0n)LSC3
zF8MKAoPO{3)`V@Fc5?kasWx{?&i*4QtZhE5+-lSOzOH`rjoUoBiu>!mwV@38=7y6m
ztT9=;`{nt=0?n__c5UO|{Z7_isdrjNS7^lw)y|$o#;)d@eA6N?u!oyJJaF5~OlG5u
z-`S0`(^q$?Z91ysE_BT}$oaH-6A#mpR3F#0D&LEmZi`x)v?la;b>3W^d+qg{-;8C4
zCoa6QGMjk^ufdC~jrHFa70xo6*7PRVGDN84zSb^dt3$U7u4QMMNgkTZy5s-0UrTjF
z4#ud=`<#~eX~8^+4Uabdn&Vq_Ej4J-rmPE79{E_EJlDNK_CwIOIe$%(%Wj49UVM9V
z>BN=xuT?|;&*@!i5dU-|SA=3p@weA<(=Qk<nLR-zyxFnq(W;3ODv{PZi&j^!Saxdp
ziN`FL3dE}-&WZfL`sDYd=V}L4zntHiIOqFo|0S1ImDE*^`pVXvU#;oBtvgNEHRt7o
zHy^f&%nk~fv4=}E)BayT0@szV58uo11<F?o=ft-}-6=^GZ<}i<F4^8?wET~hmX_eE
z%mS?sw;v>|F7-%W8hCBh8sSO~YsR$;*B^37fA(zB8T}(ge1|l=Y_rbY|KMBK8p8BA
z_X5MDM2<%ZB3E`gm;67dsI5A?x^hMA)1srDXCFv(ESc0?v|xEzqWH8ZsSnR{d%xDy
z&OcwhF11JLYu1`)M?zAreP$7zb}q=+ruK8-_L`8C_jj&psX4uV@$!OY>#K&wJ9GYA
zKH0xG^2OAxMfR!br}f>747}WgUp+qFC!5|WbCu~x(8@^%s*5Jd8!X!R%3|7v7bgBk
zOwtcce(&@~>w?^39zXY6=a*gPu;%IB+i@yv@wX2Cw9hB4?L%rss{K!Vd!Vz&A@t%s
zE%%M(t3)dGFJ!-Xeddn1-_kt`P96O9oa1=>0)u&HQ{MBMOl@vH8@2lWAzj-$pMSnz
z+N$c6ZhWYext()G*1XA<xw3a#8s0yi{)$bwb6=><Z7=P4_tpk&=$~=$?}N>m?Ox}Z
zn(~v{S)`_4JooAAwVp{bS=nI^r|tU5yOCXwU3&j&W$w?P)|@`gCu8NTx!U6Xf>R5u
z)?1n`E0{OKdUx2z87t~cLb{JE<H|l<wNtMww>~PhY4h(pH(A()Ue1+VcR1^smRpX2
zW|HdOg1De(QLV3&J}-KuWdAZJeU7Ub_x`Kzjbk6b`Tnk9jpOCD(N<02Hzl@q)_VP0
zSYhY;N-^Nx>K#6X*4bB#tC!U}O`7X<_60wydUWvwo0o;J4@@r8&P;X8-=(|t-|w7$
zwMkb>@=T`8tYumk{6XkRcm5%<R~t=!w`I6otm?endgZe(`=nb7t6DUd&Y5Cac!&4m
zQU}J~r!&6JaJ6dp`*?RveeJRz$0jg4+|W$?csnk1j|(G%b;k086ZXz}+2p@X&~NvA
zF{`40m7#Y8yfk$+6qQ=8&X?IW;rg5x;wCu^kt!E&ZcxkBj;}WNozvHnGH3RUIqhMe
z+}FKd@;`f9@U&NNrVCXs4=Z3e{?zJ|n%%q4?!WI_zON3wc|r2h?x~ghyd^h}KHyMV
z@Jao2bAH&)z2{y!@7X%1WwYF8nRcI3Qv09X$ezbs_b&9vuluu(ZGQJtEunNDN6z6x
zRoMaWPW-N3Uj5?;o4Ml@pLCwDS9xE5<G;bemveFPlO;>*pB5Z&P`(*|p#J#$Ic2jF
z|G#yu?P;AE>{Yz6>g61*;B|kd=U?PaJoUrNI`&G_inskMW?U?oU2@K4<vqr(?A{|u
zU-lYrns<GxywXM4-xJDP?rGj(%RBkwLh7-%%NK0VQoQ@YJLbZcD-Vn3StKSgW~}<k
zzH6Ii|JlcWs*6+v-_#ozXijwdSi{L9D=)!y?P>jl-k&;dQyJfsN|!mTb%>05TXE{?
zla&t3N@q=eko!Js<2g?0KTlTui?N$ux7l>TMz+k#^1Z7k9={&fti^g&ykGy^#f<B(
z&KbQIIelr9=9RVab-O%|XPjFvE2%tdw&98D7@h~gH+Ne7@=|*nIPc7L@$y~PMK8T)
zIG;NjJ2~Hi`S;S|lLG&Qr)+3_C+hHm|1i&06Yq0}K5wcza@R7^drR4ynKL%e>T0i$
zd{q-0c3r$o<lmK-SAItwuwU?2JUH*skFV_U0&<44l36CM>hlpuDBJVx`}3<gKP5H`
zPu%@zX?Ac=;=8Q7qAoK9E^qFBtM_c7(Z4$O!%Cue`~I`nDECanvKY(I7-=z9NM%8)
zg1&!JR&Yr!m%g8Zp@9MD1pK1n5(NuOQ`qt>1tSX!BVt!!y^W47zP(MT_WJq*)#_{?
zdC#R-C97|n{A_dKEVZvc8mDE<-oEKcSIDey*T3s<ToO^;xkdPX_2iQ&2}}xQ-{0J1
zbqMMZ<Mf^()|7d)<k5`n8Io$Ov9iHhN3R+`Rb4kLGc!OaZO!3OquEYTTF<6PWll7D
zo+B~Y$<6z?%c6x*RUtN>*=j7iwtCH&Ahv62iqq17bt1x16TgXwvKN}POg-tL{i3kN
z-?5+BiCIzKQ|i~A<}H3Rd>W#&Ip0VuH;m)*uUqQlC2{SR(Mpc(-+W$)beZN!N?enY
zlWxjmnao$0!Cc6ndMhKu#zcCC$HPvuX)BL7Zf4Y1YE7GLq}muH-Q3llraeO`ZcC_-
zWW=?w#g7)=RP%}4u~zqs1^d})KYSNTwyc=KvH8N}CWDYpy+?5;CobY%W6>qSDb#Ub
zQLu~AT_!2*3yW^sHO5x3o?mg?aI(~^k7ufm2z(dR*LRaTSgQH5!Bb!7?xr)^AC~M*
zzZW2+aN*v{2UedmS0og8H3zp=Oz!V+S>>>h!8lXvtw&?TM3oM485iFJDm|SpjI%Dy
z`sB>{EMp4e$!S`A&-N_pag1wFX>?Ta+1V`OxG!M-l`NG5EdpIma~H(7EC`;&;cR+9
z@X(@VEO(cR1kFmZy?UVC;Y&wI&t%T491~Tft(HpNyr5~|Df&x6JF~}6_UZ@mOr<4?
zVZmM*vlLD41RZK%f2k3fv0=K&%oR-z!Cl@*lD>R+*kPY`-0I_u)_jTj{}0WdmGQ((
z^?U2UKU;VC<;fTO?e7(7JnnyX`RAh-TGG#bt_rQ+yy}#=aY}H;yZTjp{j1iTnwWaU
z@Dcmx$fI(0DSsGbl++S$FxGque8LcxbC=)v&(|b7yHna_Ja_x~CF*C_uZrOQ_BKA;
zQquOkJA?7+Pm!TbBHoXb|EcLeKYi3f|L`WEU2#t)E8U)5pLBeSnx=NS%`^s=iF>Ri
z9Um*rp33+@@UfuNwuXBGPM0n|^qg^U3ZL{ZR?WT3Cd$v4@TPXvd$08(ufHt&?zrBE
z?Xq>wi|dZ>tG=D8J{f0eQ~h-N<h@z8)lc`Pte2X%_tou_aa-r@eHFJUocH`aYrd~v
z1G39m%I^JlQrWdzVcw1xoX?A$7G5`wt!?zVzDu6V*5>lp|3;Vho9xf)jn9488gD%(
z{`cDt*-xbQtL@~k>y<e3e#63e&i$`{X1`OdKl|a2>HUCzx4!<_`hC*=vWkDV@-^z;
zR{gtGeKOwKrv7dCjQ!W^B_4-APY>_@99(vX=~4gZ{-YN4#XHKKR`ty-wwBAg7{ByN
zUsvg5mFDg@uLNH9r8&Mn`C`VjAAXMgM}NG3x|u8D%SyJ>rq@gFDzyLFs#xFZkm2#9
zEQxtao4s`PLx!cj8@@Dp8~&0|Tgp?a<$3pY=Cde8r>?;M5))>#|BHVsi6-)hw(jl!
z67<n7RczZXvlow*A~}*5=V|qx**~?+req82-zGcF$%a~dY%5#LWC{fqlnE?}SY*$@
z(qJ%c-{wg%GS^QXt?D|u=A!RkUJk7<syh@nv3h;p%)Dc*Fq@Qnv3R(A^95Z+mc+c@
zVbi;fd;`1UR=moV)%$f_fkV;LO5hfsG_$<aUyZh;Nhi{HYS*fp1;x(Zlz2Ko`hf6?
zV~c_fo+)uP<otf2ZI{_w>&yALVE@UUfHj?smvR>}Y&rO1D#P~Pgykj5YROY(pZLzr
zSbW#;Zcdlv23=dtr@Jq{U;cJM$@i+sy_2un9^Sg!b-&q@eCg}AJ9z`5+7p8HWjHpL
zSGBH7OR8Hby6Eikb6k!k%OcXv+qUd?aB$zz{%^OQ0Pj07_jJV!r`s`^J||wDJ9Mds
zUpr&Z^(hDZ-Sr;4{p7q^G<k`Cl-^^ei;+QjI~}%YpMS=x^h#ob!;jti0==7^#X9O1
z%>ML$qr;sI>rI!+f6dD@+7<rj-M`xQ|N9Qt-+#FOob10}x^v@#<)1&T2#g8+?E3fC
zFQeT@<{sYOzFYp@-w!X2-n+;?@xeJ0>*Lndwki61*4iI<{iZo2SvG*nQseB&j`!1&
ztMtp+l=?TVR<A6q3p9MKdvC|*U-y_NI-R|&HCycQ-J3s6-1)8gR{i-T`=Rg0Z;jUJ
zzi-`fY;?S}^ltdy`or}fUU#dXk7xM*@Aujdrqv2B_cSdqmOXbe`%e{X-6h6;@hzbr
zJegy6^OdOXy0CW#@0Y*Z`}x1kXa05ZqS=cu2CHWgvmTv1w&eN&-NM_7^Jd-d%-?9e
zf9khi&zCK{QEyfA>&;K$L;GyAgHm`m>ao}c-I-#Vm2fR!$F{)yJm&vjFW(J!Z@1s0
zqvt>UY4^`JKby^e{w&%o@1(>Qk*>3s{qnvW#~fy@lRma%o%9s7*`Jrs{&i`c#lyVE
zNACSQ@4mZN*j;kYjoJR{(Q^vAY!?XIM10Ihe78hs+NyQZ3vcdHJZfg{a-DzilP>wU
zBG2~A?yLP?vYy+>!1l;~-9^!V7JI%syinO@j&$i;d8yd{PM>et=WqMrZobaeE8l!`
zebwIYZ!+aAXWnePCoJ-7+oT_%U;Ng%xvz0^|N6Wu=VSS@T@$m8O747j=3kD@e38w?
z8T#kWeR8#1oWK3}r1_$Ma=Ok=eLnx#<u{Z5Z=4hU^GV66^wXy=*93|^H@2JUzx-xX
z{8R2jM>l(4IhA8}u;pp^7uNDw^FvE>9UCgb!hSB&sDB=QIrZf6&!<oK#Q!NRop|2E
z({TQWqFGbL|Gcj;eEvD|+-m#hdv--Uv9zD9FV67Q@OkRT&gnnhPq66!Tyx;S#~Q2o
z3x97~k$riOPUXMjMzcSCcAa-n$L7T8RWr^TEdHr?|8f71<bCJ)e<;=;n*VA3595Dx
z_CL`7sr_%(|1<YLDF2)G|Iq!9@jt8oHU2*qbkcwG$M=ki%Y^1giXYt((KCH|jpghE
zUq9ANe9SvB{m+#CpDoO$_Rq!lJox``|7XqpPmJxJhnE!e>Q|i9-uFcQ=lnmy|GWR6
z^%uWs!QV5t>B@zyh~|Z>X80B59NpA=Bs1(;Nztaa9GiTVJB$*A=ABn-i8$5r-$+y7
z(I$<HL4R!GW0azn2WM5yi@kqk+WGa-Zl6*wTSd<2KC$O%rs%9Iolg__PaG2e^!0ep
z)Sbe9DsA^U__|ypZFijzGZCDhzH!}zefz~Gzgooe{<n1cBj0Pk`8jJJZ_1CkpmbxF
z_?8RXza4%1_IvrSeYJPDuMa(LW2?RO+T`2O@84goeO+eo_1m{&+uv=e6{+iOPElp?
zWOx6&;?lavhkstKotS&quKL8Ktye<szDNiwnXps8G3WKM?Oi?R9)6o}a_xaX(;3Ph
z@4L3#ckRV(qH`pf`sy-uUM@eTYFi!q-(-fH*gR3;oQRLxUsX-pWF@zz&LX8$W#j%!
zPoL=Bat&H7;F-&Ie%r?==|j5&*S~vb7IJ0bt9Y)LAw{*lxx%-<o<CN;S+HJ6RPR=o
zOJ|klA=9<%x8As$vt%pZ%qwraCmzYpjlSj{R=C$XJm_l7iHa7_V~fo;*)40zK09;E
zD>Jh*UA)qzSFHViyoiWjyw>EF*WbChE0#R-Ix2ipOKxuH$DZX~?SfN{%C`$z1{wB;
zoKY6F3^LpHHvPxLMSS9aJAW>D^*lW$`&^0A`<%s=9QWtk%j=Ugf1WtIdG;^k9a()x
zOx?H7Qg%BVIOEv~H=C$}$-GxhlXkn!vYc_ma``Mv$<NxIJJ<fXn|s3I;7fa_D+jk5
zI_OQ(SiJbZ)y26vH&?1BI!F1xxVmZ9BhNiO-uA+U$_uv6H(g$pJ=JN;BG*=PVPW;}
zdd44Tq<mQ=SiSdz{iXjqUgYs@O}XS@#?D~wbxdLZl4dctwW}{~3tgNSplp?8w(#Pn
zz{_*q-dW<dbDh-Yb#6bydUrbZzFH+HePzp<RcF_*c|JAs*tX_WXxPj812M`1ch~Ma
zD*Q;+Gw-?dmH*6}^PX(NY_gjgn;|vX9ZO3x@{2SAit^L+6kLk*6pB)d^c3<EOY{^1
zQcF^c6x>sb$}{tdvokgILo!QpQZ<57lQZ&Ci%LLLX11n&aA{IjYI2E&roMAgYGO%#
zk%muVNNR*ad1gt5f>UZ@ZfcQ2a!z7#v8H}NQGQBka%z!AK}uRkYJ{$#o{52;p{1t2
zcWPyMeo;!Xh9(!pl+64*m&B4(1q~M~BLgF215+boLlCskHZW2*Fi_Xz()Z0zA*3Xv
zD6ya*HAO++EitD!l}kS$#5F?Ctu!YmDKRfEwMaoDBqOs}A+uNk;vOA^u+*aB%=|nB
zV?9F?LsLs5GgDn7Ju{d)6*NHp^2sbqRWLFzwA4>YEz@^NP0CEn(^SYVNG!=HPEAxO
zgBoF`XRK!kQliOaX9tRf{G=={6H5!Eut)DMnHa))OU8(c#S{$9Ee(k6E%iqF_Dh@d
z?0vuff}!0NYa!3GJR2euJT7=&&b?r^T!G!(P|VGI_rY77x9a2TPV}XmnyeJj)3)fu
zarIe?)H)9d1o4=(TC~l0CZKpElgHw`qOax!1C}!f&Py1j)-5x5c*6ghbio70PgWA^
zG8PCJcB-_`SiB~2vhexK2cA8T4BL3s!naXrcWbBYaS5T`H8Q~-k58PgROM;rF>vTA
zah=Gduwm{D=9CFflN$=BJq>P<luVz)%xBD+#4=;T#G(ie8MdV&6FPX+I4q0`yd(;g
z_AGJ{Qe^htqcDl*2fu{A>OW`B37(2V%Ma*BsvPKZe;|6GPd$*u%&J&JMdP_;ykNiy
zXPNbRdF$5wzauNRtudD8;rG?Ar_1c@y_Yv{dq4ZaJ8|>3-%l}q^7PxbxS4(0mZ!S4
zXA0Nuy#22@!EdkRvsW2yyV7z}*%{s+DSUci&5@mjQ5XL1slF%gS8*@ro4U>Q_4D?9
zGP0Pp|8~v2cZYwAufMnN_sjmn&mP~`c3XL|O?>@)yRJ7sH*iV%lx+XGZTEedGXMUG
ztrt1j<MKpIlfwEq=US{ac^vttG4P$;d%pC5sHgnT7p#s<2!3Fz&|O%NBxGn=m}Xe{
zHt<MXb<)O<L5uSZxBl{GJd>1bRep%4x9^vVPQTs_6`lURKPo!@H#=K5TIwB`AD;e;
z`@>`b+iG>65~-M3OLQJx?40>RWU{co(zh!H`=*Hf5cgU8&xzqo+j2g(!iPtFN|>e#
z9B@%D`M~J%<^l6!@0RHgx8FSc%KJs@^EXD~EzjRHa-Cm%U2LBF_I3pue?6Tx`(ExB
znOC#)7q~C1EaF*s!DhFK`?8t+>gs9x6n2F;i){2ZO{qu--P<2;0CI22#%FU4&NIy0
z>3Jk>b|u?<JD!qnPHyaBEA<YXUv2!C^@qsOS>D1zi)w==3cQ`%)sitkM8%~)E?Q!?
z*sA`7tgq9V1QykHDl1l%J)PY0;^tCm<ym)^rKm}<Pj8-iF)`*ryuj99+#iaCvhSG-
z_nv%P>n2#8t0q;u>8VcA`m;X-#6Llt;gfXM_>_yX<-eyEvN9I}XQ-toi!7`CZpf8d
z787^Ce(kw0;vY_X+F4vLQab+V=l1pO?ROuSMVwwa^IYm5{ZnT|tc^3*wyiK$J@)CT
zgi4EXt+<Qz{%vuoCHo3&*KD<a;o!oS@2+3=?9wg1s8?q_Tji{Td0exscF0$-=cPXl
znxf%V#qe9hbDN`o;+r!|x5^zgDS38d?Y!eV&6kUvS97V3>UhVoIj+!B=O$CzI`$7G
z?>x7quT6hqQ}QfDRK@(D_m;ZdoX6Cb9-95AK1x*2?W^q4=xrji-gJd#$j^GybtPG*
z?VQY-wf~--n-k%ZZ?JypqriucPd}^MJ#DsE6vwNM_bc8e8SXT>dpyOw^Iq19X&$S2
zd;9KrOUdq?bR=rgcENCVzc~LW@rIXcmm02cRk$v+cXfj9#oxzbJfExz%)X)9{A<If
zSG&XHr-ja*#l5?uXRFJ5g|BfpZ5Lg<sO_?N@%HwW+&+8eZP8=69K^oWac_c2OvcI8
zHz&M`V^99Nc49{0tNdiErQ$KC^j901>g=|-vSE$e)tf23^?QF_`+R+N{@c1YOv3Bc
z*K!}&qIESo$-GHwRSes*U$NG|q;{EpHZ6JmSpUGRu=`toZCG=E{pUkbf7#l~e)0yq
zy&^4}dr4aM?fKt7Rl)Ahl#iF5BDSyc`n$dNOkN*&?YsHe?u!@q?Vcb1=<|}R?Wun&
zlLMkZA6r@W)O2~+_Sa{(FWdDmGs51sys`88<S_XeU+#Wwi#WO7_~@>;QoBmeoYl&m
zmOX8)|GWIhD{E5sw0PZqd2C+UrCxtqJ!#q8me+f>%k5a^eLMce;YC+HSMs0U_2gEg
z>4{$Ex4qf2Z}YPo%a+_YYB0}lPS)YNo3%--TYRtiU;5Vbbml4HQ^No6o7>uacSyaz
zQs!rfolxM*b1PjOz022cUR{0nm$<&_^c7S1wU#qZWt-u(+0Q=f+}(pUTjB$z^DHge
z7LX~gA^QIx^O2h`qr_(>?S5i0^>U{dv(rk0X~*P4I&RL^F*rS4PwTjpV<Tr~ruF&W
zefQo)w!hh4{HyEl`{}tm>b6?u$jy8A^zm2Q=O*W#HrHex`*!tuj&Bu{P2HP)_y7I+
zl3D#XZ@;b9>JMk1t$%y?-?L}G-o1YQ_je<Ee*BTEZ*#8%J_@`f_<^IO#l}fiu-{EK
zRnFH+DpmJo!KB1%4|U4AJ~|##>wBbm^U#WYY0|5=FVg>a;DO6W4mOQ0e*=%eJxz^W
zkHmPwMD{0qoBV@y^ZX<Fv;L~oZEVr5yZA=E_wpO{kKJkZo$*^ZCjW5lR_%<}*>^;L
zrpyt2NjZW2DOL(~CqFd&INQc}B;V|}LY;j9Tg?A&slR`GTKp%6Y3{%HC-&w)pDzW~
zvBf1tsfoED7O1v0H8#hnZ6ktG)423K^HNeP6rv3jOpPsKx%7iGt5QKsF8y$YXhQ{K
z1;bb_{h<8(5(QIZQw0NsAdrr<d<96;3B+?zh_*3twRE*~vUGH^Ff?~Iw=_0%bT)T#
zwsdnew6riZHFdO8Agm-7J}7EvY((_dRMlyb9n(T(+Rwi)o++7rtWc&jCa(03yZiCf
zJKH5oWxm%+A1_p2cwpB`gN_Wvg}qG*dtMYwVbNCNQJLPg>%@yidMa9-8XSupw5%qI
zwS2SPzq8Wf|L5xa@2mHJuHRRDPr&Ja_0k0v>}Oa%J8>|-n`$T!(%==q>h$wbfUL;A
z|CR=`!uBbDPgV(FI(w$_$%1;xOpfAxDGU-P?npiRqba&z($2#+2MbSW8FcJaJ|nw$
z4V&rHO&JOAG*WdX&cp~8yKB5=h>!G1e`k<tD{<<M-!r~IvxdYe$_E@zJxpN92)Qux
zlYj2qSM4(E1zy=`9f&aC>v?p~H-Y=9hk;ZN<79`)hjyCRyk{|(*llh!i&0H`j{Kt%
zt{Gf^9=tx7b}H<`qJoF2@#ey3m_8rKY2CiK*)l;dg5#FRJzl<N&8!KU5lcSY<K`1<
zR;{@h=B9nnsMY(f-}GkD1m2AB9WfR!7*-$1+Q3($Rr6uN<*f_2bC_O>+Wk9nknKVI
zKHi+LA6pJKPCw_rfjcMs$DfvF*#o+tWq%*YYt>(8b(i^D6Z3-Thi+S&|1MzP@p~^<
z{CA6j$uH}QDqS9?EqC8`a+d7#+t<8w%{eBqPCMj(f9H`mEjLdd;|uulRF{3)uBPhk
z#;X`Zxwc=k*m{a%&IY}!T7Uk{Xg<i0EZnth;Q~RP;2)Rm)gGoCI@uDGx#Up%b(tQf
z9n+3AJ3ajNnQwz}V)~)|A>ZELPv-lef74#f%$GU!|G(^#u6oY@LTyXaT6c@f`mmpv
z6~!=XX=Kn#_T@KbrZMw)7ccGdV!tu-7Q;W)E8g5oSGmv8WBM_DT0_|epH(|wi+mM&
zwREb@J3qIIsa8vN?JGUFzomYq@Pp7-lU~^ucTLW;J+Q0AE_1TU8|CGH)(TxyUE>`w
zeVcdhe#@_qerOBoy`9!InNL7ZF~(`f6<yP>cN+^<wyS@2R}6YJb=jTwBCjW{wLT@5
z(%$EN_Bqp1#g|{i`U_UPP(N$=ev`cf16xy8faccN;wV-&&u;$RDdyT)OIq*mTEl+t
zYZl}0l$f(8b|=d|)pAolSdjVCd|&U|4H+tT&#qutyyRQn^2G-w3>bT+hS|SLkdfeD
z*3cPry`N95@nizq46WQ9uNyuuesDk|%CURP)_mTyrpN@j8M<$6UN<za`rx>gv82)V
zj4n&=rG3Kt^6VlQrZu?+y)R+!W|WR=40ny(p<Hhf!57A`K45pr{Zw|@1E-H{7tLP6
zKCk2g=e4HZgt=b=rZbzpJ9K{g^owBuVecOv^fPbPJ+OMWuhrM7&2JOfZyeqGTB5Ys
z_R{0^KZWY=*%b)9nLcmFTZXS)%nQV2nA?{upI3TnXH>xiu^-~zJ*WQJe%8)3VfnVQ
zWc6{?bw@X~=-*!5(IUwCSRp`hZ`DypRfj_vJ6A0==H;_ku6)h)Pj~61*Xpth;#|&T
z9F|(L`MT^66*;~M+I>^b?SFqjUFVu>m~v8t&j0v(dmfbNIPC36+vr)f{JnT$`j@!&
zw8Bj#A4S=3NG@*@yPy+m_4dGWy{=<76PA@cox<$Xqak&hp~!WYyrIsbxEPiR+P_R<
zwQ4hjlW%UA9c~+?_jm7s#iCkQuUBmeT6%4{ZC3cpg!o$vFLi%z^18mi<Yafy9sWK0
zFFd)i`jY+miD_1oU-~Rdoq1OI@)Vz7qr0baBxly8{F;~<@@)V7zfo@5Mz*K+gr@GA
z@X{$w{KOZH&9*5Z_A=X<zKWZ_&D?t4MD;V*w8(E~Hl_cX`15vpn9b%#H}iYWYTaF_
s`~N_7`Jw;(3|Y%TH34d!P+XE&R8motn#N^lX=Z9^$)&35>hHz{0Do=N4FCWD

literal 0
HcmV?d00001

diff --git a/20230523/rtech-20230523.tex b/20230523/rtech-20230523.tex
new file mode 100644
index 0000000..950b48c
--- /dev/null
+++ b/20230523/rtech-20230523.tex
@@ -0,0 +1,1743 @@
+% rtech-20230523.pdf - Lecture Slides on Computer Technology
+% Copyright (C) 2012, 2013, 2014, 2021, 2022, 2023  Peter Gerwinski
+%
+% This document is free software: you can redistribute it and/or
+% modify it either under the terms of the Creative Commons
+% Attribution-ShareAlike 3.0 License, or under the terms of the
+% GNU General Public License as published by the Free Software
+% Foundation, either version 3 of the License, or (at your option)
+% any later version.
+%
+% This document is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this document.  If not, see <http://www.gnu.org/licenses/>.
+%
+% You should have received a copy of the Creative Commons
+% Attribution-ShareAlike 3.0 Unported License along with this
+% document.  If not, see <http://creativecommons.org/licenses/>.
+
+% README: Der CPU-Stack
+
+\documentclass[10pt,t]{beamer}
+
+\usepackage{pgslides}
+\usepackage{pdftricks}
+%\usepackage[obeyfamily=false,mathrm=mathsf,textrm=sffamily]{siunitx}
+%\usepackage{eurosym}
+\usepackage{tikz}
+
+\newcommand{\Cin}{C\raisebox{-0.5ex}{\footnotesize in}}
+\newcommand{\Cout}{C\raisebox{-0.5ex}{\footnotesize out}}
+
+\lstdefinestyle{asm}{basicstyle=\color{structure},
+                     language={},
+                     gobble=4}
+
+\begin{psinputs}
+  \usepackage[utf8]{inputenc}
+  \usepackage[german]{babel}
+  \usepackage[T1]{fontenc}
+  \usepackage{helvet}
+  \renewcommand*\familydefault{\sfdefault}
+  \usepackage{pstricks,pst-grad,pst-circ-pg}
+  \newcommand{\invisible}{\tiny\color{white}}
+  \psset{unit=1cm}
+  \psset{logicLabelstyle=\invisible}
+  \newcommand{\logicSymbol}{\small\boldmath\bf\rule{0pt}{0.5cm}}
+  \psset{logicSymbolstyle=\logicSymbol}
+  \newcommand{\Cin}{C\raisebox{-0.5ex}{\footnotesize in}}
+  \newcommand{\Cout}{C\raisebox{-0.5ex}{\footnotesize out}}
+\end{psinputs}
+
+\title{Rechnertechnik}
+\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski}
+\date{23.\ Mai 2022}
+
+\begin{document}
+
+\maketitleframe
+
+\nosectionnonumber{\inserttitle}
+
+\begin{frame}
+
+  \shownosectionnonumber
+
+  \begin{itemize}
+    \item[\textbf{1}] \textbf{Einführung}
+    \item[\textbf{2}] \textbf{Vom Schaltkreis zum Computer}
+    \item[\textbf{3}] \textbf{Assember-Programmierung}
+      \begin{itemize}
+        \item[3.1] Struktur von Assembler-Programmen
+        \item[3.2] Beispiel: Redcode
+        \color{medgreen}
+        \item[3.3] Architekturmerkmale von Prozessore
+        \color{orange}
+        \item[3.4] Der CPU-Stack
+        \color{red}
+        \item[3.5] Computer-Sprachen
+      \end{itemize}
+%    \color{gray}
+%    \item[\textbf{5}] \textbf{Hardwarenahe Programmierung}
+%    \item[\textbf{6}] \textbf{Anwender-Software}
+%    \item[\textbf{7}] \textbf{Bus-Systeme}
+%    \item[\textbf{8}] \textbf{Pipelining}
+%    \item[\textbf{9}] \textbf{Ausblick}
+    \item[\textbf{\dots\hspace{-0.75em}}]
+  \end{itemize}
+
+\end{frame}
+
+\setcounter{section}{2}
+\section{Assembler-Programmierung}
+\setcounter{subsection}{2}
+\subsection{Architekturmerkmale von Prozessoren}
+\subsubsection{Speicherarchitekturen}
+
+\begin{frame}
+
+  \showsubsection
+
+  Oder: Jede Assembler-Sprache ist anders.
+
+  \bigskip
+
+  \showsubsubsection
+
+  Bezeichnungen
+  \begin{itemize}
+    \item
+      \newterm{Bit\/} = 0 oder 1 -- kleinste Einheit an Information
+    \item
+      \newterm{Byte\/} = Zusammenfassung mehrerer \newterm{Bits}\\
+      zu einer Binärzahl, die ein Zeichen (\newterm{Character\/}) darstellen kann,\\
+      häufig 8 Bits (\newterm{Oktett\/})
+    \item
+      \newterm{Speicherwort\/} = Zusammenfassung mehrerer Bits\\
+      zu der kleinsten adressierbaren Einheit, häufig 1 Byte
+    \item
+      \newterm{RAM\/} = \newterm{Random Access Memory\/} = Hauptspeicher
+    \item
+      \newterm{ROM\/} = \newterm{Read Only Memory\/} = nur lesbarer Speicher
+  \end{itemize}
+
+\end{frame}
+
+\begin{frame}
+
+  \showsubsection
+
+  Verschiedene Arten von Speicher
+  \begin{itemize}
+    \item
+      \newterm{Prozessor-Register}\\
+      können direkt mit ALU verbunden werden,\\
+      besonders schnell (Flipflops),\\
+      überschaubare Anzahl von Registern
+    \item
+      \newterm{Hauptspeicher}\\
+      kann direkt adressiert und mit Prozessor-Registern abgeglichen werden,\\
+      heute i.\,d.\,R.\ dynamischer Speicher (Kondensatoren)
+    \item
+      \newterm{I/O-Ports}\\
+      sind spezielle Speicheradressen, über die\\
+      mit externen Geräten kommuniziert wird
+    \item
+      \newterm{Massenspeicher}\\
+      liegt auf externem Gerät, wird über I/O-Ports angesprochen,\\
+      Festplatte, Flash-Speicher, \dots
+  \end{itemize}
+
+\end{frame}
+
+\begin{frame}
+
+  \showsubsubsection
+
+  \begin{itemize}
+    \item
+      \newterm{Von-Neumann-Architektur}\\
+      Es gibt nur 1 Hauptspeicher, in dem sich sowohl die Befehle\\
+      als auch die Daten befinden.
+
+      \begin{onlyenv}<1>
+        \smallskip
+
+        Vorteil: Flexibilität in der Speichernutzung
+
+        Nachteil: Befehle können überschrieben werden.\\
+        $\longrightarrow$ Abstürze und Malware möglich
+      \end{onlyenv}
+
+    \pause
+    \item
+      \newterm{Harvard-Architektur}\\
+      Es gibt 2 Hauptspeicher. In einem befinden sich die Befehle,\\
+      im anderen die Daten.
+
+      \begin{onlyenv}<2>
+        \smallskip
+
+        Vorteil: Befehle können nicht überschrieben werden\\
+        $\longrightarrow$ sicherer als Von-Neumann-Architektur
+
+        Nachteile: Leitungen zum Speicher (Bus) müssen doppelt vorhanden sein,\\
+        freier Befehlsspeicher kann nicht für Daten genutzt werden.
+      \end{onlyenv}
+
+    \pause
+    \item
+      Weitere Kombinationen\\
+      Hauptspeicher und I/O-Ports gemeinsam oder getrennt,\\
+      Hauptspeicher und Prozessorregister gemeinsam oder getrennt
+  \end{itemize}
+
+\end{frame}
+
+\begin{frame}
+
+  \showsubsubsection
+
+  Beispiele:
+  \begin{itemize}
+    \item
+      Intel IA-32, AMD64:\\
+      Von-Neumann-Architektur (plus Speicherschutzmechanismen),\\
+      Prozessorregister und I/O-Ports vom Hauptspeicher getrennt
+    \item
+      Atmel AVR (z.\,B.\ ATmega):\\
+      Harvard-Architektur\\
+      (Befehlsspeicher als Flash-Speicher grundsätzlich auch schreibbar),\\
+      Prozessorregister und I/O-Ports in gemeinsamem Adressbereich mit Hauptspeicher
+    \item
+      6502, Renesas 740-CPU, Renesas-38000-Mikrocontroller:\\
+      Von-Neumann-Architektur,\\
+      I/O-Ports in gemeinsamem Adressbereich mit Hauptspeicher,\\
+      Prozessorregister und Hauptspeicher getrennt
+  \end{itemize}
+
+\end{frame}
+
+\subsubsection{Registerarchitekturen}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  \vspace*{-\medskipamount}
+
+  \begin{itemize}
+    \item
+      Mehrere Register, einzeln ansprechbar
+    \item
+      \newterm{Akkumulator\/}: Nur 1 Register kann rechnen.
+    \item
+      \newterm{Stack-Architektur\/}: Stapel, "`umgekehrte Polnische Notation"'
+  \end{itemize}
+
+  \pause
+
+  Operationen: typischerweise nur 
+  \lstinline{=}, \lstinline{+=}, \lstinline{-=}, \lstinline{*=}, \lstinline{/=}, \dots
+
+  \pause
+  \medskip
+
+  Beispiel: \lstinline{c = a + 2 * b;}
+
+  \pause
+  \medskip
+
+  \begin{minipage}[t]{2cm}
+    C, Java:\smallskip\par
+    \begin{lstlisting}[gobble=6]
+      R = b;
+      R *= 2;
+      R += a;
+      c = R;
+    \end{lstlisting}
+  \end{minipage}\pause
+  \begin{minipage}[t]{4cm}
+    Mehrere Register:\smallskip\par
+    \begin{lstlisting}[style=asm,gobble=6]
+      movl  (b), %eax
+      imull $2, %eax, %eax
+      addl  (a), %eax
+      movl  %eax, (c)
+    \end{lstlisting}
+    \smallskip\par
+    (IA-32-Assembler)
+  \end{minipage}\pause
+  \begin{minipage}[t]{3cm}
+    Akkumulator:\smallskip\par
+    \begin{lstlisting}[style=asm,gobble=6]
+      load  (b)
+      mul   $2
+      add   (a)
+      store (c)
+    \end{lstlisting}
+    \smallskip\par
+    (Pseudo-Assembler)
+  \end{minipage}\pause
+  \begin{minipage}[t]{3cm}
+    Register-Stack:\smallskip\par
+    \begin{lstlisting}[style=asm,gobble=6]
+      push  (a)
+      push  (b)
+      push  $2
+      mul
+      add
+      pop   (c)
+    \end{lstlisting}
+  \end{minipage}
+
+\end{frame}
+
+\begin{frame}
+
+  \showsubsubsection
+
+  Beispiele:
+  \begin{itemize}
+    \item
+      Intel IA-32, AMD64:\\
+      Mehrere Register, für verschiedene Zwecke spezialisiert (unübersichtlich),\\[\smallskipamount]
+      Fließkommaregister: Stack-Architektur
+    \item
+      Atmel AVR (z.\,B.\ ATmega):\\
+      32 Register
+    \item
+      6502, Renesas 740-CPU, Renesas-38000-Mikrocontroller:\\
+      3 Register: A, X, Y. Nur A kann rechnen $\longrightarrow$ Akkumulator
+    \item
+      Java Virtual Machine (JVM):\\
+      Stack-Architektur
+    \item
+      Redcode:\\
+      Jede Speicherzelle fungiert als Register
+  \end{itemize}
+
+\end{frame}
+
+\subsubsection{Befehlssätze}
+
+\begin{frame}
+
+  \showsubsubsection
+
+  \begin{itemize}
+    \item
+     \newterm{Reduced Instruction Set Computer (RISC)}
+
+      \smallskip
+
+      wenige, wenig mächtige Befehle
+
+      \begin{onlyenv}<1>
+        \textarrow\ Programmierung in Assembler für Menschen unkomfortabel\\
+        \textarrow\ schnelle Abarbeitung der Befehle
+
+        \medskip
+
+        Beispiel: Atmel AVR
+        \begin{itemize}
+          \item
+            Der ``load immediate''-Befehl funktioniert nur
+            für die Register 16 bis 31,\\
+            nicht für die Register 0 bis 15.
+          \item
+            Die meisten Befehle werden in nur 1 Taktzyklus abgearbeitet.
+        \end{itemize}
+
+        \medskip
+        
+        Beispiel: Redcode ICWS-86
+        \begin{itemize}
+          \item
+            Es gibt indirekte Adressierung mit Prä-Dekrement,\\
+            aber nicht mit Prä-Inkrement.
+          \item
+            Alle Befehle werden in nur 1 Taktzyklus abgearbeitet.
+        \end{itemize}
+      \end{onlyenv}
+ 
+    \pause
+    \medskip
+    \item
+      \newterm{Complex Instruction Set Computer (CISC)}
+
+      \smallskip
+
+      Umfangreiche Befehlssätze, mächtige Befehle
+
+      \begin{onlyenv}<2>
+        \textarrow\ komfortable manuelle Programmierung in Assembler\\
+        \textarrow\ längere Abarbeitungszeit der einzelnen Befehle
+
+        \smallskip
+
+        Realisierung: "`Prozessor im Prozessor"' -- \newterm{Mikroprogramme}
+
+        \medskip
+
+        Beispiel: Intel IA-32, AMD64
+        \begin{itemize}
+          \item
+            Es gibt spezielle Befehle für BCD- und String-Operationen.
+          \item
+            Befehle benötigen meistens 2 oder mehr,\\
+            gelegentlich (z.\,B.\ Fließkomma-Operationen) auch über 100 Taktzyklen.
+        \end{itemize}
+      \end{onlyenv}
+
+    \medskip
+    \pause
+    \item
+      \newterm{Very Long Instruction Word (VLIW)\/} und\\
+      \newterm{Explicitly Parallel Instruction Computing (EPIC)}
+
+      \smallskip
+
+      mehrere Befehle gleichzeitig ausführbar
+
+      \begin{onlyenv}<3>
+        \textarrow\ mehr Rechenleistung möglich\\
+        \textarrow\ Programmierung sehr aufwendig
+
+        \medskip
+
+        Beispiel: Intel IA-64
+      \end{onlyenv}
+
+    \pause
+    \medskip
+    \item
+      \newterm{Orthogonaler Befehlssatz}
+
+      \smallskip
+
+      Jeder Befehl ist mit jeder Adressierungsart kombinierbar.
+
+      \medskip
+
+      Beispiel: Redcode
+  \end{itemize}
+  \vspace*{-4cm}
+
+\end{frame}
+
+\subsection{Der CPU-Stack\label{CPU-Stack}}
+\addtocounter{subsubsection}{-1}
+\subsubsection{Was ist ein Stack?}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+  \showsubsubsection
+
+  \bigskip
+
+\iffalse
+
+  \begin{minipage}[b]{6cm}
+    \begin{center}
+      "`First In -- First Out"'
+
+      \bigskip
+
+      \begin{picture}(6,4)
+        \thicklines
+        \color{structure}
+        \put(0.5,0){\line(1,0){5}}
+
+        \put(3.5,0){\only<1-5>{\line(0,1){1}}}
+        \put(4.5,0){\only<1-4>{\line(0,1){1}}}
+        \put(3.5,1){\only<1-4>{\line(1,0){1}}}
+        \put(4.0,0.5){\only<1-4>{\makebox(0,0){\lstinline{3}}}}
+        \put(3.0,1.5){\only<1>{\makebox(0,0)[tl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,-0.45);}}}}
+        \put(3.0,1.5){\only<1>{\makebox(0,0)[b]{\lstinline{push (3)}}}}
+
+        \put(2.5,0){\only<2-6>{\line(0,1){1}}}
+        \put(2.5,1){\only<2-5>{\line(1,0){1}}}
+        \put(3.0,0.5){\only<2-5>{\makebox(0,0){\lstinline{7}}}}
+        \put(2.0,1.5){\only<2>{\makebox(0,0)[tl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,-0.45);}}}}
+        \put(2.0,1.5){\only<2>{\makebox(0,0)[b]{\lstinline{push (7)}}}}
+
+        \put(1.5,0){\only<3-6>{\line(0,1){1}}}
+        \put(1.5,1){\only<3-6>{\line(1,0){1}}}
+        \put(2.0,0.5){\only<3-6>{\makebox(0,0){\lstinline{137}}}}
+        \put(1.0,1.5){\only<3>{\makebox(0,0)[tl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,-0.45);}}}}
+        \put(1.0,1.5){\only<3>{\makebox(0,0)[b]{\lstinline{push (137)}}}}
+
+        \put(4.55,1.05){\only<4>{\makebox(0,0)[bl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,0.45);}}}}
+        \put(5.00,1.60){\only<4>{\makebox(0,0)[b]{\lstinline{pop ()}: 3}}}
+
+        \put(3.55,1.05){\only<5>{\makebox(0,0)[bl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,0.45);}}}}
+        \put(4.00,1.60){\only<5>{\makebox(0,0)[b]{\lstinline{pop ()}: 7}}}
+
+        \put(2.55,1.05){\only<6>{\makebox(0,0)[bl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,0.45);}}}}
+        \put(3.00,1.60){\only<6>{\makebox(0,0)[b]{\lstinline{pop ()}: 137}}}
+      \end{picture}
+
+      \bigskip
+
+      FIFO = Queue = Reihe
+    \end{center}
+  \end{minipage}\hfill
+
+\fi
+
+  \begin{minipage}[b]{6cm}
+    \begin{center}
+      "`Last In -- First Out"'
+
+      \bigskip
+
+      \begin{picture}(6,4)
+        \thicklines
+        \color{structure}
+        \put(1.5,0){\line(1,0){3}}
+
+        \put(2.5,0){\line(0,1){1}}
+        \put(3.5,0){\line(0,1){1}}
+        \put(2.5,1){\line(1,0){1}}
+        \put(3.0,0.5){\makebox(0,0){\lstinline{3}}}
+        \put(2.0,1.5){\only<1>{\makebox(0,0)[tl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,-0.45);}}}}
+        \put(2.0,1.5){\only<1>{\makebox(0,0)[b]{\lstinline{push (3)}}}}
+
+        \put(2.5,1){\only<2-5>{\line(0,1){1}}}
+        \put(3.5,1){\only<2-5>{\line(0,1){1}}}
+        \put(2.5,2){\only<2-5>{\line(1,0){1}}}
+        \put(3.0,1.5){\only<2-5>{\makebox(0,0){\lstinline{7}}}}
+        \put(2.0,2.5){\only<2>{\makebox(0,0)[tl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,-0.45);}}}}
+        \put(2.0,2.5){\only<2>{\makebox(0,0)[b]{\lstinline{push (7)}}}}
+
+        \put(2.5,2){\only<3-4>{\line(0,1){1}}}
+        \put(3.5,2){\only<3-4>{\line(0,1){1}}}
+        \put(2.5,3){\only<3-4>{\line(1,0){1}}}
+        \put(3.0,2.5){\only<3-4>{\makebox(0,0){\lstinline{137}}}}
+        \put(2.0,3.5){\only<3>{\makebox(0,0)[tl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,-0.45);}}}}
+        \put(2.0,3.5){\only<3>{\makebox(0,0)[b]{\lstinline{push (137)}}}}
+
+        \put(3.55,3.05){\only<4>{\makebox(0,0)[bl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,0.45);}}}}
+        \put(4.00,3.60){\only<4>{\makebox(0,0)[b]{\lstinline{pop ()}: 137}}}
+
+        \put(3.55,2.05){\only<5>{\makebox(0,0)[bl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,0.45);}}}}
+        \put(4.00,2.60){\only<5>{\makebox(0,0)[b]{\lstinline{pop ()}: 7}}}
+
+        \put(3.55,1.05){\only<6>{\makebox(0,0)[bl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,0.45);}}}}
+        \put(4.00,1.60){\only<6>{\makebox(0,0)[b]{\lstinline{pop ()}: 3}}}
+      \end{picture}
+
+      \bigskip
+
+      LIFO = Stack = Stapel
+    \end{center}
+  \end{minipage}
+
+%
+%  \dots
+
+\end{frame}
+\subsubsection{Implementierung}
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  Speicher, in dem Werte "`gestapelt"' werden: \newterm{Stack}
+
+  \begin{itemize}
+    \item
+      Speicherbereich (ein array) reservieren
+    \item
+      Variable (typischerweise: Prozessorregister) als
+      \newterm{Stack Pointer\/} reservieren \textarrow\ \lstinline{SP}
+    \item
+      Assembler-Befehl \lstinline[style=asm]{push foo}: \quad
+      \lstinline{*SP++ = foo;}
+      \begin{itemize}
+        \item
+          In der Speicherzelle,
+          auf die der Stack Pointer \lstinline{SP} gerade zeigt,\\
+          den Wert \lstinline{foo} speichern.
+        \item
+          Danach den Stack Pointer inkrementieren (um 1 erhöhen).
+      \end{itemize}
+    \item
+      Assembler-Befehl \lstinline[style=asm]{pop bar}: \quad
+      \lstinline{bar = *--SP;}
+      \begin{itemize}
+        \item
+          Zuerst den Stack Pointer dekrementieren (um 1 erniedrigen).
+        \item
+          Danach aus der Speicherzelle,\\
+          auf die der Stack Pointer \lstinline{SP} gerade zeigt,\\
+          einen Wert lesen und in der Variablen \lstinline{bar} speichern.
+      \end{itemize}
+  \end{itemize}
+
+  \pause
+  \medskip
+  Speziell: Unterprogramme
+
+\end{frame}
+
+\subsubsection{Unterprogramme}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+  \showsubsubsection
+
+  \begin{minipage}[t]{4.5cm}
+    Parameter:
+    \begin{itemize}
+      \item
+        Prozessorregister
+      \item
+        CPU-Stack
+    \end{itemize}
+
+    \smallskip
+
+    Rückgabewert:
+    \begin{itemize}
+      \item
+        Prozessorregister
+    \end{itemize}
+  \end{minipage}%
+  \begin{minipage}[t]{5cm}
+    Aufruf:
+    \begin{itemize}
+      \item
+        \lstinline[style=asm]{push IP}\\
+        \lstinline[style=asm]{jmp foo}
+        {\color{red}\boldmath $\longleftarrow$ mov \#foo IP}\\
+        \textarrow\ \lstinline[style=asm]{call foo}
+    \end{itemize}
+    Rücksprung:
+    \begin{itemize}
+      \item
+        \lstinline[style=asm]{pop IP}\\
+        \textarrow\ \lstinline[style=asm]{ret}
+    \end{itemize}
+  \end{minipage}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+  \showsubsubsection
+
+  \begin{minipage}[t]{4.5cm}
+    Parameter:
+    \begin{itemize}
+      \item
+        Prozessorregister
+      \item
+        CPU-Stack
+    \end{itemize}
+
+    \smallskip
+
+    Rückgabewert:
+    \begin{itemize}
+      \item
+        Prozessorregister
+    \end{itemize}
+  \end{minipage}%
+  \begin{minipage}[t]{5cm}
+    Aufruf:
+    \begin{itemize}
+      \item
+        \lstinline[style=asm]{push IP}\\
+        \lstinline[style=asm]{jmp foo}
+        {\color{red}\boldmath $\longleftarrow$ mov \#foo IP}\\
+        \textarrow\ \lstinline[style=asm]{call foo}
+    \end{itemize}
+    Rücksprung:
+    \begin{itemize}
+      \item
+        \lstinline[style=asm]{pop IP}\\
+        \textarrow\ \lstinline[style=asm]{ret}
+    \end{itemize}
+  \end{minipage}
+
+  \bigskip
+
+  \subsubsection{Lokale Variable}
+  \showsubsubsection
+
+  \dots\ speichert man oft ebenfalls auf dem Stack.
+
+  \smallskip
+
+  Speicherplatz reservieren: Stack-Pointer modifizieren
+
+  \medskip
+
+  \newterm{Buffer Overflow\/}:\\
+  Über die Grenzen einer lokalen Variablen hinausschreiben,\\
+  dabei Rücksprungadresse überschreiben \textarrow\ Absturz
+
+\end{frame}
+
+\subsubsection{Register sichern}
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  Ein Unterprogramm verändert Registerinhalte.
+  \begin{itemize}
+    \item
+      im Hauptprogramm nötigenfalls vor Aufruf sichern
+    \item
+      im Unterprogramm vor Benutzung sichern
+    \item
+      Kombinationen (manche Register so, manche so)
+  \end{itemize}
+
+\end{frame}
+
+\subsection{Computer-Sprachen}
+\subsubsection{Maschinensprache}
+
+\iffalse
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  \strut\hfill
+  \begin{minipage}{6.5cm}
+    \vspace*{-1.7cm}
+    \small
+    Computer
+    \begin{itemize}\itemsep0pt
+      \item Rechenwerk (ALU)
+      \item Speicher: Register,\\
+            adressierbarer Hauptspeicher
+      \item Takt: Befehle abarbeiten
+      \item Peripherie: Kommunikation\\
+            mit der Außenwelt
+      \arrowitem in Maschinensprache programmierbar
+    \end{itemize}
+  \end{minipage}\hspace*{-0.5cm}
+
+  In jedem Takt:
+  \begin{itemize}
+    \item
+      dort aus dem Hauptspeicher lesen, wohin das Register \lstinline{IP} zeigt\\
+      \textarrow\ \newterm{Befehl\/} (\newterm{Instruction\/} -- \lstinline{IP} = \newterm{Instruction Pointer\/})
+    \item
+      den \newterm{Befehl\/} an den \newterm{Funktion\/}-Eingang der \newterm{ALU\/} legen
+    \item
+      auf ähnliche Weise weitere Daten an den \newterm{Akkumulator\/}-\\
+      und den \newterm{Daten\/}-Eingang der \newterm{ALU\/} legen
+    \item
+      auf ähnliche Weise den \newterm{Ergebnis\/}-Ausgang der \newterm{ALU}\\
+      in den Hauptspeicher schreiben
+      \textarrow\ Befehl ausgeführt
+    \item
+      Register \lstinline{IP} hochzählen
+      \textarrow\ nächster Befehl
+    \arrowitem
+      Maschinensprache
+  \end{itemize}
+
+\end{frame}
+
+\fi
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  \begin{itemize}
+    \item
+      Lade- und Speicher-Befehle\\
+      arithmetische Befehle\\
+      unbedingte und bedingte Sprungbefehle
+    \arrowitem
+      Der Computer kann "`alles"' -- \newterm{Turing-Vollständigkeit}
+    \bigskip
+    \item
+      Maschinensprache = Zahlen \textarrow\ für Menschen schwer handhabbar
+    \arrowitem
+      Namen für die Befehle: \newterm{Mnemonics}
+    \arrowitem
+      \newterm{Assembler\/}-Sprache
+  \end{itemize}
+
+\end{frame}
+
+\subsubsection{\strut{\protect\color{gray}Maschinensprache \protect\textarrow\ }Assembler}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  Beispiel: Intel-x86-16-Bit-Assembler
+
+  \begin{itemize}
+    \item
+      Lade- und Speicher-Befehle\hfill
+        \lstinline{mov}, \dots\\
+      arithmetische Befehle\hfill
+        \lstinline{add}, \lstinline{sub}, \lstinline{inc}, \lstinline{dec},
+        \lstinline{xor}, \lstinline{cmp}, \dots\\
+      unbedingte und bedingte Sprungbefehle\hfill
+        \lstinline{jmp}, \lstinline{jz}, \lstinline{jae}, \dots
+    \item
+      Register\hfill
+        \lstinline{ax}, \lstinline{bx}, \dots
+  \end{itemize}
+
+%  \begin{onlyenv}<1>
+%    \begin{center}
+%%      \includegraphics[width=10cm]{programm-screenshot.png}
+%      \vspace*{-0.5cm}
+%    \end{center}
+%  \end{onlyenv}
+%  \begin{onlyenv}<2->
+
+    \bigskip
+
+    Beispiel: Atmel-AVR-8-Bit-Assembler
+
+    \begin{itemize}
+      \item
+        Lade- und Speicher-Befehle\hfill
+          \lstinline{ldi}, \lstinline{lds}, \lstinline{sti}, \dots\\
+        arithmetische Befehle\hfill
+          \lstinline{add}, \lstinline{sub}, \lstinline{subi},
+          \lstinline{eor}, \lstinline{cp}, \dots\\
+        unbedingte und bedingte Sprungbefehle\hfill
+          \lstinline{rjmp}, \lstinline{brsh}, \lstinline{brlo}, \dots
+      \item
+        Register\hfill
+          \lstinline{r0}, \lstinline{r1}, \dots
+    \end{itemize}
+
+    \bigskip
+
+    \textarrow\ für jeden Prozessor anders
+
+%  \end{onlyenv}
+
+\end{frame}
+
+\subsubsection{\strut{\protect\color{gray}Maschinensprache \protect\textarrow\ Assembler \protect\textarrow\ }Hochsprachen}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  Beispiel: Intel-x86-16-Bit-Assembler
+
+  \begin{itemize}
+    \item
+      Lade- und Speicher-Befehle\hfill
+        \lstinline{mov}, \dots\\
+      arithmetische Befehle\hfill
+        \lstinline{add}, \lstinline{sub}, \lstinline{inc}, \lstinline{dec},
+        \lstinline{xor}, \lstinline{cmp}, \dots\\
+      unbedingte und bedingte Sprungbefehle\hfill
+        \lstinline{jmp}, \lstinline{jz}, \lstinline{jae}, \dots
+    \item
+      Register\hfill
+        \lstinline{ax}, \lstinline{bx}, \dots
+  \end{itemize}
+
+  \bigskip
+
+  Beispiel: Atmel-AVR-8-Bit-Assembler
+
+  \begin{itemize}
+    \item
+      Lade- und Speicher-Befehle\hfill
+        \lstinline{ldi}, \lstinline{lds}, \lstinline{sti}, \dots\\
+      arithmetische Befehle\hfill
+        \lstinline{add}, \lstinline{sub}, \lstinline{subi},
+        \lstinline{eor}, \lstinline{cp}, \dots\\
+      unbedingte und bedingte Sprungbefehle\hfill
+        \lstinline{rjmp}, \lstinline{brsh}, \lstinline{brlo}, \dots
+    \item
+      Register\hfill
+        \lstinline{r0}, \lstinline{r1}, \dots
+  \end{itemize}
+
+  \bigskip
+
+  \textarrow\ für jeden Prozessor anders
+
+  \bigskip
+
+  Hochsprache \textarrow\ für jeden Prozessor gleich
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  Compiler-Sprachen
+  \begin{itemize}
+    \item
+      \newterm{Compiler\/} übersetzt Hochsprachen-\newterm{Quelltext\/} in die Assembler-Sprache
+    \item
+      \newterm{Assembler\/} übersetzt Assembler-Quelltext in die Maschinensprache
+    \item
+      Compiler und Assembler sind Programme,\\
+      geschrieben in Maschinensprache, Assembler oder einer Hochsprache
+    \item
+      Beispiele: Fortran, Algol, Pascal, Ada, C, C++, \dots
+  \end{itemize}
+
+  \pause
+  \medskip
+  Interpreter- oder Skript-Sprachen
+  \begin{itemize}
+    \item
+      \newterm{Interpreter\/} liest Hochsprachen-\newterm{Quelltext\/} und führt ihn sofort aus
+    \item
+      Der Interpreter ist ein Programm,\\
+      geschrieben in Maschinensprache, Assembler oder einer Hochsprache
+    \item
+      Beispiele: Unix-Shell, BASIC, Perl, Python, \dots
+  \end{itemize}
+
+  \pause
+  \medskip
+  Kombinationen
+  \begin{itemize}
+    \item
+      \newterm{Compiler\/} erzeugt \newterm{Zwischencode\/} für eine \newterm{virtuelle Maschine}
+    \item
+      \newterm{Interpreter\/} liest Hochsprachen-\newterm{Zwischencode\/} und führt ihn sofort aus
+    \item
+      Die virtuelle Maschine ist ein Programm,
+      geschrieben in Maschinensprache, Assembler, einer Hoch- oder Skript-Sprache
+    \item
+      Beispiele: UCSD-Pascal, Java, \dots
+  \end{itemize}
+  \medskip
+
+\end{frame}
+
+\section{Hardwarenahe Programmierung}
+\subsection{Bit-Operationen}
+\subsubsection{Zahlensysteme}
+
+\begin{frame}[fragile]
+
+  \showsection
+  \vspace*{-\smallskipamount}
+  \showsubsection
+  \vspace*{-\medskipamount}
+  \showsubsubsection
+
+  \begin{tabular}{rlrl}
+    Basis & Name & Beispiel & Anwendung \\[\smallskipamount]
+      2 & Binärsystem & 1\,0000\,0011 & Bit-Operationen \\
+      8 & Oktalsystem & \lstinline,0403, & Dateizugriffsrechte (Unix) \\
+     10 & Dezimalsystem & \lstinline,259, & Alltag \\
+     16 & Hexadezimalsystem & \lstinline,0x103, & Bit-Operationen \\
+    256 & (keiner gebräuchlich) & 0.0.1.3 & IP-Adressen (IPv4)
+  \end{tabular}
+
+  \bigskip
+
+  \begin{itemize}
+    \item
+      Computer rechnen im Binärsystem.
+    \item
+      Für viele Anwendungen (z.\,B.\ I/O-Ports, Grafik, \dots) ist es notwendig,\\
+      Bits in Zahlen einzeln ansprechen zu können.
+  \end{itemize}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  \begin{tabular}{rlrlrc}
+    \qquad 000 & \bf 0 \hspace*{1.5cm} & 0000 & \bf 0 & \quad 1000 & \bf 8\\
+           001 & \bf 1                 & 0001 & \bf 1 &       1001 & \bf 9\\
+           010 & \bf 2                 & 0010 & \bf 2 &       1010 & \bf A\\
+           011 & \bf 3                 & 0011 & \bf 3 &       1011 & \bf B\\[\smallskipamount]
+           100 & \bf 4                 & 0100 & \bf 4 &       1100 & \bf C\\
+           101 & \bf 5                 & 0101 & \bf 5 &       1101 & \bf D\\
+           110 & \bf 6                 & 0110 & \bf 6 &       1110 & \bf E\\
+           111 & \bf 7                 & 0111 & \bf 7 &       1111 & \bf F\\
+  \end{tabular}
+
+  \medskip
+
+  \begin{itemize}
+    \item
+      Oktal- und Hexadezimalzahlen lassen sich ziffernweise\\
+      in Binär-Zahlen umrechnen.
+    \item
+      Hexadezimalzahlen sind eine Kurzschreibweise für Binärzahlen,\\
+      gruppiert zu jeweils 4 Bits.
+    \item
+      Oktalzahlen sind eine Kurzschreibweise für Binärzahlen,\\
+      gruppiert zu jeweils 3 Bits.
+    \item
+      Trotz Taschenrechner u.\,ä.\ lohnt es sich,\\
+      die o.\,a.\ Umrechnungstabelle \textbf{auswendig} zu kennen.
+  \end{itemize}
+
+\end{frame}
+
+\subsubsection{Bit-Operationen in C}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  \begin{tabular}{lll}
+    C-Operator     & Verknüpfung              & Anwendung                \\[\smallskipamount]
+    \lstinline,&,  & Und                      & Bits gezielt löschen     \\
+    \lstinline,|,  & Oder                     & Bits gezielt setzen      \\
+    \lstinline,^,  & Exklusiv-Oder            & Bits gezielt invertieren \\
+    \lstinline,~,  & Nicht                    & Alle Bits invertieren    \\[\smallskipamount]
+    \lstinline,<<, & Verschiebung nach links  & Maske generieren         \\
+    \lstinline,>>, & Verschiebung nach rechts & Bits isolieren
+  \end{tabular}
+
+  \bigskip
+
+  Numerierung der Bits: von rechts ab 0
+
+  \medskip
+
+  \begin{tabular}{ll}
+    Bit Nr.\ 3 auf 1 setzen: &
+    \lstinline,a |= 1 << 3;, \\
+    Bit Nr.\ 4 auf 0 setzen: &
+    \lstinline,a &= ~(1 << 4);, \\
+    Bit Nr.\ 0 invertieren: &
+    \lstinline,a ^= 1 << 0;,
+  \end{tabular}
+
+  \smallskip
+
+  ~~Abfrage, ob Bit Nr.\ 1 gesetzt ist:\quad
+  \lstinline{if (a & (1 << 1))}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  C-Datentypen für Bit-Operationen:
+  \smallskip\par
+  \lstinline{#include <stdint.h>}
+  \medskip\par
+  \begin{tabular}{lllll}
+                    & 8 Bit & 16 Bit & 32 Bit & 64 Bit \\
+    mit Vorzeichen  & \lstinline,int8_t,
+                    & \lstinline,int16_t,
+                    & \lstinline,int32_t,
+                    & \lstinline,int64_t, \\
+    ohne Vorzeichen & \lstinline,uint8_t,
+                    & \lstinline,uint16_t,
+                    & \lstinline,uint32_t,
+                    & \lstinline,uint64_t,
+  \end{tabular}
+
+  \bigskip
+  \bigskip
+
+  Ausgabe:
+  \smallskip\par
+  \begin{lstlisting}
+    #include <stdio.h>
+    #include <stdint.h>
+    #include <inttypes.h>
+    ...
+    uint64_t x = 42;
+    printf ("Die Antwort lautet: %" PRIu64 "\n", x);
+  \end{lstlisting}
+
+\iffalse
+
+  \bigskip
+
+  Aufgabe: Schreiben Sie C-Funktionen, die ein "`Array von Bits"' realisieren, z.\,B.
+
+  \smallskip
+
+  \begin{tabular}[t]{ll}
+    \lstinline|void set_bit (int i);|   & Bei Index $i$ auf 1 setzen \\
+    \lstinline|void clear_bit (int i);| & Bei Index $i$ auf 0 setzen \\
+    \lstinline|int get_bit (int i);|    & Bei Index $i$ lesen
+  \end{tabular}
+
+  \medskip
+
+  Hinweise:
+  \begin{itemize}
+    \item
+      Die Größe des Bit-"`Arrays"' (z.\,B.\ 1000) dürfen Sie als \emph{vorher bekannt\/} voraussetzen.
+    \item
+      Sie benötigen ein Array, z.\,B.\ von \lstinline|char|- oder \lstinline|int|-Variablen.
+    \item
+      Sie benötigen eine Division (\lstinline|/|) sowie den Divisionsrest (Modulo: \lstinline|%|).
+  \end{itemize}
+
+\fi
+
+\end{frame}
+
+\subsection{I/O-Ports}
+
+\begin{frame}[fragile]
+
+%  \showsection
+  \showsubsection
+  \vspace*{-1.5\medskipamount}
+  {\large\textbf{\color{structure}4.3\quad Interrupts}}
+
+  \bigskip
+
+  Kommunikation mit externen Geräten
+
+  \bigskip
+
+  \begin{center}
+    \includegraphics{io-ports-and-interrupts.pdf}
+  \end{center}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  In Output-Port schreiben = Aktoren ansteuern
+
+  Beispiel: LED
+
+  \medskip
+
+  \begin{lstlisting}
+    #include <avr/io.h>
+    ...
+    DDRC = 0x70;
+    PORTC = 0x40;
+  \end{lstlisting}
+  \begin{picture}(0,0)
+    \put(3,0.67){\begin{minipage}{3cm}
+                \color{red}%
+                binär: 0111\,0000\\
+                binär: 0100\,0000
+              \end{minipage}}
+    \put(10,0.67){\makebox(0,0)[r]{\color{red}Herstellerspezifisch!}}
+  \end{picture}
+
+  \bigskip
+
+  \lstinline{DDR} = Data Direction Register\\
+  Bit = 1 für Output-Port\\
+  Bit = 0 für Input-Port
+
+  \bigskip
+
+  \emph{Details: siehe Datenblatt und Schaltplan}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Aus Input-Port lesen = Sensoren abfragen
+
+  Beispiel: Taster
+
+  \medskip
+
+  \begin{lstlisting}
+    #include <avr/io.h>
+    ...
+    DDRC = 0xfd;
+    while ((PINC & 0x02) == 0)
+      ; /* just wait */
+  \end{lstlisting}
+  \begin{picture}(0,0)(-1.5,-0.42)
+    \put(3,0.67){\begin{minipage}{3cm}
+                \color{red}%
+                binär: 1111\,1101\\
+                binär: 0000\,0010
+              \end{minipage}}
+    \put(10,0.67){\makebox(0,0)[r]{\color{red}Herstellerspezifisch!}}
+  \end{picture}
+
+  \bigskip
+
+  \lstinline{DDR} = Data Direction Register\\
+  Bit = 1 für Output-Port\\
+  Bit = 0 für Input-Port
+
+  \bigskip
+
+  \emph{Details: siehe Datenblatt und Schaltplan}
+  
+  \bigskip
+
+  Praktikumsaufgabe: Druckknopfampel
+
+\end{frame}
+
+\subsection{Interrupts}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Externes Gerät ruft (per Stromsignal) Unterprogramm auf
+
+  Zeiger hinterlegen: "`Interrupt-Vektor"'
+
+  Beispiel: eingebaute Uhr\hfill
+  \makebox(0,0)[tr]{%
+    \only<1->{\begin{minipage}[t]{4.7cm}
+        \vspace*{-0.3cm}%
+        statt Zählschleife (\lstinline{_delay_ms}):\\
+        Hauptprogramm kann\\
+        andere Dinge tun
+      \end{minipage}}%
+    }
+
+  \medskip
+
+  \begin{lstlisting}
+    #include <avr/interrupt.h>
+
+    ...
+
+
+    ISR (TIMER0B_COMP_vect)
+    {
+      PORTD ^= 0x40;
+    }
+  \end{lstlisting}
+  \begin{picture}(0,0)
+    \color{red}
+    \put(1.9,3.1){\makebox(0,0)[tr]{\tikz{\draw[-latex](0,0)--(-1.4,-1.0);}}}
+    \put(2.0,3.2){\makebox(0,0)[l]{"`Dies ist ein Interrupt-Handler."'}}
+    \put(2.3,2.6){\makebox(0,0)[tr]{\tikz{\draw[-latex](0,0)--(-0.6,-0.55);}}}
+    \put(2.4,2.6){\makebox(0,0)[l]{Interrupt-Vektor darauf zeigen lassen}}
+  \end{picture}
+
+  Initialisierung über spezielle Ports:
+  \lstinline{TCCR0B}, \lstinline{TIMSK0}
+
+  \bigskip
+
+  \emph{Details: siehe Datenblatt und Schaltplan}
+
+  \vspace*{-2.5cm}\hfill
+  {\color{red}Herstellerspezifisch!}%
+  \hspace*{1cm}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Externes Gerät ruft (per Stromsignal) Unterprogramm auf
+
+  Zeiger hinterlegen: "`Interrupt-Vektor"'
+
+  Beispiel: Taster\hfill
+  \makebox(0,0)[tr]{%
+    \begin{minipage}[t]{4.7cm}
+      \vspace*{-0.3cm}%
+      statt \newterm{Busy Waiting\/}:\\
+      Hauptprogramm kann\\
+      andere Dinge tun
+    \end{minipage}}
+
+  \medskip
+
+  \begin{lstlisting}
+    #include <avr/interrupt.h>
+    ...
+
+    ISR (INT0_vect)
+    {
+      PORTD ^= 0x40;
+    }
+  \end{lstlisting}
+
+  \medskip
+
+  Initialisierung über spezielle Ports:
+  \lstinline{EICRA}, \lstinline{EIMSK}
+
+  \bigskip
+
+  \emph{Details: siehe Datenblatt und Schaltplan}
+
+  \vspace*{-2.5cm}\hfill
+  {\color{red}Herstellerspezifisch!}%
+  \hspace*{1cm}
+
+\end{frame}
+
+\subsection{volatile-Variable}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Externes Gerät ruft (per Stromsignal) Unterprogramm auf
+
+  Zeiger hinterlegen: "`Interrupt-Vektor"'
+
+  Beispiel: Taster
+
+  \vspace*{-2.5pt}
+
+  \begin{minipage}[t]{5cm}
+    \begin{onlyenv}<1>
+      \begin{lstlisting}[gobble=8]
+        ¡#include <avr/interrupt.h>
+        ...
+
+        uint8_t key_pressed = 0;
+
+        ISR (INT0_vect)
+        {
+          key_pressed = 1;
+        }¿
+      \end{lstlisting}
+    \end{onlyenv}
+    \begin{onlyenv}<2>
+      \begin{lstlisting}[gobble=8]
+        ¡#include <avr/interrupt.h>
+        ...
+
+        volatile uint8_t key_pressed = 0;
+
+        ISR (INT0_vect)
+        {
+          key_pressed = 1;
+        }¿
+      \end{lstlisting}
+    \end{onlyenv}
+  \end{minipage}\hfill
+  \begin{minipage}[t]{6cm}
+    \begin{lstlisting}[gobble=6]
+      ¡int main (void)
+      {
+        ...
+
+        while (1)
+          {
+            while (!key_pressed)
+              ;  /* just wait */
+            PORTD ^= 0x40;
+            key_pressed = 0;
+          }
+        return 0;
+      }¿
+    \end{lstlisting}
+  \end{minipage}
+
+  \pause
+  \begin{picture}(0,0)
+    \color{red}
+    \put(10.3,4.0){\makebox(0,0)[b]{\begin{minipage}{6cm}
+        \begin{center}
+          \textbf{volatile}:\\
+          Speicherzugriff\\
+          nicht wegoptimieren
+        \end{center}
+      \end{minipage}}}
+    \put(10.3,3.95){\makebox(0,0)[tr]{\tikz{\draw[-latex](0,0)--(-0.5,-0.9);}}}
+  \end{picture}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Was ist eigentlich \lstinline{PORTD}?
+
+  \bigskip
+  \pause
+
+  \lstinline[style=cmd]{avr-gcc -Wall -Os -mmcu=atmega328p blink-3.c -E}
+
+  \bigskip
+  \pause
+  \lstinline{PORTD = 0x01;}\\
+  \textarrow\quad
+  \lstinline[style=terminal]{(*(volatile uint8_t *)((0x0B) + 0x20)) = 0x01;}\\
+  \pause
+  \begin{picture}(0,2)(0,-1.7)
+    \color{red}
+    \put(5.75,0.3){$\underbrace{\rule{2.95cm}{0pt}}_{\mbox{Zahl: \lstinline|0x2B|}}$}
+    \pause
+    \put(1.55,0.3){$\underbrace{\rule{4.0cm}{0pt}}_{\mbox{\shortstack[t]{Umwandlung in Zeiger\\
+      auf \lstinline|volatile uint8_t|}}}$}
+    \pause
+    \put(1.32,-1){\makebox(0,0)[b]{\tikz{\draw[-latex](0,0)--(0,1.3)}}}
+    \put(1.12,-1.1){\makebox(0,0)[tl]{Dereferenzierung des Zeigers}}
+  \end{picture}
+
+  \pause
+  \textarrow\quad
+  \lstinline|volatile uint8_t|-Variable an Speicheradresse \lstinline|0x2B|
+
+  \pause
+  \bigskip
+  \bigskip
+
+  \textarrow\quad
+  \lstinline|PORTA = PORTB = PORTC = PORTD = 0| ist eine schlechte Idee.
+
+\end{frame}
+
+\subsection{Byte-Reihenfolge -- Endianness}
+\subsubsection{Konzept}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+  \showsubsubsection
+
+  Eine Zahl geht über mehrere Speicherzellen.\\
+  Beispiel: 16-Bit-Zahl in 2 8-Bit-Speicherzellen
+
+  \smallskip
+
+  Welche Bits liegen wo?
+
+%  \pause
+  \bigskip
+
+  $1027 = 1024 + 2 + 1 = 0000\,0100\,0000\,0011_2 = 0403_{16}$
+
+%  \pause
+  \bigskip
+  Speicherzellen:
+
+  \medskip
+  \begin{tabular}{|c|c|l}\cline{1-2}
+    \raisebox{-0.25ex}{04} & \raisebox{-0.25ex}{03} & \strut Big-Endian "`großes Ende zuerst"' \\\cline{1-2}
+    \multicolumn{2}{c}{} & % \pause
+      für Menschen leichter lesbar % \pause
+      \\
+    \multicolumn{3}{c}{} \\[-5pt]\cline{1-2}
+    \raisebox{-0.25ex}{03} & \raisebox{-0.25ex}{04} & \strut Little-Endian "`kleines Ende zuerst"' \\\cline{1-2}
+    \multicolumn{2}{c}{} & % \pause
+      bei Additionen effizienter
+  \end{tabular}
+
+%  \pause
+  \medskip
+  \textarrow\ Geschmackssache
+%  \pause\\
+  \quad\textbf{\dots\ außer bei Datenaustausch!}
+
+%  \pause
+%  \bigskip
+%
+%  Aber: nicht verwechseln! \qquad $0304_{16} = 772$
+
+\end{frame}
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  Eine Zahl geht über mehrere Speicherzellen.\\
+  Beispiel: 16-Bit-Zahl in 2 8-Bit-Speicherzellen
+
+  \smallskip
+
+  Welche Bits liegen wo?
+
+  \medskip
+
+  \textarrow\ Geschmackssache\\
+  \textbf{\dots\ außer bei Datenaustausch!}
+
+  \begin{itemize}
+    \item
+      Dateiformate
+    \item
+      Datenübertragung
+  \end{itemize}
+
+\end{frame}
+
+\subsubsection{Dateiformate}
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  Audio-Formate: Reihenfolge der Bytes in 16- und 32-Bit-Zahlen
+  \begin{itemize}
+    \item
+      RIFF-WAVE-Dateien (\file{.wav}): Little-Endian
+    \item
+      Au-Dateien (\file{.au}): Big-Endian
+%    \pause
+    \item
+      ältere AIFF-Dateien (\file{.aiff}): Big-Endian
+    \item
+      neuere AIFF-Dateien (\file{.aiff}): Little-Endian
+  \end{itemize}
+
+%  \pause
+  \bigskip
+
+  Grafik-Formate: Reihenfolge der Bits in den Bytes
+  \begin{itemize}
+    \item
+      PBM-Dateien: Big-Endian\only<1->{, MSB first}
+    \item
+      XBM-Dateien: Little-Endian\only<1->{, LSB first}
+  \end{itemize}
+  \only<1->{MSB/LSB = most/least significant bit}
+
+\end{frame}
+
+\subsubsection{Datenübertragung}
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  \begin{itemize}
+    \item
+      RS-232 (serielle Schnittstelle): LSB first
+    \item
+      I$^2$C: MSB first
+    \item
+      USB: beides
+    \pause
+    \medskip
+    \item
+      Ethernet: LSB first
+    \item
+      TCP/IP (Internet): Big-Endian
+  \end{itemize}
+
+\end{frame}
+
+\iffalse
+
+\subsection{Binärdarstellung negativer Zahlen}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Speicher ist begrenzt!\\
+  \textarrow\ feste Anzahl von Bits
+
+  \medskip
+
+  8-Bit-Zahlen ohne Vorzeichen: \lstinline{uint8_t}\\
+  \textarrow\ Zahlenwerte von \lstinline{0x00} bis \lstinline{0xff} = 0 bis 255\\
+  \pause
+  \textarrow\ 255 + 1 = 0
+
+  \pause
+  \medskip
+
+  8-Bit-Zahlen mit Vorzeichen: \lstinline{int8_t}\\
+  \lstinline{0xff} = 255 ist die "`natürliche"' Schreibweise für $-1$.\\
+  \pause
+  \textarrow\ Zweierkomplement
+
+  \pause
+  \medskip
+
+  Oberstes Bit = 1: negativ\\
+  Oberstes Bit = 0: positiv\\
+  \textarrow\ 127 + 1 = $-128$
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Speicher ist begrenzt!\\
+  \textarrow\ feste Anzahl von Bits
+
+  \medskip
+
+  16-Bit-Zahlen ohne Vorzeichen:
+  \lstinline{uint16_t}\hfill\lstinline{uint8_t}\\
+  \textarrow\ Zahlenwerte von \lstinline{0x0000} bis \lstinline{0xffff}
+  = 0 bis 65535\hfill 0 bis 255\\
+  \textarrow\ 65535 + 1 = 0\hfill 255 + 1 = 0
+
+  \medskip
+
+  16-Bit-Zahlen mit Vorzeichen:
+  \lstinline{int16_t}\hfill\lstinline{int8_t}\\
+  \lstinline{0xffff} = 66535 ist die "`natürliche"' Schreibweise für $-1$.\hfill
+  \lstinline{0xff} = 255 = $-1$\\
+  \textarrow\ Zweierkomplement
+
+  \medskip
+
+  Oberstes Bit = 1: negativ\\
+  Oberstes Bit = 0: positiv\\
+  \textarrow\ 32767 + 1 = $-32768$
+
+  \bigskip
+  Literatur: \url{http://xkcd.com/571/}
+
+\end{frame}
+
+\fi
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Frage: \emph{Für welche Zahl steht der Speicherinhalt\,
+  \raisebox{2pt}{%
+    \tabcolsep0.25em
+    \begin{tabular}{|c|c|}\hline
+      \rule{0pt}{11pt}a3 & 90 \\\hline
+    \end{tabular}}
+  (hexadezimal)?}
+  
+  \pause
+  \smallskip
+  Antwort: \emph{Das kommt darauf an.} ;--)
+
+  \pause
+  \medskip
+  Little-Endian:
+
+  \smallskip
+
+  \begin{tabular}{lrl}
+    als \lstinline,int8_t,: & $-93$ & (nur erstes Byte)\\
+    als \lstinline,uint8_t,: & $163$ & (nur erstes Byte)\\
+    als \lstinline,int16_t,: & $-28509$\\
+    als \lstinline,uint16_t,: & $37027$\\
+    \lstinline,int32_t, oder größer: & $37027$
+      & (zusätzliche Bytes mit Nullen aufgefüllt)
+  \end{tabular}
+
+  \pause
+  \medskip
+  Big-Endian:
+
+  \smallskip
+
+  \begin{tabular}{lrl}
+    als \lstinline,int8_t,:   & $-93$ & (nur erstes Byte)\\
+    als \lstinline,uint8_t,:  & $163$ & (nur erstes Byte)\\
+    als \lstinline,int16_t,:  & $-23664$\\
+    als \lstinline,uint16_t,: & $41872$\\ als \lstinline,int32_t,:  & $-1550843904$ & (zusätzliche Bytes\\
+    als \lstinline,uint32_t,: & $2744123392$  & mit Nullen aufgefüllt)\\
+    als \lstinline,int64_t,:  & $-6660823848880963584$\\
+    als \lstinline,uint64_t,: & $11785920224828588032$\\
+  \end{tabular}
+
+  \vspace*{-1cm}
+
+\end{frame}
+
+\subsection{Speicherausrichtung -- Alignment}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  \begin{lstlisting}
+    #include <stdint.h>
+
+    uint8_t a;
+    uint16_t b;
+    uint8_t c;
+  \end{lstlisting}
+
+  \pause
+  \bigskip
+
+  Speicheradresse durch 2 teilbar -- "`16-Bit-Alignment"'
+  \begin{itemize}
+    \item
+      2-Byte-Operation: effizienter
+    \pause
+    \item
+      \dots\ oder sogar nur dann erlaubt
+    \pause
+    \arrowitem
+      Compiler optimiert Speicherausrichtung
+  \end{itemize}
+
+  \medskip
+
+  \pause
+  \begin{minipage}{3cm}
+    \begin{lstlisting}[gobble=6]
+      ¡uint8_t a;
+      uint8_t dummy;
+      uint16_t b;
+      uint8_t c;¿
+    \end{lstlisting}
+  \end{minipage}
+  \pause
+  \begin{minipage}{3cm}
+    \begin{lstlisting}[gobble=6]
+      ¡uint8_t a;
+      uint8_t c;
+      uint16_t b;¿
+    \end{lstlisting}
+  \end{minipage}
+
+  \pause
+  \vspace{-1.75cm}
+  \strut\hfill
+  \begin{minipage}{6.5cm}
+    Fazit:
+    \begin{itemize}
+      \item
+        \textbf{Adressen von Variablen\\
+        sind systemabhängig}
+      \item
+        Bei Definition von Datenformaten\\
+        Alignment beachten \textarrow\ effizienter
+    \end{itemize}
+  \end{minipage}
+
+\end{frame}
+
+\end{document}
diff --git a/20230523/rtech-20230523.txt b/20230523/rtech-20230523.txt
new file mode 100644
index 0000000..5dfc1ac
--- /dev/null
+++ b/20230523/rtech-20230523.txt
@@ -0,0 +1,15 @@
+Stack-Alignment beim Aufruf von printf(), 23.05.2023, 12:48:23
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+https://stackoverflow.com/questions/38335212/calling-printf-in-x86-64-using-gnu-assembler
+
+Vor dem Aufruf von printf() muß der Stack auf 16 oder 32 Bytes
+ausgerichtet sein (16- bzw. 32-Byte-Alignment).
+
+32 Bytes sind notwendig, wenn das Vektor-Register __m256
+auf den Stack gelegt wird.
+
+Innerhalb von main(): Stack nur auf 8 Bytes ausgerichtet.
+Wir subtrahieren 24 von %rsp, bevor wir printf() aufrufen.
+8 von diesen 24 Bytes verwenden wir für Variable.
+
+Bei ARMv7-A (32 Bit) scheint ein 8- oder 16-Byte-Alignment zu genügen.
diff --git a/20230523/test-arm-01.c b/20230523/test-arm-01.c
new file mode 100644
index 0000000..85b2c1b
--- /dev/null
+++ b/20230523/test-arm-01.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+
+int main (void)
+{
+  volatile int a = 7;
+  volatile int b = 6;
+  printf ("a + b = %d\n", a + b);
+  return 0;
+}
diff --git a/20230523/test-arm-01.s-arm b/20230523/test-arm-01.s-arm
new file mode 100644
index 0000000..1e0aaf0
--- /dev/null
+++ b/20230523/test-arm-01.s-arm
@@ -0,0 +1,52 @@
+	.arch armv7-a
+	.eabi_attribute 28, 1
+	.eabi_attribute 20, 1
+	.eabi_attribute 21, 1
+	.eabi_attribute 23, 3
+	.eabi_attribute 24, 1
+	.eabi_attribute 25, 1
+	.eabi_attribute 26, 2
+	.eabi_attribute 30, 1
+	.eabi_attribute 34, 1
+	.eabi_attribute 18, 4
+	.file	"test-arm-01.c"
+	.text
+	.align	1
+	.global	main
+	.arch armv7-a
+	.syntax unified
+	.thumb
+	.thumb_func
+	.fpu vfpv3-d16
+	.type	main, %function
+main:
+	@ args = 0, pretend = 0, frame = 8
+	@ frame_needed = 0, uses_anonymous_args = 0
+	push	{lr}
+	sub	sp, sp, #12
+	movs	r3, #7
+	str	r3, [sp, #4]
+	movs	r3, #6
+	str	r3, [sp]
+	ldr	r1, [sp, #4]
+	ldr	r3, [sp]
+	add	r1, r1, r3
+	ldr	r0, .L3
+.LPIC0:
+	add	r0, pc
+	bl	printf(PLT)
+	movs	r0, #0
+	add	sp, sp, #12
+	@ sp needed
+	ldr	pc, [sp], #4
+.L4:
+	.align	2
+.L3:
+	.word	.LC0-(.LPIC0+4)
+	.size	main, .-main
+	.section	.rodata.str1.4,"aMS",%progbits,1
+	.align	2
+.LC0:
+	.ascii	"a + b = %d\012\000"
+	.ident	"GCC: (Debian 8.3.0-2) 8.3.0"
+	.section	.note.GNU-stack,"",%progbits
diff --git a/20230523/test-arm-01.s-x86 b/20230523/test-arm-01.s-x86
new file mode 100644
index 0000000..bad49f5
--- /dev/null
+++ b/20230523/test-arm-01.s-x86
@@ -0,0 +1,30 @@
+	.file	"test-arm-01.c"
+	.text
+	.section	.rodata.str1.1,"aMS",@progbits,1
+.LC0:
+	.string	"a + b = %d\n"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB11:
+	.cfi_startproc
+	subq	$24, %rsp
+	.cfi_def_cfa_offset 32
+	movl	$7, 12(%rsp)
+	movl	$6, 8(%rsp)
+	movl	12(%rsp), %esi
+	movl	8(%rsp), %eax
+	addl	%eax, %esi
+	leaq	.LC0(%rip), %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	movl	$0, %eax
+	addq	$24, %rsp
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230523/test-arm-01.s-x86-Os b/20230523/test-arm-01.s-x86-Os
new file mode 100644
index 0000000..c51719a
--- /dev/null
+++ b/20230523/test-arm-01.s-x86-Os
@@ -0,0 +1,30 @@
+	.file	"test-arm-01.c"
+	.text
+	.section	.rodata.str1.1,"aMS",@progbits,1
+.LC0:
+	.string	"a + b = %d\n"
+	.section	.text.startup,"ax",@progbits
+	.globl	main
+	.type	main, @function
+main:
+.LFB0:
+	.cfi_startproc
+	subq	$24, %rsp
+	.cfi_def_cfa_offset 32
+	leaq	.LC0(%rip), %rdi
+	movl	$7, 8(%rsp)
+	movl	$6, 12(%rsp)
+	movl	8(%rsp), %esi
+	movl	12(%rsp), %eax
+	addl	%eax, %esi
+	xorl	%eax, %eax
+	call	printf@PLT
+	xorl	%eax, %eax
+	addq	$24, %rsp
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE0:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230523/test-arm-02.c b/20230523/test-arm-02.c
new file mode 100644
index 0000000..92b34cb
--- /dev/null
+++ b/20230523/test-arm-02.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int main (void)
+{
+  volatile int a = 7;
+  volatile int b = 6;
+  return 0;
+}
diff --git a/20230523/test-arm-02.s-arm b/20230523/test-arm-02.s-arm
new file mode 100644
index 0000000..637f89b
--- /dev/null
+++ b/20230523/test-arm-02.s-arm
@@ -0,0 +1,37 @@
+	.arch armv7-a
+	.eabi_attribute 28, 1
+	.eabi_attribute 20, 1
+	.eabi_attribute 21, 1
+	.eabi_attribute 23, 3
+	.eabi_attribute 24, 1
+	.eabi_attribute 25, 1
+	.eabi_attribute 26, 2
+	.eabi_attribute 30, 1
+	.eabi_attribute 34, 1
+	.eabi_attribute 18, 4
+	.file	"test-arm-02.c"
+	.text
+	.align	1
+	.global	main
+	.arch armv7-a
+	.syntax unified
+	.thumb
+	.thumb_func
+	.fpu vfpv3-d16
+	.type	main, %function
+main:
+	@ args = 0, pretend = 0, frame = 8
+	@ frame_needed = 0, uses_anonymous_args = 0
+	@ link register save eliminated.
+	sub	sp, sp, #8
+	movs	r3, #7
+	str	r3, [sp, #4]
+	movs	r3, #6
+	str	r3, [sp]
+	movs	r0, #0
+	add	sp, sp, #8
+	@ sp needed
+	bx	lr
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-2) 8.3.0"
+	.section	.note.GNU-stack,"",%progbits
diff --git a/20230523/test-arm-02.s-avr b/20230523/test-arm-02.s-avr
new file mode 100644
index 0000000..c615369
--- /dev/null
+++ b/20230523/test-arm-02.s-avr
@@ -0,0 +1,40 @@
+	.file	"test-arm-02.c"
+__SP_H__ = 0x3e
+__SP_L__ = 0x3d
+__SREG__ = 0x3f
+__tmp_reg__ = 0
+__zero_reg__ = 1
+	.text
+.global	main
+	.type	main, @function
+main:
+	push r28
+	push r29
+	rcall .
+	rcall .
+	in r28,__SP_L__
+	in r29,__SP_H__
+/* prologue: function */
+/* frame size = 4 */
+/* stack size = 6 */
+.L__stack_usage = 6
+	ldi r24,lo8(7)
+	ldi r25,0
+	std Y+2,r25
+	std Y+1,r24
+	ldi r24,lo8(6)
+	ldi r25,0
+	std Y+4,r25
+	std Y+3,r24
+	ldi r24,0
+	ldi r25,0
+/* epilogue start */
+	pop __tmp_reg__
+	pop __tmp_reg__
+	pop __tmp_reg__
+	pop __tmp_reg__
+	pop r29
+	pop r28
+	ret
+	.size	main, .-main
+	.ident	"GCC: (GNU) 5.4.0"
diff --git a/20230523/test-arm-02.s-x86 b/20230523/test-arm-02.s-x86
new file mode 100644
index 0000000..b7f6937
--- /dev/null
+++ b/20230523/test-arm-02.s-x86
@@ -0,0 +1,16 @@
+	.file	"test-arm-02.c"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB11:
+	.cfi_startproc
+	movl	$7, -4(%rsp)
+	movl	$6, -8(%rsp)
+	movl	$0, %eax
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230523/test-arm-03.c b/20230523/test-arm-03.c
new file mode 100644
index 0000000..1dc41ef
--- /dev/null
+++ b/20230523/test-arm-03.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+int main (void)
+{
+  volatile int a = 7;
+  volatile int b = 6;
+  volatile int c = 9;
+  volatile int d = 11;
+  return 0;
+}
diff --git a/20230523/test-arm-03.s-x86 b/20230523/test-arm-03.s-x86
new file mode 100644
index 0000000..d04b263
--- /dev/null
+++ b/20230523/test-arm-03.s-x86
@@ -0,0 +1,18 @@
+	.file	"test-arm-03.c"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB11:
+	.cfi_startproc
+	movl	$7, -4(%rsp)
+	movl	$6, -8(%rsp)
+	movl	$9, -12(%rsp)
+	movl	$11, -16(%rsp)
+	movl	$0, %eax
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230523/test-arm-04.c b/20230523/test-arm-04.c
new file mode 100644
index 0000000..acbd05c
--- /dev/null
+++ b/20230523/test-arm-04.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+
+int main (void)
+{
+  volatile int a = 7;
+  volatile int b = 6;
+  volatile int c = 9;
+  volatile int d = 11;
+  volatile int e = 13;
+  return 0;
+}
diff --git a/20230523/test-arm-04.s-x86 b/20230523/test-arm-04.s-x86
new file mode 100644
index 0000000..379ed72
--- /dev/null
+++ b/20230523/test-arm-04.s-x86
@@ -0,0 +1,19 @@
+	.file	"test-arm-04.c"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB11:
+	.cfi_startproc
+	movl	$7, -4(%rsp)
+	movl	$6, -8(%rsp)
+	movl	$9, -12(%rsp)
+	movl	$11, -16(%rsp)
+	movl	$13, -20(%rsp)
+	movl	$0, %eax
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230523/test-arm-05.c b/20230523/test-arm-05.c
new file mode 100644
index 0000000..21e888b
--- /dev/null
+++ b/20230523/test-arm-05.c
@@ -0,0 +1,12 @@
+#include <stdio.h>
+
+int main (void)
+{
+  volatile int a = 7;
+  volatile int b = 6;
+  volatile int c = 9;
+  volatile int d = 11;
+  volatile int e = 13;
+  volatile int f = 17;
+  return 0;
+}
diff --git a/20230523/test-arm-05.s-x86 b/20230523/test-arm-05.s-x86
new file mode 100644
index 0000000..cc84fec
--- /dev/null
+++ b/20230523/test-arm-05.s-x86
@@ -0,0 +1,20 @@
+	.file	"test-arm-05.c"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB11:
+	.cfi_startproc
+	movl	$7, -4(%rsp)
+	movl	$6, -8(%rsp)
+	movl	$9, -12(%rsp)
+	movl	$11, -16(%rsp)
+	movl	$13, -20(%rsp)
+	movl	$17, -24(%rsp)
+	movl	$0, %eax
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230524/buffer-overflow-01.c b/20230524/buffer-overflow-01.c
new file mode 100644
index 0000000..8dfffe0
--- /dev/null
+++ b/20230524/buffer-overflow-01.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+int main (void)
+{
+  char name[10];
+  printf ("Ihr Name: ");
+  scanf ("%s", name);
+  printf ("Hallo, %s! :-)\n", name);
+  return 0;
+}
diff --git a/20230524/buffer-overflow-02.c b/20230524/buffer-overflow-02.c
new file mode 100644
index 0000000..dd84b2a
--- /dev/null
+++ b/20230524/buffer-overflow-02.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+int main (void)
+{
+  char name[10];
+  printf ("Ihr Name: ");
+  gets (name);
+  printf ("Hallo, %s! :-)\n", name);
+  return 0;
+}
diff --git a/20230524/io-ports-and-interrupts.pdf b/20230524/io-ports-and-interrupts.pdf
new file mode 120000
index 0000000..bcd46f7
--- /dev/null
+++ b/20230524/io-ports-and-interrupts.pdf
@@ -0,0 +1 @@
+../common/io-ports-and-interrupts.pdf
\ No newline at end of file
diff --git a/20230524/logo-hochschule-bochum-cvh-text-v2.pdf b/20230524/logo-hochschule-bochum-cvh-text-v2.pdf
new file mode 120000
index 0000000..4aa99b8
--- /dev/null
+++ b/20230524/logo-hochschule-bochum-cvh-text-v2.pdf
@@ -0,0 +1 @@
+../common/logo-hochschule-bochum-cvh-text-v2.pdf
\ No newline at end of file
diff --git a/20230524/logo-hochschule-bochum.pdf b/20230524/logo-hochschule-bochum.pdf
new file mode 120000
index 0000000..b6b9491
--- /dev/null
+++ b/20230524/logo-hochschule-bochum.pdf
@@ -0,0 +1 @@
+../common/logo-hochschule-bochum.pdf
\ No newline at end of file
diff --git a/20230524/parameters-01-O0-stack-4.s b/20230524/parameters-01-O0-stack-4.s
new file mode 100644
index 0000000..7bc1707
--- /dev/null
+++ b/20230524/parameters-01-O0-stack-4.s
@@ -0,0 +1,56 @@
+	.file	"parameters-01.c"
+	.text
+	.globl	sum
+	.type	sum, @function
+sum:
+.LFB0:
+	.cfi_startproc
+	pushq	%rbp
+	.cfi_def_cfa_offset 16
+	.cfi_offset 6, -16
+	movq	%rsp, %rbp
+	.cfi_def_cfa_register 6
+	movl	%edi, -4(%rbp)
+	movl	%esi, -8(%rbp)
+	movl	-4(%rbp), %edx
+	movl	-8(%rbp), %eax
+	addl	%edx, %eax
+	popq	%rbp
+	.cfi_def_cfa 7, 8
+	ret
+	.cfi_endproc
+.LFE0:
+	.size	sum, .-sum
+	.section	.rodata
+.LC0:
+	.string	"c = %d\n"
+	.text
+	.globl	main
+	.type	main, @function
+main:                                              # #include <stdio.h>
+.LFB1:                                             # 
+	.cfi_startproc                             # int sum (int a, int b)
+	pushq	%rbp                               # {
+	.cfi_def_cfa_offset 16                     #   return a + b;
+	.cfi_offset 6, -16                         # }
+	movq	%rsp, %rbp                         # 
+	.cfi_def_cfa_register 6                    # int main (void)
+	subq	$5, %rsp            # vorher: 16   # {
+	movl	$6, %esi                           #   int c = sum (7, 6);
+	movl	$7, %edi                           #   printf ("c = %d\n", c);
+	call	sum                                #   return 0;
+	movl	%eax, -4(%rbp)                     # }
+	movl	-4(%rbp), %eax
+	movl	%eax, %esi
+	leaq	.LC0(%rip), %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	movl	$0, %eax
+	leave                       # leave = movq  %rbp, %rsp
+	.cfi_def_cfa 7, 8           #         popq  %rbp
+	ret
+	.cfi_endproc
+.LFE1:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230524/parameters-01-O0.s b/20230524/parameters-01-O0.s
new file mode 100644
index 0000000..7b4fc50
--- /dev/null
+++ b/20230524/parameters-01-O0.s
@@ -0,0 +1,56 @@
+	.file	"parameters-01.c"
+	.text
+	.globl	sum
+	.type	sum, @function
+sum:
+.LFB0:
+	.cfi_startproc
+	pushq	%rbp
+	.cfi_def_cfa_offset 16
+	.cfi_offset 6, -16
+	movq	%rsp, %rbp
+	.cfi_def_cfa_register 6
+	movl	%edi, -4(%rbp)
+	movl	%esi, -8(%rbp)
+	movl	-4(%rbp), %edx
+	movl	-8(%rbp), %eax
+	addl	%edx, %eax
+	popq	%rbp
+	.cfi_def_cfa 7, 8
+	ret
+	.cfi_endproc
+.LFE0:
+	.size	sum, .-sum
+	.section	.rodata
+.LC0:
+	.string	"c = %d\n"
+	.text
+	.globl	main
+	.type	main, @function
+main:                                              ; #include <stdio.h>
+.LFB1:                                             ; 
+	.cfi_startproc                             ; int sum (int a, int b)
+	pushq	%rbp                               ; {
+	.cfi_def_cfa_offset 16                     ;   return a + b;
+	.cfi_offset 6, -16                         ; }
+	movq	%rsp, %rbp                         ; 
+	.cfi_def_cfa_register 6                    ; int main (void)
+	subq	$16, %rsp                          ; {
+	movl	$6, %esi                           ;   int c = sum (7, 6);
+	movl	$7, %edi                           ;   printf ("c = %d\n", c);
+	call	sum                                ;   return 0;
+	movl	%eax, -4(%rbp)                     ; }
+	movl	-4(%rbp), %eax
+	movl	%eax, %esi
+	leaq	.LC0(%rip), %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	movl	$0, %eax
+	leave                       ; leave = movq  %rbp, %rsp
+	.cfi_def_cfa 7, 8           ;         popq  %rbp
+	ret
+	.cfi_endproc
+.LFE1:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230524/parameters-01.c b/20230524/parameters-01.c
new file mode 100644
index 0000000..7b973a0
--- /dev/null
+++ b/20230524/parameters-01.c
@@ -0,0 +1,13 @@
+#include <stdio.h>
+
+int sum (int a, int b)
+{
+  return a + b;
+}
+
+int main (void)
+{
+  int c = sum (7, 6);
+  printf ("c = %d\n", c);
+  return 0;
+}
diff --git a/20230524/parameters-01.s b/20230524/parameters-01.s
new file mode 100644
index 0000000..cdaaee4
--- /dev/null
+++ b/20230524/parameters-01.s
@@ -0,0 +1,36 @@
+	.file	"parameters-01.c"
+	.text
+	.globl	sum
+	.type	sum, @function
+sum:
+.LFB11:
+	.cfi_startproc
+	leal	(%rdi,%rsi), %eax
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	sum, .-sum
+	.section	.rodata.str1.1,"aMS",@progbits,1
+.LC0:
+	.string	"c = %d\n"
+	.text
+	.globl	main
+	.type	main, @function
+main:                                               ; #include <stdio.h>
+.LFB12:                                             ; 
+	.cfi_startproc                              ; int sum (int a, int b)
+	subq	$8, %rsp                            ; {
+	.cfi_def_cfa_offset 16                      ;   return a + b;
+	movl	$13, %esi                           ; }
+	leaq	.LC0(%rip), %rdi                    ; 
+	movl	$0, %eax                            ; int main (void)
+	call	printf@PLT                          ; {
+	movl	$0, %eax                            ;   int c = sum (7, 6);
+	addq	$8, %rsp                            ;   printf ("c = %d\n", c);
+	.cfi_def_cfa_offset 8                       ;   return 0;
+	ret                                         ; }
+	.cfi_endproc
+.LFE12:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230524/parameters-02.c b/20230524/parameters-02.c
new file mode 100644
index 0000000..95f916d
--- /dev/null
+++ b/20230524/parameters-02.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+
+void print (int h, int e, int l1, int l2, int o1,
+            int comma, int space,
+            int w, int o2, int r, int l3, int d,
+            int bang, int newline)
+{
+  printf ("%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
+          h, e, l1, l2, o1, comma, space, w, o2, r, l3, d, bang, newline);
+}
+
+int main (void)
+{
+  print ('H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!', '\n');
+  return 0;
+}
diff --git a/20230524/parameters-02.s b/20230524/parameters-02.s
new file mode 100644
index 0000000..c6d3a6b
--- /dev/null
+++ b/20230524/parameters-02.s
@@ -0,0 +1,92 @@
+	.file	"parameters-02.c"
+	.text
+	.section	.rodata.str1.1,"aMS",@progbits,1
+.LC0:
+	.string	"%c%c%c%c%c%c%c%c%c%c%c%c%c%c"
+	.text
+	.globl	print
+	.type	print, @function
+print:
+.LFB11:
+	.cfi_startproc
+	subq	$16, %rsp
+	.cfi_def_cfa_offset 24
+	movl	80(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 32
+	movl	80(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 40
+	movl	80(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 48
+	movl	80(%rsp), %eax
+	pushq	%rax
+	.cfi_def_cfa_offset 56
+	movl	80(%rsp), %eax      # #include <stdio.h>
+	pushq	%rax                # 
+	.cfi_def_cfa_offset 64      # void print (int h, int e, int l1, int l2, int o1,
+	movl	80(%rsp), %eax      #             int comma, int space,
+	pushq	%rax                #             int w, int o2, int r, int l3, int d,
+	.cfi_def_cfa_offset 72      #             int bang, int newline)
+	movl	80(%rsp), %eax      # {
+	pushq	%rax                #   printf ("%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
+	.cfi_def_cfa_offset 80      #           h, e, l1, l2, o1, comma, space, w, o2, r, l3, d, bang, newline);
+	movl	80(%rsp), %eax      # }
+	pushq	%rax                # 
+	.cfi_def_cfa_offset 88      # int main (void)
+	pushq	%r9                 # {
+	.cfi_def_cfa_offset 96      #   print ('H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!', '\n');
+	movl	%r8d, %r9d          #   return 0;
+	movl	%ecx, %r8d
+	movl	%edx, %ecx
+	movl	%esi, %edx
+	movl	%edi, %esi
+	leaq	.LC0(%rip), %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	addq	$88, %rsp
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	print, .-print
+	.globl	main
+	.type	main, @function
+main:
+.LFB12:
+	.cfi_startproc
+	subq	$8, %rsp
+	.cfi_def_cfa_offset 16
+	pushq	$10
+	.cfi_def_cfa_offset 24
+	pushq	$33
+	.cfi_def_cfa_offset 32
+	pushq	$100
+	.cfi_def_cfa_offset 40
+	pushq	$108
+	.cfi_def_cfa_offset 48
+	pushq	$114
+	.cfi_def_cfa_offset 56
+	pushq	$111
+	.cfi_def_cfa_offset 64
+	pushq	$119
+	.cfi_def_cfa_offset 72
+	pushq	$32
+	.cfi_def_cfa_offset 80
+	movl	$44, %r9d
+	movl	$111, %r8d
+	movl	$108, %ecx
+	movl	$108, %edx
+	movl	$101, %esi
+	movl	$72, %edi
+	call	print
+	movl	$0, %eax
+	addq	$72, %rsp
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE12:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20230524/pgslides.sty b/20230524/pgslides.sty
new file mode 120000
index 0000000..5be1416
--- /dev/null
+++ b/20230524/pgslides.sty
@@ -0,0 +1 @@
+../common/pgslides.sty
\ No newline at end of file
diff --git a/20230524/rtech-20230524.pdf b/20230524/rtech-20230524.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..3753b8be31a31e77418d889aa7e876c3d2265de2
GIT binary patch
literal 124227
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

literal 0
HcmV?d00001

diff --git a/20230524/rtech-20230524.tex b/20230524/rtech-20230524.tex
new file mode 100644
index 0000000..f384fce
--- /dev/null
+++ b/20230524/rtech-20230524.tex
@@ -0,0 +1,1761 @@
+% rtech-20230524.pdf - Lecture Slides on Computer Technology
+% Copyright (C) 2012, 2013, 2014, 2021, 2022, 2023  Peter Gerwinski
+%
+% This document is free software: you can redistribute it and/or
+% modify it either under the terms of the Creative Commons
+% Attribution-ShareAlike 3.0 License, or under the terms of the
+% GNU General Public License as published by the Free Software
+% Foundation, either version 3 of the License, or (at your option)
+% any later version.
+%
+% This document is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this document.  If not, see <http://www.gnu.org/licenses/>.
+%
+% You should have received a copy of the Creative Commons
+% Attribution-ShareAlike 3.0 Unported License along with this
+% document.  If not, see <http://creativecommons.org/licenses/>.
+
+% README: Der CPU-Stack, hardwarenahe Programmierung
+
+\documentclass[10pt,t]{beamer}
+
+\usepackage{pgslides}
+\usepackage{pdftricks}
+%\usepackage[obeyfamily=false,mathrm=mathsf,textrm=sffamily]{siunitx}
+%\usepackage{eurosym}
+\usepackage{tikz}
+
+\newcommand{\Cin}{C\raisebox{-0.5ex}{\footnotesize in}}
+\newcommand{\Cout}{C\raisebox{-0.5ex}{\footnotesize out}}
+
+\lstdefinestyle{asm}{basicstyle=\color{structure},
+                     language={},
+                     gobble=4}
+
+\begin{psinputs}
+  \usepackage[utf8]{inputenc}
+  \usepackage[german]{babel}
+  \usepackage[T1]{fontenc}
+  \usepackage{helvet}
+  \renewcommand*\familydefault{\sfdefault}
+  \usepackage{pstricks,pst-grad,pst-circ-pg}
+  \newcommand{\invisible}{\tiny\color{white}}
+  \psset{unit=1cm}
+  \psset{logicLabelstyle=\invisible}
+  \newcommand{\logicSymbol}{\small\boldmath\bf\rule{0pt}{0.5cm}}
+  \psset{logicSymbolstyle=\logicSymbol}
+  \newcommand{\Cin}{C\raisebox{-0.5ex}{\footnotesize in}}
+  \newcommand{\Cout}{C\raisebox{-0.5ex}{\footnotesize out}}
+\end{psinputs}
+
+\title{Rechnertechnik}
+\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski}
+\date{24.\ Mai 2022}
+
+\begin{document}
+
+\maketitleframe
+
+\nosectionnonumber{\inserttitle}
+
+\begin{frame}
+
+  \shownosectionnonumber
+
+  \begin{itemize}
+    \item[\textbf{1}] \textbf{Einführung}
+    \item[\textbf{2}] \textbf{Vom Schaltkreis zum Computer}
+    \item[\textbf{3}] \textbf{Assember-Programmierung}
+      \begin{itemize}
+        \item[3.1] Struktur von Assembler-Programmen
+        \item[3.2] Beispiel: Redcode
+        \color{medgreen}
+        \item[3.3] Architekturmerkmale von Prozessore
+        \color{orange}
+        \item[3.4] Der CPU-Stack
+        \color{red}
+        \item[3.5] Computer-Sprachen
+      \end{itemize}
+%    \color{gray}
+    \item[\textbf{4}] \textbf{Hardwarenahe Programmierung}
+%    \item[\textbf{6}] \textbf{Anwender-Software}
+%    \item[\textbf{7}] \textbf{Bus-Systeme}
+%    \item[\textbf{8}] \textbf{Pipelining}
+%    \item[\textbf{9}] \textbf{Ausblick}
+    \item[\textbf{\dots\hspace{-0.75em}}]
+  \end{itemize}
+
+\end{frame}
+
+\setcounter{section}{2}
+\section{Assembler-Programmierung}
+\setcounter{subsection}{2}
+\subsection{Architekturmerkmale von Prozessoren}
+\subsubsection{Speicherarchitekturen}
+
+\begin{frame}
+
+  \showsubsection
+
+  Oder: Jede Assembler-Sprache ist anders.
+
+  \bigskip
+
+  \showsubsubsection
+
+  Bezeichnungen
+  \begin{itemize}
+    \item
+      \newterm{Bit\/} = 0 oder 1 -- kleinste Einheit an Information
+    \item
+      \newterm{Byte\/} = Zusammenfassung mehrerer \newterm{Bits}\\
+      zu einer Binärzahl, die ein Zeichen (\newterm{Character\/}) darstellen kann,\\
+      häufig 8 Bits (\newterm{Oktett\/})
+    \item
+      \newterm{Speicherwort\/} = Zusammenfassung mehrerer Bits\\
+      zu der kleinsten adressierbaren Einheit, häufig 1 Byte
+    \item
+      \newterm{RAM\/} = \newterm{Random Access Memory\/} = Hauptspeicher
+    \item
+      \newterm{ROM\/} = \newterm{Read Only Memory\/} = nur lesbarer Speicher
+  \end{itemize}
+
+\end{frame}
+
+\begin{frame}
+
+  \showsubsection
+
+  Verschiedene Arten von Speicher
+  \begin{itemize}
+    \item
+      \newterm{Prozessor-Register}\\
+      können direkt mit ALU verbunden werden,\\
+      besonders schnell (Flipflops),\\
+      überschaubare Anzahl von Registern
+    \item
+      \newterm{Hauptspeicher}\\
+      kann direkt adressiert und mit Prozessor-Registern abgeglichen werden,\\
+      heute i.\,d.\,R.\ dynamischer Speicher (Kondensatoren)
+    \item
+      \newterm{I/O-Ports}\\
+      sind spezielle Speicheradressen, über die\\
+      mit externen Geräten kommuniziert wird
+    \item
+      \newterm{Massenspeicher}\\
+      liegt auf externem Gerät, wird über I/O-Ports angesprochen,\\
+      Festplatte, Flash-Speicher, \dots
+  \end{itemize}
+
+\end{frame}
+
+\begin{frame}
+
+  \showsubsubsection
+
+  \begin{itemize}
+    \item
+      \newterm{Von-Neumann-Architektur}\\
+      Es gibt nur 1 Hauptspeicher, in dem sich sowohl die Befehle\\
+      als auch die Daten befinden.
+
+      \begin{onlyenv}<1>
+        \smallskip
+
+        Vorteil: Flexibilität in der Speichernutzung
+
+        Nachteil: Befehle können überschrieben werden.\\
+        $\longrightarrow$ Abstürze und Malware möglich
+      \end{onlyenv}
+
+    \pause
+    \item
+      \newterm{Harvard-Architektur}\\
+      Es gibt 2 Hauptspeicher. In einem befinden sich die Befehle,\\
+      im anderen die Daten.
+
+      \begin{onlyenv}<2>
+        \smallskip
+
+        Vorteil: Befehle können nicht überschrieben werden\\
+        $\longrightarrow$ sicherer als Von-Neumann-Architektur
+
+        Nachteile: Leitungen zum Speicher (Bus) müssen doppelt vorhanden sein,\\
+        freier Befehlsspeicher kann nicht für Daten genutzt werden.
+      \end{onlyenv}
+
+    \pause
+    \item
+      Weitere Kombinationen\\
+      Hauptspeicher und I/O-Ports gemeinsam oder getrennt,\\
+      Hauptspeicher und Prozessorregister gemeinsam oder getrennt
+  \end{itemize}
+
+\end{frame}
+
+\begin{frame}
+
+  \showsubsubsection
+
+  Beispiele:
+  \begin{itemize}
+    \item
+      Intel IA-32, AMD64:\\
+      Von-Neumann-Architektur (plus Speicherschutzmechanismen),\\
+      Prozessorregister und I/O-Ports vom Hauptspeicher getrennt
+    \item
+      Atmel AVR (z.\,B.\ ATmega):\\
+      Harvard-Architektur\\
+      (Befehlsspeicher als Flash-Speicher grundsätzlich auch schreibbar),\\
+      Prozessorregister und I/O-Ports in gemeinsamem Adressbereich mit Hauptspeicher
+    \item
+      6502, Renesas 740-CPU, Renesas-38000-Mikrocontroller:\\
+      Von-Neumann-Architektur,\\
+      I/O-Ports in gemeinsamem Adressbereich mit Hauptspeicher,\\
+      Prozessorregister und Hauptspeicher getrennt
+  \end{itemize}
+
+\end{frame}
+
+\subsubsection{Registerarchitekturen}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  \vspace*{-\medskipamount}
+
+  \begin{itemize}
+    \item
+      Mehrere Register, einzeln ansprechbar
+    \item
+      \newterm{Akkumulator\/}: Nur 1 Register kann rechnen.
+    \item
+      \newterm{Stack-Architektur\/}: Stapel, "`umgekehrte Polnische Notation"'
+  \end{itemize}
+
+%  \pause
+
+  Operationen: typischerweise nur 
+  \lstinline{=}, \lstinline{+=}, \lstinline{-=}, \lstinline{*=}, \lstinline{/=}, \dots
+
+%  \pause
+  \medskip
+
+  Beispiel: \lstinline{c = a + 2 * b;}
+
+%  \pause
+  \medskip
+
+  \begin{minipage}[t]{2cm}
+    C, Java:\smallskip\par
+    \begin{lstlisting}[gobble=6]
+      R = b;
+      R *= 2;
+      R += a;
+      c = R;
+    \end{lstlisting}
+  \end{minipage}%\pause
+  \begin{minipage}[t]{4cm}
+    Mehrere Register:\smallskip\par
+    \begin{lstlisting}[style=asm,gobble=6]
+      movl  (b), %eax
+      imull $2, %eax, %eax
+      addl  (a), %eax
+      movl  %eax, (c)
+    \end{lstlisting}
+    \smallskip\par
+    (IA-32-Assembler)
+  \end{minipage}%\pause
+  \begin{minipage}[t]{3cm}
+    Akkumulator:\smallskip\par
+    \begin{lstlisting}[style=asm,gobble=6]
+      load  (b)
+      mul   $2
+      add   (a)
+      store (c)
+    \end{lstlisting}
+    \smallskip\par
+    (Pseudo-Assembler)
+  \end{minipage}%\pause
+  \begin{minipage}[t]{3cm}
+    Register-Stack:\smallskip\par
+    \begin{lstlisting}[style=asm,gobble=6]
+      push  (a)
+      push  (b)
+      push  $2
+      mul
+      add
+      pop   (c)
+    \end{lstlisting}
+  \end{minipage}
+
+\end{frame}
+
+\begin{frame}
+
+  \showsubsubsection
+
+  Beispiele:
+  \begin{itemize}
+    \item
+      Intel IA-32, AMD64:\\
+      Mehrere Register, für verschiedene Zwecke spezialisiert (unübersichtlich),\\[\smallskipamount]
+      Fließkommaregister: Stack-Architektur
+    \item
+      Atmel AVR (z.\,B.\ ATmega):\\
+      32 Register
+    \item
+      6502, Renesas 740-CPU, Renesas-38000-Mikrocontroller:\\
+      3 Register: A, X, Y. Nur A kann rechnen $\longrightarrow$ Akkumulator
+    \item
+      Java Virtual Machine (JVM):\\
+      Stack-Architektur
+    \item
+      Redcode:\\
+      Jede Speicherzelle fungiert als Register
+  \end{itemize}
+
+\end{frame}
+
+\subsubsection{Befehlssätze}
+
+\begin{frame}
+
+  \showsubsubsection
+
+  \begin{itemize}
+    \item
+     \newterm{Reduced Instruction Set Computer (RISC)}
+
+      \smallskip
+
+      wenige, wenig mächtige Befehle
+
+      \begin{onlyenv}<1>
+        \textarrow\ Programmierung in Assembler für Menschen unkomfortabel\\
+        \textarrow\ schnelle Abarbeitung der Befehle
+
+        \medskip
+
+        Beispiel: Atmel AVR
+        \begin{itemize}
+          \item
+            Der ``load immediate''-Befehl funktioniert nur
+            für die Register 16 bis 31,\\
+            nicht für die Register 0 bis 15.
+          \item
+            Die meisten Befehle werden in nur 1 Taktzyklus abgearbeitet.
+        \end{itemize}
+
+        \medskip
+        
+        Beispiel: Redcode ICWS-86
+        \begin{itemize}
+          \item
+            Es gibt indirekte Adressierung mit Prä-Dekrement,\\
+            aber nicht mit Prä-Inkrement.
+          \item
+            Alle Befehle werden in nur 1 Taktzyklus abgearbeitet.
+        \end{itemize}
+      \end{onlyenv}
+ 
+    \pause
+    \medskip
+    \item
+      \newterm{Complex Instruction Set Computer (CISC)}
+
+      \smallskip
+
+      Umfangreiche Befehlssätze, mächtige Befehle
+
+      \begin{onlyenv}<2>
+        \textarrow\ komfortable manuelle Programmierung in Assembler\\
+        \textarrow\ längere Abarbeitungszeit der einzelnen Befehle
+
+        \smallskip
+
+        Realisierung: "`Prozessor im Prozessor"' -- \newterm{Mikroprogramme}
+
+        \medskip
+
+        Beispiel: Intel IA-32, AMD64
+        \begin{itemize}
+          \item
+            Es gibt spezielle Befehle für BCD- und String-Operationen.
+          \item
+            Befehle benötigen meistens 2 oder mehr,\\
+            gelegentlich (z.\,B.\ Fließkomma-Operationen) auch über 100 Taktzyklen.
+        \end{itemize}
+      \end{onlyenv}
+
+    \medskip
+    \pause
+    \item
+      \newterm{Very Long Instruction Word (VLIW)\/} und\\
+      \newterm{Explicitly Parallel Instruction Computing (EPIC)}
+
+      \smallskip
+
+      mehrere Befehle gleichzeitig ausführbar
+
+      \begin{onlyenv}<3>
+        \textarrow\ mehr Rechenleistung möglich\\
+        \textarrow\ Programmierung sehr aufwendig
+
+        \medskip
+
+        Beispiel: Intel IA-64
+      \end{onlyenv}
+
+    \pause
+    \medskip
+    \item
+      \newterm{Orthogonaler Befehlssatz}
+
+      \smallskip
+
+      Jeder Befehl ist mit jeder Adressierungsart kombinierbar.
+
+      \medskip
+
+      Beispiel: Redcode
+  \end{itemize}
+  \vspace*{-4cm}
+
+\end{frame}
+
+\subsection{Der CPU-Stack\label{CPU-Stack}}
+\addtocounter{subsubsection}{-1}
+\subsubsection{Was ist ein Stack?}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+  \showsubsubsection
+
+  \bigskip
+
+\iffalse
+
+  \begin{minipage}[b]{6cm}
+    \begin{center}
+      "`First In -- First Out"'
+
+      \bigskip
+
+      \begin{picture}(6,4)
+        \thicklines
+        \color{structure}
+        \put(0.5,0){\line(1,0){5}}
+
+        \put(3.5,0){\only<1-5>{\line(0,1){1}}}
+        \put(4.5,0){\only<1-4>{\line(0,1){1}}}
+        \put(3.5,1){\only<1-4>{\line(1,0){1}}}
+        \put(4.0,0.5){\only<1-4>{\makebox(0,0){\lstinline{3}}}}
+        \put(3.0,1.5){\only<1>{\makebox(0,0)[tl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,-0.45);}}}}
+        \put(3.0,1.5){\only<1>{\makebox(0,0)[b]{\lstinline{push (3)}}}}
+
+        \put(2.5,0){\only<2-6>{\line(0,1){1}}}
+        \put(2.5,1){\only<2-5>{\line(1,0){1}}}
+        \put(3.0,0.5){\only<2-5>{\makebox(0,0){\lstinline{7}}}}
+        \put(2.0,1.5){\only<2>{\makebox(0,0)[tl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,-0.45);}}}}
+        \put(2.0,1.5){\only<2>{\makebox(0,0)[b]{\lstinline{push (7)}}}}
+
+        \put(1.5,0){\only<3-6>{\line(0,1){1}}}
+        \put(1.5,1){\only<3-6>{\line(1,0){1}}}
+        \put(2.0,0.5){\only<3-6>{\makebox(0,0){\lstinline{137}}}}
+        \put(1.0,1.5){\only<3>{\makebox(0,0)[tl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,-0.45);}}}}
+        \put(1.0,1.5){\only<3>{\makebox(0,0)[b]{\lstinline{push (137)}}}}
+
+        \put(4.55,1.05){\only<4>{\makebox(0,0)[bl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,0.45);}}}}
+        \put(5.00,1.60){\only<4>{\makebox(0,0)[b]{\lstinline{pop ()}: 3}}}
+
+        \put(3.55,1.05){\only<5>{\makebox(0,0)[bl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,0.45);}}}}
+        \put(4.00,1.60){\only<5>{\makebox(0,0)[b]{\lstinline{pop ()}: 7}}}
+
+        \put(2.55,1.05){\only<6>{\makebox(0,0)[bl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,0.45);}}}}
+        \put(3.00,1.60){\only<6>{\makebox(0,0)[b]{\lstinline{pop ()}: 137}}}
+      \end{picture}
+
+      \bigskip
+
+      FIFO = Queue = Reihe
+    \end{center}
+  \end{minipage}\hfill
+
+\fi
+
+  \begin{minipage}[b]{6cm}
+    \begin{center}
+      "`Last In -- First Out"'
+
+      \bigskip
+
+      \begin{picture}(6,4)
+        \thicklines
+        \color{structure}
+        \put(1.5,0){\line(1,0){3}}
+
+        \put(2.5,0){\line(0,1){1}}
+        \put(3.5,0){\line(0,1){1}}
+        \put(2.5,1){\line(1,0){1}}
+        \put(3.0,0.5){\makebox(0,0){\lstinline{3}}}
+        \put(2.0,1.5){\only<1>{\makebox(0,0)[tl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,-0.45);}}}}
+        \put(2.0,1.5){\only<1>{\makebox(0,0)[b]{\lstinline{push (3)}}}}
+
+        \put(2.5,1){\only<2-5>{\line(0,1){1}}}
+        \put(3.5,1){\only<2-5>{\line(0,1){1}}}
+        \put(2.5,2){\only<2-5>{\line(1,0){1}}}
+        \put(3.0,1.5){\only<2-5>{\makebox(0,0){\lstinline{7}}}}
+        \put(2.0,2.5){\only<2>{\makebox(0,0)[tl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,-0.45);}}}}
+        \put(2.0,2.5){\only<2>{\makebox(0,0)[b]{\lstinline{push (7)}}}}
+
+        \put(2.5,2){\only<3-4>{\line(0,1){1}}}
+        \put(3.5,2){\only<3-4>{\line(0,1){1}}}
+        \put(2.5,3){\only<3-4>{\line(1,0){1}}}
+        \put(3.0,2.5){\only<3-4>{\makebox(0,0){\lstinline{137}}}}
+        \put(2.0,3.5){\only<3>{\makebox(0,0)[tl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,-0.45);}}}}
+        \put(2.0,3.5){\only<3>{\makebox(0,0)[b]{\lstinline{push (137)}}}}
+
+        \put(3.55,3.05){\only<4>{\makebox(0,0)[bl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,0.45);}}}}
+        \put(4.00,3.60){\only<4>{\makebox(0,0)[b]{\lstinline{pop ()}: 137}}}
+
+        \put(3.55,2.05){\only<5>{\makebox(0,0)[bl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,0.45);}}}}
+        \put(4.00,2.60){\only<5>{\makebox(0,0)[b]{\lstinline{pop ()}: 7}}}
+
+        \put(3.55,1.05){\only<6>{\makebox(0,0)[bl]{\tikz{\draw[-latex, line width=1pt](0,0)--(0.45,0.45);}}}}
+        \put(4.00,1.60){\only<6>{\makebox(0,0)[b]{\lstinline{pop ()}: 3}}}
+      \end{picture}
+
+      \bigskip
+
+      LIFO = Stack = Stapel
+    \end{center}
+  \end{minipage}
+
+%
+%  \dots
+
+\end{frame}
+\subsubsection{Implementierung}
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  Speicher, in dem Werte "`gestapelt"' werden: \newterm{Stack}
+
+  \begin{itemize}
+    \item
+      Speicherbereich (ein array) reservieren
+    \item
+      Variable (typischerweise: Prozessorregister) als
+      \newterm{Stack Pointer\/} reservieren \textarrow\ \lstinline{SP}
+    \item
+      Assembler-Befehl \lstinline[style=asm]{push foo}: \quad
+      \lstinline{*SP++ = foo;}
+      \begin{itemize}
+        \item
+          In der Speicherzelle,
+          auf die der Stack Pointer \lstinline{SP} gerade zeigt,\\
+          den Wert \lstinline{foo} speichern.
+        \item
+          Danach den Stack Pointer inkrementieren (um 1 erhöhen).
+      \end{itemize}
+    \item
+      Assembler-Befehl \lstinline[style=asm]{pop bar}: \quad
+      \lstinline{bar = *--SP;}
+      \begin{itemize}
+        \item
+          Zuerst den Stack Pointer dekrementieren (um 1 erniedrigen).
+        \item
+          Danach aus der Speicherzelle,\\
+          auf die der Stack Pointer \lstinline{SP} gerade zeigt,\\
+          einen Wert lesen und in der Variablen \lstinline{bar} speichern.
+      \end{itemize}
+  \end{itemize}
+
+%  \pause
+  \medskip
+  Speziell: Unterprogramme
+
+\end{frame}
+
+\subsubsection{Unterprogramme}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+  \showsubsubsection
+
+  Funktion mit 2 ganzzahligen Parametern \lstinline{a} und \lstinline{b}\\
+  und einem ganzzahligem Rückgabewert:
+  \vspace{\medskipamount}
+  \begin{lstlisting}[xleftmargin=1em]
+    int sum (int a, int b)
+    {
+      return a + b;
+    }
+  \end{lstlisting}
+
+  \bigskip
+
+  Aufruf der Funktion:
+  \vspace{\medskipamount}
+  \begin{lstlisting}[xleftmargin=1em]
+    int c = sum (7, 6);
+  \end{lstlisting}
+
+  \bigskip
+
+  (Methoden = spezielle Funktionen)
+
+  \vfill
+
+  \textarrow\ Wie funktioniert das?
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+  \showsubsubsection
+
+  \begin{minipage}[t]{5.5cm}
+    Parameter:
+    \begin{itemize}
+      \item
+        Prozessorregister
+      \item
+        CPU-Stack
+    \end{itemize}
+
+    \smallskip
+
+    Rückgabewert:
+    \begin{itemize}
+      \item
+        Prozessorregister
+    \end{itemize}
+  \end{minipage}%
+  \begin{minipage}[t]{5cm}
+    Aufruf:
+    \begin{itemize}
+      \item
+        \lstinline[style=asm]{push IP}\\
+        \lstinline[style=asm]{jmp foo}
+        {\color{red}\boldmath $\longleftarrow$ mov \#foo IP}\\
+        \textarrow\ \lstinline[style=asm]{call foo}
+    \end{itemize}
+    Rücksprung:
+    \begin{itemize}
+      \item
+        \lstinline[style=asm]{pop IP}\\
+        \textarrow\ \lstinline[style=asm]{ret}
+    \end{itemize}
+  \end{minipage}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+  \showsubsubsection
+
+  \begin{minipage}[t]{5.5cm}
+    Parameter:
+    \begin{itemize}
+      \item
+        Prozessorregister
+      \item
+        CPU-Stack
+    \end{itemize}
+
+    \smallskip
+
+    Rückgabewert:
+    \begin{itemize}
+      \item
+        Prozessorregister
+    \end{itemize}
+  \end{minipage}%
+  \begin{minipage}[t]{5cm}
+    Aufruf:
+    \begin{itemize}
+      \item
+        \lstinline[style=asm]{push IP}\\
+        \lstinline[style=asm]{jmp foo}
+        {\color{red}\boldmath $\longleftarrow$ mov \#foo IP}\\
+        \textarrow\ \lstinline[style=asm]{call foo}
+    \end{itemize}
+    Rücksprung:
+    \begin{itemize}
+      \item
+        \lstinline[style=asm]{pop IP}\\
+        \textarrow\ \lstinline[style=asm]{ret}
+    \end{itemize}
+  \end{minipage}
+
+  \bigskip
+
+  \subsubsection{Lokale Variable}
+  \showsubsubsection
+
+  \dots\ speichert man oft ebenfalls auf dem Stack.
+
+  \smallskip
+
+  Speicherplatz reservieren: Stack-Pointer modifizieren
+
+  \medskip
+
+  \newterm{Buffer Overflow\/}:\\[0.5\smallskipamount]
+  Über die Grenzen einer lokalen Variablen hinausschreiben,\\
+  dabei Rücksprungadresse überschreiben \textarrow\ Absturz
+
+\end{frame}
+
+\subsubsection{Register sichern}
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  Ein Unterprogramm verändert Registerinhalte.
+  \begin{itemize}
+    \item
+      im Hauptprogramm nötigenfalls vor Aufruf sichern
+    \item
+      im Unterprogramm vor Benutzung sichern
+    \item
+      Kombinationen (manche Register so, manche so)
+  \end{itemize}
+
+\end{frame}
+
+\subsection{Computer-Sprachen}
+\subsubsection{Maschinensprache}
+
+\iffalse
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  \strut\hfill
+  \begin{minipage}{6.5cm}
+    \vspace*{-1.7cm}
+    \small
+    Computer
+    \begin{itemize}\itemsep0pt
+      \item Rechenwerk (ALU)
+      \item Speicher: Register,\\
+            adressierbarer Hauptspeicher
+      \item Takt: Befehle abarbeiten
+      \item Peripherie: Kommunikation\\
+            mit der Außenwelt
+      \arrowitem in Maschinensprache programmierbar
+    \end{itemize}
+  \end{minipage}\hspace*{-0.5cm}
+
+  In jedem Takt:
+  \begin{itemize}
+    \item
+      dort aus dem Hauptspeicher lesen, wohin das Register \lstinline{IP} zeigt\\
+      \textarrow\ \newterm{Befehl\/} (\newterm{Instruction\/} -- \lstinline{IP} = \newterm{Instruction Pointer\/})
+    \item
+      den \newterm{Befehl\/} an den \newterm{Funktion\/}-Eingang der \newterm{ALU\/} legen
+    \item
+      auf ähnliche Weise weitere Daten an den \newterm{Akkumulator\/}-\\
+      und den \newterm{Daten\/}-Eingang der \newterm{ALU\/} legen
+    \item
+      auf ähnliche Weise den \newterm{Ergebnis\/}-Ausgang der \newterm{ALU}\\
+      in den Hauptspeicher schreiben
+      \textarrow\ Befehl ausgeführt
+    \item
+      Register \lstinline{IP} hochzählen
+      \textarrow\ nächster Befehl
+    \arrowitem
+      Maschinensprache
+  \end{itemize}
+
+\end{frame}
+
+\fi
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  \begin{itemize}
+    \item
+      Lade- und Speicher-Befehle\\
+      arithmetische Befehle\\
+      unbedingte und bedingte Sprungbefehle
+    \arrowitem
+      Der Computer kann "`alles"' -- \newterm{Turing-Vollständigkeit}
+    \bigskip
+    \item
+      Maschinensprache = Zahlen \textarrow\ für Menschen schwer handhabbar
+    \arrowitem
+      Namen für die Befehle: \newterm{Mnemonics}
+    \arrowitem
+      \newterm{Assembler\/}-Sprache
+  \end{itemize}
+
+\end{frame}
+
+\subsubsection{\strut{\protect\color{gray}Maschinensprache \protect\textarrow\ }Assembler}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  Beispiel: Intel-x86-16-Bit-Assembler
+
+  \begin{itemize}
+    \item
+      Lade- und Speicher-Befehle\hfill
+        \lstinline{mov}, \dots\\
+      arithmetische Befehle\hfill
+        \lstinline{add}, \lstinline{sub}, \lstinline{inc}, \lstinline{dec},
+        \lstinline{xor}, \lstinline{cmp}, \dots\\
+      unbedingte und bedingte Sprungbefehle\hfill
+        \lstinline{jmp}, \lstinline{jz}, \lstinline{jae}, \dots
+    \item
+      Register\hfill
+        \lstinline{ax}, \lstinline{bx}, \dots
+  \end{itemize}
+
+%  \begin{onlyenv}<1>
+%    \begin{center}
+%%      \includegraphics[width=10cm]{programm-screenshot.png}
+%      \vspace*{-0.5cm}
+%    \end{center}
+%  \end{onlyenv}
+%  \begin{onlyenv}<2->
+
+    \bigskip
+
+    Beispiel: Atmel-AVR-8-Bit-Assembler
+
+    \begin{itemize}
+      \item
+        Lade- und Speicher-Befehle\hfill
+          \lstinline{ldi}, \lstinline{lds}, \lstinline{sti}, \dots\\
+        arithmetische Befehle\hfill
+          \lstinline{add}, \lstinline{sub}, \lstinline{subi},
+          \lstinline{eor}, \lstinline{cp}, \dots\\
+        unbedingte und bedingte Sprungbefehle\hfill
+          \lstinline{rjmp}, \lstinline{brsh}, \lstinline{brlo}, \dots
+      \item
+        Register\hfill
+          \lstinline{r0}, \lstinline{r1}, \dots
+    \end{itemize}
+
+    \bigskip
+
+    \textarrow\ für jeden Prozessor anders
+
+%  \end{onlyenv}
+
+\end{frame}
+
+\subsubsection{\strut{\protect\color{gray}Maschinensprache \protect\textarrow\ Assembler \protect\textarrow\ }Hochsprachen}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  Beispiel: Intel-x86-16-Bit-Assembler
+
+  \begin{itemize}
+    \item
+      Lade- und Speicher-Befehle\hfill
+        \lstinline{mov}, \dots\\
+      arithmetische Befehle\hfill
+        \lstinline{add}, \lstinline{sub}, \lstinline{inc}, \lstinline{dec},
+        \lstinline{xor}, \lstinline{cmp}, \dots\\
+      unbedingte und bedingte Sprungbefehle\hfill
+        \lstinline{jmp}, \lstinline{jz}, \lstinline{jae}, \dots
+    \item
+      Register\hfill
+        \lstinline{ax}, \lstinline{bx}, \dots
+  \end{itemize}
+
+  \bigskip
+
+  Beispiel: Atmel-AVR-8-Bit-Assembler
+
+  \begin{itemize}
+    \item
+      Lade- und Speicher-Befehle\hfill
+        \lstinline{ldi}, \lstinline{lds}, \lstinline{sti}, \dots\\
+      arithmetische Befehle\hfill
+        \lstinline{add}, \lstinline{sub}, \lstinline{subi},
+        \lstinline{eor}, \lstinline{cp}, \dots\\
+      unbedingte und bedingte Sprungbefehle\hfill
+        \lstinline{rjmp}, \lstinline{brsh}, \lstinline{brlo}, \dots
+    \item
+      Register\hfill
+        \lstinline{r0}, \lstinline{r1}, \dots
+  \end{itemize}
+
+  \bigskip
+
+  \textarrow\ für jeden Prozessor anders
+
+  \bigskip
+
+  Hochsprache \textarrow\ für jeden Prozessor gleich
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  Compiler-Sprachen
+  \begin{itemize}
+    \item
+      \newterm{Compiler\/} übersetzt Hochsprachen-\newterm{Quelltext\/} in die Assembler-Sprache
+    \item
+      \newterm{Assembler\/} übersetzt Assembler-Quelltext in die Maschinensprache
+    \item
+      Compiler und Assembler sind Programme,\\
+      geschrieben in Maschinensprache, Assembler oder einer Hochsprache
+    \item
+      Beispiele: Fortran, Algol, Pascal, Ada, C, C++, \dots
+  \end{itemize}
+
+  \pause
+  \medskip
+  Interpreter- oder Skript-Sprachen
+  \begin{itemize}
+    \item
+      \newterm{Interpreter\/} liest Hochsprachen-\newterm{Quelltext\/} und führt ihn sofort aus
+    \item
+      Der Interpreter ist ein Programm,\\
+      geschrieben in Maschinensprache, Assembler oder einer Hochsprache
+    \item
+      Beispiele: Unix-Shell, BASIC, Perl, Python, \dots
+  \end{itemize}
+
+  \pause
+  \medskip
+  Kombinationen
+  \begin{itemize}
+    \item
+      \newterm{Compiler\/} erzeugt \newterm{Zwischencode\/} für eine \newterm{virtuelle Maschine}
+    \item
+      \newterm{Interpreter\/} liest Hochsprachen-\newterm{Zwischencode\/} und führt ihn sofort aus
+    \item
+      Die virtuelle Maschine ist ein Programm,
+      geschrieben in Maschinensprache, Assembler, einer Hoch- oder Skript-Sprache
+    \item
+      Beispiele: UCSD-Pascal, Java, \dots
+  \end{itemize}
+  \medskip
+
+\end{frame}
+
+\section{Hardwarenahe Programmierung}
+\subsection{Bit-Operationen}
+\subsubsection{Zahlensysteme}
+
+\begin{frame}[fragile]
+
+  \showsection
+  \vspace*{-\smallskipamount}
+  \showsubsection
+  \vspace*{-\medskipamount}
+  \showsubsubsection
+
+  \begin{tabular}{rlrl}
+    Basis & Name & Beispiel & Anwendung \\[\smallskipamount]
+      2 & Binärsystem & 1\,0000\,0011 & Bit-Operationen \\
+      8 & Oktalsystem & \lstinline,0403, & Dateizugriffsrechte (Unix) \\
+     10 & Dezimalsystem & \lstinline,259, & Alltag \\
+     16 & Hexadezimalsystem & \lstinline,0x103, & Bit-Operationen \\
+    256 & (keiner gebräuchlich) & 0.0.1.3 & IP-Adressen (IPv4)
+  \end{tabular}
+
+  \bigskip
+
+  \begin{itemize}
+    \item
+      Computer rechnen im Binärsystem.
+    \item
+      Für viele Anwendungen (z.\,B.\ I/O-Ports, Grafik, \dots) ist es notwendig,\\
+      Bits in Zahlen einzeln ansprechen zu können.
+  \end{itemize}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  \begin{tabular}{rlrlrc}
+    \qquad 000 & \bf 0 \hspace*{1.5cm} & 0000 & \bf 0 & \quad 1000 & \bf 8\\
+           001 & \bf 1                 & 0001 & \bf 1 &       1001 & \bf 9\\
+           010 & \bf 2                 & 0010 & \bf 2 &       1010 & \bf A\\
+           011 & \bf 3                 & 0011 & \bf 3 &       1011 & \bf B\\[\smallskipamount]
+           100 & \bf 4                 & 0100 & \bf 4 &       1100 & \bf C\\
+           101 & \bf 5                 & 0101 & \bf 5 &       1101 & \bf D\\
+           110 & \bf 6                 & 0110 & \bf 6 &       1110 & \bf E\\
+           111 & \bf 7                 & 0111 & \bf 7 &       1111 & \bf F\\
+  \end{tabular}
+
+  \medskip
+
+  \begin{itemize}
+    \item
+      Oktal- und Hexadezimalzahlen lassen sich ziffernweise\\
+      in Binär-Zahlen umrechnen.
+    \item
+      Hexadezimalzahlen sind eine Kurzschreibweise für Binärzahlen,\\
+      gruppiert zu jeweils 4 Bits.
+    \item
+      Oktalzahlen sind eine Kurzschreibweise für Binärzahlen,\\
+      gruppiert zu jeweils 3 Bits.
+    \item
+      Trotz Taschenrechner u.\,ä.\ lohnt es sich,\\
+      die o.\,a.\ Umrechnungstabelle \textbf{auswendig} zu kennen.
+  \end{itemize}
+
+\end{frame}
+
+\subsubsection{Bit-Operationen in Assembler}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  \begin{tabular}{lll}
+    Operation       & Verknüpfung              & Anwendung                \\[\smallskipamount]
+    \lstinline,and, & Und                      & Bits gezielt löschen     \\
+    \lstinline,or,  & Oder                     & Bits gezielt setzen      \\
+    \lstinline,eor, & Exklusiv-Oder            & Bits gezielt invertieren \\[\smallskipamount]
+    \lstinline,com, & Nicht (Einer-Komplement) & Alle Bits invertieren    \\[\smallskipamount]
+    \lstinline,lsl, & Verschiebung nach links  & Maske generieren         \\
+%    \lstinline,lsr, & Verschiebung nach rechts & Bits isolieren
+  \end{tabular}
+
+  \bigskip
+
+  Numerierung der Bits: von rechts ab 0
+
+  \medskip
+
+  \begin{tabular}{ll}
+    Bit Nr.\ 3 auf 1 setzen: &
+%    \lstinline,a |= 1 << 3;, \\
+    Oder-Verknüpfung mit einer\\&um 3 nach links geschobenen 1
+    \hfill\lstinline|0000|\,\lstinline|1000|\\[\smallskipamount]
+    Bit Nr.\ 4 auf 0 setzen: &
+%    \lstinline,a &= ~(1 << 4);, \\
+    Und-Verknüpfung mit dem Einer-Komplement \qquad\quad\strut\\&einer um 4 nach links geschobenen 1
+    \hfill\lstinline|1110|\,\lstinline|1111|\\[\smallskipamount]
+    Bit Nr.\ 0 invertieren: &
+%    \lstinline,a ^= 1 << 0;,
+    Exklusiv-Oder-Verknüpfung mit einer\\&um 0 nach links geschobenen 1
+    \hfill\lstinline|0000|\,\lstinline|0001|\\[\smallskipamount]
+    Ist Bit Nr.\ 1 eine Null? &
+    Ergibt eine Und-Verknüpfung mit einer um 1\\&nach links geschobenen 1 den Wert 0?
+    \hfill\lstinline|0000|\,\lstinline|0010|
+  \end{tabular}
+
+%  \smallskip
+%
+%  ~~Abfrage, ob Bit Nr.\ 1 gesetzt ist:\quad
+%  \lstinline{if (a & (1 << 1))}
+
+\end{frame}
+
+\iffalse
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  C-Datentypen für Bit-Operationen:
+  \smallskip\par
+  \lstinline{#include <stdint.h>}
+  \medskip\par
+  \begin{tabular}{lllll}
+                    & 8 Bit & 16 Bit & 32 Bit & 64 Bit \\
+    mit Vorzeichen  & \lstinline,int8_t,
+                    & \lstinline,int16_t,
+                    & \lstinline,int32_t,
+                    & \lstinline,int64_t, \\
+    ohne Vorzeichen & \lstinline,uint8_t,
+                    & \lstinline,uint16_t,
+                    & \lstinline,uint32_t,
+                    & \lstinline,uint64_t,
+  \end{tabular}
+
+  \bigskip
+  \bigskip
+
+  Ausgabe:
+  \smallskip\par
+  \begin{lstlisting}
+    #include <stdio.h>
+    #include <stdint.h>
+    #include <inttypes.h>
+    ...
+    uint64_t x = 42;
+    printf ("Die Antwort lautet: %" PRIu64 "\n", x);
+  \end{lstlisting}
+
+\end{frame}
+
+\subsection{I/O-Ports}
+
+\begin{frame}[fragile]
+
+%  \showsection
+  \showsubsection
+  \vspace*{-1.5\medskipamount}
+  {\large\textbf{\color{structure}4.3\quad Interrupts}}
+
+  \bigskip
+
+  Kommunikation mit externen Geräten
+
+  \bigskip
+
+  \begin{center}
+    \includegraphics{io-ports-and-interrupts.pdf}
+  \end{center}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  In Output-Port schreiben = Aktoren ansteuern
+
+  Beispiel: LED
+
+  \medskip
+
+  \begin{lstlisting}
+    #include <avr/io.h>
+    ...
+    DDRC = 0x70;
+    PORTC = 0x40;
+  \end{lstlisting}
+  \begin{picture}(0,0)
+    \put(3,0.67){\begin{minipage}{3cm}
+                \color{red}%
+                binär: 0111\,0000\\
+                binär: 0100\,0000
+              \end{minipage}}
+    \put(10,0.67){\makebox(0,0)[r]{\color{red}Herstellerspezifisch!}}
+  \end{picture}
+
+  \bigskip
+
+  \lstinline{DDR} = Data Direction Register\\
+  Bit = 1 für Output-Port\\
+  Bit = 0 für Input-Port
+
+  \bigskip
+
+  \emph{Details: siehe Datenblatt und Schaltplan}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Aus Input-Port lesen = Sensoren abfragen
+
+  Beispiel: Taster
+
+  \medskip
+
+  \begin{lstlisting}
+    #include <avr/io.h>
+    ...
+    DDRC = 0xfd;
+    while ((PINC & 0x02) == 0)
+      ; /* just wait */
+  \end{lstlisting}
+  \begin{picture}(0,0)(-1.5,-0.42)
+    \put(3,0.67){\begin{minipage}{3cm}
+                \color{red}%
+                binär: 1111\,1101\\
+                binär: 0000\,0010
+              \end{minipage}}
+    \put(10,0.67){\makebox(0,0)[r]{\color{red}Herstellerspezifisch!}}
+  \end{picture}
+
+  \bigskip
+
+  \lstinline{DDR} = Data Direction Register\\
+  Bit = 1 für Output-Port\\
+  Bit = 0 für Input-Port
+
+  \bigskip
+
+  \emph{Details: siehe Datenblatt und Schaltplan}
+  
+  \bigskip
+
+  Praktikumsaufgabe: Druckknopfampel
+
+\end{frame}
+
+\subsection{Interrupts}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Externes Gerät ruft (per Stromsignal) Unterprogramm auf
+
+  Zeiger hinterlegen: "`Interrupt-Vektor"'
+
+  Beispiel: eingebaute Uhr\hfill
+  \makebox(0,0)[tr]{%
+    \only<1->{\begin{minipage}[t]{4.7cm}
+        \vspace*{-0.3cm}%
+        statt Zählschleife (\lstinline{_delay_ms}):\\
+        Hauptprogramm kann\\
+        andere Dinge tun
+      \end{minipage}}%
+    }
+
+  \medskip
+
+  \begin{lstlisting}
+    #include <avr/interrupt.h>
+
+    ...
+
+
+    ISR (TIMER0B_COMP_vect)
+    {
+      PORTD ^= 0x40;
+    }
+  \end{lstlisting}
+  \begin{picture}(0,0)
+    \color{red}
+    \put(1.9,3.1){\makebox(0,0)[tr]{\tikz{\draw[-latex](0,0)--(-1.4,-1.0);}}}
+    \put(2.0,3.2){\makebox(0,0)[l]{"`Dies ist ein Interrupt-Handler."'}}
+    \put(2.3,2.6){\makebox(0,0)[tr]{\tikz{\draw[-latex](0,0)--(-0.6,-0.55);}}}
+    \put(2.4,2.6){\makebox(0,0)[l]{Interrupt-Vektor darauf zeigen lassen}}
+  \end{picture}
+
+  Initialisierung über spezielle Ports:
+  \lstinline{TCCR0B}, \lstinline{TIMSK0}
+
+  \bigskip
+
+  \emph{Details: siehe Datenblatt und Schaltplan}
+
+  \vspace*{-2.5cm}\hfill
+  {\color{red}Herstellerspezifisch!}%
+  \hspace*{1cm}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Externes Gerät ruft (per Stromsignal) Unterprogramm auf
+
+  Zeiger hinterlegen: "`Interrupt-Vektor"'
+
+  Beispiel: Taster\hfill
+  \makebox(0,0)[tr]{%
+    \begin{minipage}[t]{4.7cm}
+      \vspace*{-0.3cm}%
+      statt \newterm{Busy Waiting\/}:\\
+      Hauptprogramm kann\\
+      andere Dinge tun
+    \end{minipage}}
+
+  \medskip
+
+  \begin{lstlisting}
+    #include <avr/interrupt.h>
+    ...
+
+    ISR (INT0_vect)
+    {
+      PORTD ^= 0x40;
+    }
+  \end{lstlisting}
+
+  \medskip
+
+  Initialisierung über spezielle Ports:
+  \lstinline{EICRA}, \lstinline{EIMSK}
+
+  \bigskip
+
+  \emph{Details: siehe Datenblatt und Schaltplan}
+
+  \vspace*{-2.5cm}\hfill
+  {\color{red}Herstellerspezifisch!}%
+  \hspace*{1cm}
+
+\end{frame}
+
+\subsection{volatile-Variable}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Externes Gerät ruft (per Stromsignal) Unterprogramm auf
+
+  Zeiger hinterlegen: "`Interrupt-Vektor"'
+
+  Beispiel: Taster
+
+  \vspace*{-2.5pt}
+
+  \begin{minipage}[t]{5cm}
+    \begin{onlyenv}<1>
+      \begin{lstlisting}[gobble=8]
+        ¡#include <avr/interrupt.h>
+        ...
+
+        uint8_t key_pressed = 0;
+
+        ISR (INT0_vect)
+        {
+          key_pressed = 1;
+        }¿
+      \end{lstlisting}
+    \end{onlyenv}
+    \begin{onlyenv}<2>
+      \begin{lstlisting}[gobble=8]
+        ¡#include <avr/interrupt.h>
+        ...
+
+        volatile uint8_t key_pressed = 0;
+
+        ISR (INT0_vect)
+        {
+          key_pressed = 1;
+        }¿
+      \end{lstlisting}
+    \end{onlyenv}
+  \end{minipage}\hfill
+  \begin{minipage}[t]{6cm}
+    \begin{lstlisting}[gobble=6]
+      ¡int main (void)
+      {
+        ...
+
+        while (1)
+          {
+            while (!key_pressed)
+              ;  /* just wait */
+            PORTD ^= 0x40;
+            key_pressed = 0;
+          }
+        return 0;
+      }¿
+    \end{lstlisting}
+  \end{minipage}
+
+  \pause
+  \begin{picture}(0,0)
+    \color{red}
+    \put(10.3,4.0){\makebox(0,0)[b]{\begin{minipage}{6cm}
+        \begin{center}
+          \textbf{volatile}:\\
+          Speicherzugriff\\
+          nicht wegoptimieren
+        \end{center}
+      \end{minipage}}}
+    \put(10.3,3.95){\makebox(0,0)[tr]{\tikz{\draw[-latex](0,0)--(-0.5,-0.9);}}}
+  \end{picture}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Was ist eigentlich \lstinline{PORTD}?
+
+  \bigskip
+  \pause
+
+  \lstinline[style=cmd]{avr-gcc -Wall -Os -mmcu=atmega328p blink-3.c -E}
+
+  \bigskip
+  \pause
+  \lstinline{PORTD = 0x01;}\\
+  \textarrow\quad
+  \lstinline[style=terminal]{(*(volatile uint8_t *)((0x0B) + 0x20)) = 0x01;}\\
+  \pause
+  \begin{picture}(0,2)(0,-1.7)
+    \color{red}
+    \put(5.75,0.3){$\underbrace{\rule{2.95cm}{0pt}}_{\mbox{Zahl: \lstinline|0x2B|}}$}
+    \pause
+    \put(1.55,0.3){$\underbrace{\rule{4.0cm}{0pt}}_{\mbox{\shortstack[t]{Umwandlung in Zeiger\\
+      auf \lstinline|volatile uint8_t|}}}$}
+    \pause
+    \put(1.32,-1){\makebox(0,0)[b]{\tikz{\draw[-latex](0,0)--(0,1.3)}}}
+    \put(1.12,-1.1){\makebox(0,0)[tl]{Dereferenzierung des Zeigers}}
+  \end{picture}
+
+  \pause
+  \textarrow\quad
+  \lstinline|volatile uint8_t|-Variable an Speicheradresse \lstinline|0x2B|
+
+  \pause
+  \bigskip
+  \bigskip
+
+  \textarrow\quad
+  \lstinline|PORTA = PORTB = PORTC = PORTD = 0| ist eine schlechte Idee.
+
+\end{frame}
+
+\subsection{Byte-Reihenfolge -- Endianness}
+\subsubsection{Konzept}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+  \showsubsubsection
+
+  Eine Zahl geht über mehrere Speicherzellen.\\
+  Beispiel: 16-Bit-Zahl in 2 8-Bit-Speicherzellen
+
+  \smallskip
+
+  Welche Bits liegen wo?
+
+%  \pause
+  \bigskip
+
+  $1027 = 1024 + 2 + 1 = 0000\,0100\,0000\,0011_2 = 0403_{16}$
+
+%  \pause
+  \bigskip
+  Speicherzellen:
+
+  \medskip
+  \begin{tabular}{|c|c|l}\cline{1-2}
+    \raisebox{-0.25ex}{04} & \raisebox{-0.25ex}{03} & \strut Big-Endian "`großes Ende zuerst"' \\\cline{1-2}
+    \multicolumn{2}{c}{} & % \pause
+      für Menschen leichter lesbar % \pause
+      \\
+    \multicolumn{3}{c}{} \\[-5pt]\cline{1-2}
+    \raisebox{-0.25ex}{03} & \raisebox{-0.25ex}{04} & \strut Little-Endian "`kleines Ende zuerst"' \\\cline{1-2}
+    \multicolumn{2}{c}{} & % \pause
+      bei Additionen effizienter
+  \end{tabular}
+
+%  \pause
+  \medskip
+  \textarrow\ Geschmackssache
+%  \pause\\
+  \quad\textbf{\dots\ außer bei Datenaustausch!}
+
+%  \pause
+%  \bigskip
+%
+%  Aber: nicht verwechseln! \qquad $0304_{16} = 772$
+
+\end{frame}
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  Eine Zahl geht über mehrere Speicherzellen.\\
+  Beispiel: 16-Bit-Zahl in 2 8-Bit-Speicherzellen
+
+  \smallskip
+
+  Welche Bits liegen wo?
+
+  \medskip
+
+  \textarrow\ Geschmackssache\\
+  \textbf{\dots\ außer bei Datenaustausch!}
+
+  \begin{itemize}
+    \item
+      Dateiformate
+    \item
+      Datenübertragung
+  \end{itemize}
+
+\end{frame}
+
+\subsubsection{Dateiformate}
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  Audio-Formate: Reihenfolge der Bytes in 16- und 32-Bit-Zahlen
+  \begin{itemize}
+    \item
+      RIFF-WAVE-Dateien (\file{.wav}): Little-Endian
+    \item
+      Au-Dateien (\file{.au}): Big-Endian
+%    \pause
+    \item
+      ältere AIFF-Dateien (\file{.aiff}): Big-Endian
+    \item
+      neuere AIFF-Dateien (\file{.aiff}): Little-Endian
+  \end{itemize}
+
+%  \pause
+  \bigskip
+
+  Grafik-Formate: Reihenfolge der Bits in den Bytes
+  \begin{itemize}
+    \item
+      PBM-Dateien: Big-Endian\only<1->{, MSB first}
+    \item
+      XBM-Dateien: Little-Endian\only<1->{, LSB first}
+  \end{itemize}
+  \only<1->{MSB/LSB = most/least significant bit}
+
+\end{frame}
+
+\subsubsection{Datenübertragung}
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  \begin{itemize}
+    \item
+      RS-232 (serielle Schnittstelle): LSB first
+    \item
+      I$^2$C: MSB first
+    \item
+      USB: beides
+    \pause
+    \medskip
+    \item
+      Ethernet: LSB first
+    \item
+      TCP/IP (Internet): Big-Endian
+  \end{itemize}
+
+\end{frame}
+
+\iffalse
+
+\subsection{Binärdarstellung negativer Zahlen}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Speicher ist begrenzt!\\
+  \textarrow\ feste Anzahl von Bits
+
+  \medskip
+
+  8-Bit-Zahlen ohne Vorzeichen: \lstinline{uint8_t}\\
+  \textarrow\ Zahlenwerte von \lstinline{0x00} bis \lstinline{0xff} = 0 bis 255\\
+  \pause
+  \textarrow\ 255 + 1 = 0
+
+  \pause
+  \medskip
+
+  8-Bit-Zahlen mit Vorzeichen: \lstinline{int8_t}\\
+  \lstinline{0xff} = 255 ist die "`natürliche"' Schreibweise für $-1$.\\
+  \pause
+  \textarrow\ Zweierkomplement
+
+  \pause
+  \medskip
+
+  Oberstes Bit = 1: negativ\\
+  Oberstes Bit = 0: positiv\\
+  \textarrow\ 127 + 1 = $-128$
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Speicher ist begrenzt!\\
+  \textarrow\ feste Anzahl von Bits
+
+  \medskip
+
+  16-Bit-Zahlen ohne Vorzeichen:
+  \lstinline{uint16_t}\hfill\lstinline{uint8_t}\\
+  \textarrow\ Zahlenwerte von \lstinline{0x0000} bis \lstinline{0xffff}
+  = 0 bis 65535\hfill 0 bis 255\\
+  \textarrow\ 65535 + 1 = 0\hfill 255 + 1 = 0
+
+  \medskip
+
+  16-Bit-Zahlen mit Vorzeichen:
+  \lstinline{int16_t}\hfill\lstinline{int8_t}\\
+  \lstinline{0xffff} = 66535 ist die "`natürliche"' Schreibweise für $-1$.\hfill
+  \lstinline{0xff} = 255 = $-1$\\
+  \textarrow\ Zweierkomplement
+
+  \medskip
+
+  Oberstes Bit = 1: negativ\\
+  Oberstes Bit = 0: positiv\\
+  \textarrow\ 32767 + 1 = $-32768$
+
+  \bigskip
+  Literatur: \url{http://xkcd.com/571/}
+
+\end{frame}
+
+\fi
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Frage: \emph{Für welche Zahl steht der Speicherinhalt\,
+  \raisebox{2pt}{%
+    \tabcolsep0.25em
+    \begin{tabular}{|c|c|}\hline
+      \rule{0pt}{11pt}a3 & 90 \\\hline
+    \end{tabular}}
+  (hexadezimal)?}
+  
+  \pause
+  \smallskip
+  Antwort: \emph{Das kommt darauf an.} ;--)
+
+  \pause
+  \medskip
+  Little-Endian:
+
+  \smallskip
+
+  \begin{tabular}{lrl}
+    als \lstinline,int8_t,: & $-93$ & (nur erstes Byte)\\
+    als \lstinline,uint8_t,: & $163$ & (nur erstes Byte)\\
+    als \lstinline,int16_t,: & $-28509$\\
+    als \lstinline,uint16_t,: & $37027$\\
+    \lstinline,int32_t, oder größer: & $37027$
+      & (zusätzliche Bytes mit Nullen aufgefüllt)
+  \end{tabular}
+
+  \pause
+  \medskip
+  Big-Endian:
+
+  \smallskip
+
+  \begin{tabular}{lrl}
+    als \lstinline,int8_t,:   & $-93$ & (nur erstes Byte)\\
+    als \lstinline,uint8_t,:  & $163$ & (nur erstes Byte)\\
+    als \lstinline,int16_t,:  & $-23664$\\
+    als \lstinline,uint16_t,: & $41872$\\ als \lstinline,int32_t,:  & $-1550843904$ & (zusätzliche Bytes\\
+    als \lstinline,uint32_t,: & $2744123392$  & mit Nullen aufgefüllt)\\
+    als \lstinline,int64_t,:  & $-6660823848880963584$\\
+    als \lstinline,uint64_t,: & $11785920224828588032$\\
+  \end{tabular}
+
+  \vspace*{-1cm}
+
+\end{frame}
+
+\subsection{Speicherausrichtung -- Alignment}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  \begin{lstlisting}
+    #include <stdint.h>
+
+    uint8_t a;
+    uint16_t b;
+    uint8_t c;
+  \end{lstlisting}
+
+  \pause
+  \bigskip
+
+  Speicheradresse durch 2 teilbar -- "`16-Bit-Alignment"'
+  \begin{itemize}
+    \item
+      2-Byte-Operation: effizienter
+    \pause
+    \item
+      \dots\ oder sogar nur dann erlaubt
+    \pause
+    \arrowitem
+      Compiler optimiert Speicherausrichtung
+  \end{itemize}
+
+  \medskip
+
+  \pause
+  \begin{minipage}{3cm}
+    \begin{lstlisting}[gobble=6]
+      ¡uint8_t a;
+      uint8_t dummy;
+      uint16_t b;
+      uint8_t c;¿
+    \end{lstlisting}
+  \end{minipage}
+  \pause
+  \begin{minipage}{3cm}
+    \begin{lstlisting}[gobble=6]
+      ¡uint8_t a;
+      uint8_t c;
+      uint16_t b;¿
+    \end{lstlisting}
+  \end{minipage}
+
+  \pause
+  \vspace{-1.75cm}
+  \strut\hfill
+  \begin{minipage}{6.5cm}
+    Fazit:
+    \begin{itemize}
+      \item
+        \textbf{Adressen von Variablen\\
+        sind systemabhängig}
+      \item
+        Bei Definition von Datenformaten\\
+        Alignment beachten \textarrow\ effizienter
+    \end{itemize}
+  \end{minipage}
+
+\end{frame}
+
+\fi
+
+\end{document}
diff --git a/common/io-ports-and-interrupts.eps b/common/io-ports-and-interrupts.eps
new file mode 100644
index 0000000..bf353a0
--- /dev/null
+++ b/common/io-ports-and-interrupts.eps
@@ -0,0 +1,3658 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Creator: dvips(k) 5.992 Copyright 2012 Radical Eye Software
+%%Title: io-ports-and-interrupts.dvi
+%%CreationDate: Sat Nov 19 19:25:00 2016
+%%BoundingBox: 145 496 435 642
+%%DocumentFonts: NimbusSanL-Regu
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips -E io-ports-and-interrupts.dvi
+%DVIPSParameters: dpi=1200
+%DVIPSSource:  TeX output 2016.11.19:1924
+%%BeginProcSet: tex.pro 0 0
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
+/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
+setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
+restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3
+def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90
+rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0
+N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop
+false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A
+length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}
+forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{
+BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat
+{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch
+round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0
+rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B
+/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}
+B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p
+-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{
+0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+%%BeginProcSet: pstricks.pro 0 0
+% $Id: pstricks.pro 647 2012-02-12 15:03:40Z herbert $
+%
+%% PostScript prologue for pstricks.tex.
+%% Version 1.12, 2012/02/12
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+%
+% Define the follwing gs-functions if not known, eg when using distiller
+%
+systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if
+systemdict /.setblendmode known not {/.setblendmode { pop } def } if
+systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if
+%
+/tx@Dict 200 dict def 				% the main PSTricks dictionary
+tx@Dict begin
+/ADict 25 dict def				% The arrow dictionaray
+/CM { matrix currentmatrix } bind def
+/SLW /setlinewidth load def
+/CLW /currentlinewidth load def
+/CP /currentpoint load def
+/ED { exch def } bind def
+/L /lineto load def
+/T /translate load def
+/TMatrix { } def
+/RAngle { 0 } def
+/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def  % return 0 for negative arguments 
+/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known
+/ATAN1 {neg -1 atan 180 sub } def		% atan(x) (only one parameter)
+/Div { dup 0 eq { pop } { div } ifelse } def  	% control the division
+/tan { dup cos abs 1.e-10 lt 
+  { pop 1.e10 } 				% return 1.e10 as infinit
+  { dup sin exch cos div } ifelse 		% default sin/cos
+} def
+/Tan { dup sin exch cos Div } def 		% sin(x)/cos(x) x in degrees
+/Acos {dup dup mul neg 1 add dup 0 lt {		% arc cos, returns 0 when negative root
+  pop pop 0 }{ sqrt exch atan} ifelse } def
+/NET { neg exch neg exch T } def	      	% change coordinate system to the negative one		
+/Pyth { dup mul exch dup mul add sqrt } def   	% Pythagoras, expects 2 parameter
+/Pyth2 {					% Pythagoras, xA yA xB yB
+  3 -1 roll 		% xA xB yB yA
+  sub			% xA xB yB-yA
+  3 1 roll 		% yB-yA xA xB
+  sub			% yB-yA xA-xB
+  Pyth } def
+/PtoC { 2 copy cos mul 3 1 roll sin mul } def 	% Polar to Cartesian
+/Rand { rand 4294967295 div } def		% a real random number
+%----------------- hv added 20050516 ---------------
+/PiDiv2 1.57079632680 def
+/Pi 3.14159265359 def 
+/TwoPi 6.28318530718 def
+/Euler 2.71828182846 def 
+%/e Euler bind def
+%
+/RadtoDeg { 180 mul Pi div } bind def 		% convert from radian to degrees
+/DegtoRad { Pi mul 180 div } bind def 		% viceversa
+%----------------- hv end---------------------------
+/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def
+%
+/PathLength { 
+  flattenpath /z 0 def 
+  { /y1 ED /x1 ED /y2 y1 def /x2 x1 def }
+  { /y ED /x ED PathLength@ } 
+  {} 
+  { /y y2 def /x x2 def PathLength@ }
+  /pathforall load stopped { pop pop pop pop } if 
+  z 
+} def
+%
+/STP { .996264 dup scale } def			% BP/PT scaling
+/STV { SDict begin normalscale end STP  } def	% 
+%
+/DashLine {
+    dup 0 gt
+    { /a .5 def PathLength exch div }
+    { pop /a 1 def PathLength } ifelse
+    /b ED % pattern should fit evenly in b
+    dup /X ED % pattern array
+    0 get /y ED % length of first black segment
+    /z 0 X {add} forall def % length of the full pattern
+    %% Computation of the scaling factor as described by van Zandt:
+    b a .5 sub 2 mul y mul sub z Div round
+    z mul a .5 sub 2 mul y mul add b exch Div
+    %%%% scaling factor on stack.
+    /z ED %% now, z is the scaling factor
+    false % for the length test below
+    X { z mul } forall X astore %% modification TN 04-08-07
+    %%% Checking whether at least one dash in X has positive length:
+    {0 gt or} forall
+    { X 1 a sub y mul }
+    { [ 1 0 ] 0 }
+    ifelse
+    setdash stroke
+} def
+%
+/DotLine { 
+  /b PathLength def 
+  /a ED /z ED /y CLW def 
+  /z y z add def 
+  a 0 gt { 
+    /b b a div def 
+  }{ 
+    a 0 eq { 
+      /b b y sub def 
+    }{ a -3 eq { 
+      /b b y add def } if 
+    } ifelse 
+  } ifelse 
+  [ 0 b b z Div round Div dup 0 le { pop 1 } if ] 
+  a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse 
+  setdash 1 setlinecap stroke 
+} def
+%
+/SymbolLine {   % on stack [ x y x y ...
+  counttomark 					% number of elements
+  2 div cvi /n ED     				% n pairs
+  /YA ED /XA ED					% the start point
+  n 1 sub { 
+    /YB ED /XB ED
+    /XLength XB XA sub def
+    /YLength YB YA sub def
+    /PAngle YLength XLength Atan def
+    /XYLength XLength YLength Pyth def
+
+    %% for negative SymStep we calculate the distance 
+    SymStep 0 lt 
+      { %XYLength SymStep div abs cvi 
+        /nSym SymStep abs cvi def } 
+      { /nSym XYLength SymStep div cvi def }
+    ifelse
+    0.5 setflat
+    /Shift Symbol stringwidth pop 2 div def 
+    /deltaX XLength nSym div def
+    /deltaY YLength nSym div def
+    curveticks 
+      { XA YA moveto }
+      { XA Shift sub YA Shift sub moveto }
+    ifelse 
+    nSym { 
+      gsave 
+      curveticks 
+        { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED  
+          currentpoint translate rotAngle rotate 
+          0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto 
+          SymbolLinewidth setlinewidth stroke
+        }
+        { 
+          rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+          Symbol show 
+        }
+      ifelse 
+      grestore 
+      deltaX deltaY rmoveto
+    } repeat
+    /YA YB def /XA XB def
+  } repeat 
+  curveticks 
+    { XA YA moveto }
+    { XA Shift sub YA Shift sub moveto }
+  ifelse 
+  gsave 
+  curveticks 
+    { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED  
+      XA YA translate rotAngle rotate 
+      0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto 
+      SymbolLinewidth setlinewidth stroke
+    }
+    { 
+      rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+      Symbol show 
+    }
+  ifelse 
+  grestore
+  pop 				% delete the mark symbol
+} def
+%
+/LineFill { % hv ------------ patch 7 -------------
+  gsave 
+  abs /hatchWidthInc ED
+  abs /hatchSepInc ED
+  abs CLW add /a ED 
+  a 0 dtransform round exch round exch
+  2 copy idtransform 
+  exch Atan rotate 
+  idtransform pop /a ED 
+  .25 .25 itransform pathbbox 
+  /y2 ED 
+  a Div ceiling cvi /x2 ED /y1 ED 
+  a Div cvi /x1 ED /y2 y2 y1 sub def 
+  clip 
+  newpath 
+  2 setlinecap 
+  systemdict
+  /setstrokeadjust known { true setstrokeadjust } if 
+  x2 x1 sub 1 add { 
+    x1 a mul y1 moveto 0 y2 rlineto stroke 
+    /x1 x1 1 add 
+      hatchWidthInc 0 gt { CLW add } if 
+    def 
+    hatchSepInc 0 gt hatchWidthInc 0 gt or { 
+      /a a hatchSepInc add def
+      CLW hatchWidthInc add SLW 
+    } if
+  } repeat 
+  grestore 
+  pop pop } def
+%
+/DotFill {%	 on stack: dot radius
+  /dotRadius ED
+  abs CLW add /a ED 
+  a 0 dtransform round exch round exch
+  2 copy idtransform 
+  exch Atan rotate 
+  idtransform pop /a ED 
+  .25 .25 itransform 
+  pathbbox % llx lly urx ury of smallest bounding box
+  /y2 ED /x2 ED /y1 ED /x1 ED 
+  y2 y1 sub a div 2 add cvi /Ny ED
+  x2 x1 sub a div 2 add cvi /Nx ED
+  clip 
+  newpath 
+  /yA y1 dotRadius add CLW add def
+  /xA0 x1 dotRadius add CLW add def
+  Ny {
+     /xA xA0 def
+     Nx { 
+       newpath 
+       xA yA dotRadius 0 360 arc 
+       SolidDot { gsave fill grestore } if 
+       stroke
+       xA a add /xA ED
+     } repeat
+     yA a add /yA ED
+  } repeat
+  grestore
+} def
+%
+/PenroseFill {%	 on stack: scaling factor
+  dup dup scale
+  1 exch div round /penroseFactor ED 
+  a 0 dtransform round exch round exch
+  2 copy idtransform 
+  exch Atan rotate 
+  idtransform pop /a ED 
+  .25 .25 itransform pathbbox 
+  /y2 ED 
+  a Div ceiling cvi /x2 ED /y1 ED 
+  a Div cvi /x1 ED /y2 y2 y1 sub def 
+  clip 
+  newpath 
+  systemdict
+  /setstrokeadjust known { true setstrokeadjust } if 
+  /I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul}
+ { Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall
+  [0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto
+  i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25
+  mul j l + S rmoveto}F i L j L stroke }F}F}F}F 
+  grestore 
+  pop pop 
+} def
+%
+/TruchetFill { %	 on stack: scaling factor
+  10 dict begin
+  dup dup scale
+  1 exch div round /penroseFactor ED 
+  a 0 dtransform round exch round exch
+  2 copy idtransform 
+  exch Atan rotate 
+  idtransform pop /a ED 
+  .25 .25 itransform pathbbox 
+  /y2 ED 
+  a Div ceiling cvi /x2 ED /y1 ED 
+  a Div cvi /x1 ED /y2 y2 y1 sub def 
+  clip 
+  newpath 
+  systemdict
+  /setstrokeadjust known { true setstrokeadjust } if 
+  /ma a neg def
+  /ha a 2 div def 
+  /mha ha neg def
+  /tile { 
+    rand dup 2 idiv 2 mul eq { 90 rotate } if
+    mha mha moveto ha mha lineto
+    ha ha lineto mha ha lineto
+%    closepath .1 setlinewidth stroke
+    contents
+  } def
+  /contents{ 
+    0 ha moveto ha 0 lineto
+    0 mha moveto mha 0 lineto
+%    1 setlinewidth stroke
+  } def
+  /dotiling {
+    f ma mul a f a mul { 
+      /i exch def
+      f ma mul a f a mul { 
+        /j exch def
+        gsave i j translate
+        tile stroke grestore
+      } for
+    } for
+  } def
+%
+  /f 3 def 
+  5 srand dotiling 
+  end % local user dict
+} def
+%
+/BeginArrow { 
+  ADict begin 			% hold it local, for end see EndArrow
+  /@mtrx CM def 
+  gsave 
+  2 copy T 
+  2 index sub neg exch 
+  3 index sub exch Atan 
+  rotate newpath 
+} def
+%
+/EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict
+%
+/Arrow { 
+  CLW mul add dup 
+  2 div /w ED 
+  mul dup /h ED 
+  mul /a ED 
+  { 0 h T 1 -1 scale } if 
+  w neg h moveto 
+  0 0 L w h L w neg a neg rlineto 
+  gsave fill grestore 
+} def
+%
+/ArrowD { % the sides are drawn as curves (hv 20071211)
+  CLW mul add dup 
+  2 div /w ED 
+  mul dup /h ED 
+  mul /Inset ED 
+  { 0 h T 1 -1 scale } if % changes the direction
+% we use y=w/h^2 * x^2 as equation for the control points
+% for the coordinates the arrow is seen from top to bottom
+% the bottom (tip) is (0;0)
+  w neg h moveto % lower left of >
+  w 9 div 4 mul neg h 3 div 2 mul
+  w 9 div neg       h 3 div  
+  0 0 curveto    % tip of >
+  w 9 div        h 3 div  
+  w 9 div 4 mul  h 3 div 2 mul
+  w h curveto % upper left of >
+  w neg Inset neg rlineto % move to x=0 and inset
+  gsave fill grestore 
+} def 
+%
+/Tbar { 
+  CLW mul add /z ED 
+  z -2 div CLW 2 div moveto 
+  z 0 rlineto stroke 
+  0 CLW moveto 
+} def
+%
+/Bracket { 
+  CLW mul add dup CLW sub 2 div 
+  /x ED mul CLW add /y ED /z CLW 2 div def 
+  x neg y moveto 
+  x neg CLW 2 div L x CLW 2 div L x y L stroke 
+  0 CLW moveto 
+} def
+%
+/RoundBracket { 
+  CLW mul add dup 2 div 
+  /x ED mul /y ED /mtrx CM def 
+  0 CLW 2 div T x y mul 0 ne { x y scale } if 
+  1 1 moveto 
+  .85 .5 .35 0 0 0 curveto 
+  -.35 0 -.85 .5 -1 1 curveto 
+  mtrx setmatrix stroke 0 CLW moveto 
+} def
+%
+/SD { 0 360 arc fill } def
+%
+/EndDot { % DS is the dot size 
+  { /z DS def } { /z 0 def } ifelse  	% outer or inner dimen 
+  /b ED 				% the color definition
+  0 z DS SD 
+  b { 0 z DS CLW sub SD } if 
+  0 DS z add CLW 4 div sub 
+  moveto 
+} def
+%
+/Shadow { [ { /moveto load } { /lineto load } { /curveto load } {
+  /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto
+  load } if ] cvx newpath 3 1 roll T exec } def
+%
+/NArray { % holds the coordinates and on top of stack the showpoints boolean
+  /showpoints ED 
+  counttomark 2 div dup cvi /n ED  	% n 2 div on stack 
+  n eq not { exch pop } if		% even numbers of points? delete one
+  ] aload /Points ED 
+  showpoints not { Points aload pop } if
+%    { ] aload /Points ED } 
+%    { n 2 mul 1 add -1 roll pop } ifelse	% delete the mark symbol 
+} def
+%
+/Line { 
+  NArray n 0 eq not 
+    { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def 
+      n { Lineto } repeat 
+      CP 4 2 roll ArrowB L pop pop 
+    } if 
+} def
+%
+/LineToYAxis {
+  /Ox ED		% Save the x origin value 
+  NArray            % all x-y pairs on stack
+  n { 2 copy moveto % go to current point
+    Ox exch Lineto   % line to y-axis
+    pop             % delete old x-value
+  } repeat
+} def
+%
+/LineToXAxis{
+  /Oy ED		% Save the y origin value 
+  NArray		% all x-y pairs on stack
+  n 0 eq not
+    { n 1 eq { 0 0 /n 2 def } if
+      ArrowA
+      /n n 2 sub def
+      CP 2 copy moveto pop Oy Lineto
+      n { 2 copy moveto pop Oy Lineto } repeat
+      CP
+      4 2 roll
+      ArrowB
+      2 copy moveto pop Oy
+      L
+      pop pop } if
+} def
+%
+/Arcto { 
+  /a [ 6 -2 roll ] cvx def 
+  a r 
+  /arcto load stopped { 5 } { 4 } ifelse { pop } repeat 
+  a 
+} def
+%
+/CheckClosed { 
+  dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq
+  and { pop pop /n n 1 sub def } if 
+} def
+%
+/Polygon { 
+  NArray n 2 eq { 0 0 /n 3 def } if 
+  n 3 lt 
+    { n { pop pop } repeat } 
+    { n 3 gt { CheckClosed } if 
+      n 2 mul -2 roll 
+      /y0 ED /x0 ED /y1 ED /x1 ED  
+      x1 y1 
+      /x1 x0 x1 add 2 div def 
+      /y1 y0 y1 add 2 div def 
+      x1 y1 moveto 
+      /n n 2 sub def 
+      n { Lineto } repeat 
+      x1 y1 x0 y0 6 4 roll Lineto
+      Lineto pop pop closepath } ifelse 
+} def
+%
+/SymbolPolygon {   % on stack [ x y x y ...
+  counttomark 					% number of elements
+  2 add /m ED
+  2 copy m 2 roll				% copy last two
+  m 2 div cvi /n ED    				% n pairs
+  /YA ED /XA ED					% the start point
+  n 1 sub { 
+    /YB ED /XB ED
+    /XLength XB XA sub def
+    /YLength YB YA sub def
+    /PAngle YLength XLength Atan def
+    /XYLength XLength YLength Pyth def
+    /nSym XYLength SymStep Div cvi def
+    /Shift Symbol stringwidth pop 2 Div def 
+    /deltaX XLength nSym Div def
+    /deltaY YLength nSym Div def
+    XA Shift sub YA Shift sub moveto 
+    nSym { 
+      gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+      Symbol show 
+      grestore 
+      deltaX deltaY rmoveto
+    } repeat
+%    XB Shift sub YB Shift sub moveto Symbol show
+    /YA YB def /XA XB def
+  } repeat 
+  pop	% delete the mark symbol
+} def
+%
+/Diamond { 
+  /mtrx CM def 
+  T rotate 
+  /h ED 
+  /w ED 
+  dup 0 eq { pop } { CLW mul neg 
+    /d ED 
+    /a w h Atan def 
+    /h d a sin Div h add def 
+    /w d a cos Div w add def } ifelse 
+  mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div 
+  /ArrowA { moveto } def 
+  /ArrowB { } def 
+  false Line 
+  closepath mtrx setmatrix } def
+%
+/Triangle { 
+  /mtrx CM def 
+  translate 
+  rotate /h ED 2 div /w ED 
+  dup CLW mul /d ED 
+  /h h d w h Atan sin Div sub def 
+  /w w d h w Atan 2 div dup cos exch sin Div mul sub def 
+  mark 
+  0 d w neg d 0 h w d 0 d 
+  /ArrowA { moveto } def 
+  /ArrowB { } def 
+  false 
+  Line 
+  closepath 
+  mtrx
+% DG/SR modification begin - Jun.  1, 1998 - Patch 3 (from Michael Vulis)
+% setmatrix } def
+  setmatrix pop 
+} def
+% DG/SR modification end
+%
+/CCA { 
+  /y ED /x ED 
+  2 copy y sub /dy1 ED 
+  x sub /dx1 ED 
+  /l1 dx1 dy1 Pyth def 
+} def
+%
+/CC { 
+  /l0 l1 def 
+  /x1 x dx sub def 
+  /y1 y dy sub def 
+  /dx0 dx1 def 
+  /dy0 dy1 def 
+  CCA 
+  /dx dx0 l1 c exp mul dx1 l0 c exp mul add def 
+  /dy dy0 l1 c exp mul dy1 l0 c exp mul add def 
+  /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def 
+  /x2 x l0 dx mul m mul sub def
+  /y2 y l0 dy mul m mul sub def 
+  /dx l1 dx mul m mul neg def 
+  /dy l1 dy mul m mul neg def 
+} def
+%
+/IC { 
+  /c c 1 add def 
+  c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse 
+  /a a 2 mul 3 div 45 cos b exp div def 
+  CCA 
+  /dx 0 def 
+  /dy 0 def 
+} def
+%
+/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def
+/NC { CC x1 y1 x2 y2 x y curveto } def
+/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def
+/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def
+/NAC { x2 y2 x y curveto CC x1 y1 } def
+/EAC { x2 y2 x y ArrowB curveto pop pop } def
+%
+/OpenCurve { 
+  NArray n 3 lt 
+    { n { pop pop } repeat } 
+    { BOC /n n 3 sub def n { NC } repeat EOC } ifelse 
+} def
+%
+/CurvePath { 
+  %% for negative SymStep we calculate the distance 
+  SymStep 0 lt { gsave PathLength SymStep div abs /SymStep ED grestore } if
+  0.5 setflat
+  flattenpath /z 0 def /z0 0 def
+  { /y1 ED /x1 ED /y2 y1 def /x2 x1 def 
+    x1 Shift sub y1 Shift sub moveto 
+    gsave 
+    curveticks 
+      { x1 y1 translate startAngle rotate 
+        0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto 
+        SymbolLinewidth setlinewidth stroke      
+      }
+      { startAngle rotate Symbol show }
+    ifelse 
+    grestore /z0 z def }
+  { /y ED /x ED PathLength@ z z0 sub SymStep ge {
+      x Shift sub y Shift sub moveto 
+      gsave 
+      curveticks 
+        { y yOld sub x xOld sub Atan 180 sub CorrAngle sub /rotAngle ED  
+          x y translate rotAngle rotate 
+          0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto 
+          SymbolLinewidth setlinewidth stroke
+        }
+        { 
+          rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if        
+          Symbol show 
+        }
+      ifelse 
+      grestore /z0 z def } if 
+    /yOld y def /xOld x def } 
+  {} %% the lineto part
+  { /y y2 def /x x2 def PathLength@ 
+    x Shift sub y Shift sub moveto 
+    gsave
+    curveticks 
+      { y yOld sub x xOld sub Atan 180 sub /rotAngle ED  
+        x y translate rotAngle rotate 
+        0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto 
+        SymbolLinewidth setlinewidth stroke
+      }
+      { 
+        x Shift sub y Shift sub moveto 
+        rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if        
+        Symbol show 
+      }
+    ifelse 
+    grestore
+  }
+  pathforall 
+%  curveticks 
+%   { gsave 
+%     x y translate rotAngle rotate 
+%     0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto 
+%     SymbolLinewidth setlinewidth stroke grestore
+%   } if
+  z 
+} def
+%
+/OpenSymbolCurve { 
+  OpenCurve
+  0.1 setflat
+  /Shift Symbol stringwidth pop 2 div def 
+  CurvePath 
+} def
+%
+/AltCurve { 
+  { false NArray n 2 mul 2 roll 
+    [ n 2 mul 3 sub 1 roll ] aload
+    /Points ED 
+    n 2 mul -2 roll } 
+  { false NArray } ifelse 
+  n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse 
+} def
+%
+/AltOpenSymbolCurve { 
+  AltCurve
+  0.1 setflat
+  /Shift Symbol stringwidth pop 2 div def 
+  CurvePath 
+} def
+%
+/ClosedCurve { 
+  NArray n 3 lt 
+    { n { pop pop } repeat } 
+    { n 3 gt { CheckClosed } if 
+      6 copy n 2 mul 6 add 6 roll 
+      IC CC x y moveto n { NC } repeat 
+      closepath pop pop 
+    } ifelse 
+} def
+%
+/ClosedSymbolCurve { 
+  ClosedCurve
+  0.1 setflat
+  /Shift Symbol stringwidth pop 2 div def 
+  CurvePath 
+} def
+%
+/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def
+/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def
+/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def
+%
+/FontDot { 
+  DS 2 mul dup 
+  matrix scale matrix concatmatrix exch matrix
+  rotate matrix concatmatrix exch 
+  findfont exch makefont setfont 
+} def
+%
+/Rect { 
+  x1 y1 y2 add 2 div moveto 
+  x1 y2 lineto 
+  x2 y2 lineto 
+  x2 y1 lineto
+  x1 y1 lineto 
+  closepath 
+} def
+%
+/OvalFrame { 
+  x1 x2 eq y1 y2 eq or 
+    { pop pop x1 y1 moveto x2 y2 L } 
+    { y1 y2 sub abs x1 x2 sub abs 2 copy gt 
+      { exch pop } { pop } ifelse 
+      2 div exch { dup 3 1 roll mul exch } if 
+      2 copy lt { pop } { exch pop } ifelse
+      /b ED 
+      x1 y1 y2 add 2 div moveto 
+      x1 y2 x2 y2 b arcto 
+      x2 y2 x2 y1 b arcto
+      x2 y1 x1 y1 b arcto 
+      x1 y1 x1 y2 b arcto 
+      16 { pop } repeat 
+      closepath 
+    } ifelse 
+} def
+%
+/Frame { 
+  CLW mul /a ED 
+  3 -1 roll 
+  2 copy gt { exch } if 
+  a sub /y2 ED 
+  a add /y1 ED 
+  2 copy gt { exch } if 
+  a sub /x2 ED 
+  a add /x1 ED 
+  1 index 0 eq { pop pop Rect } { OvalFrame } ifelse 
+} def
+%
+/BezierNArray { 
+  /f ED 
+  counttomark 2 div dup cvi /n ED 
+  n eq not { exch pop } if 
+  n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat 
+  f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse 
+} def
+%
+/OpenBezier { 
+  BezierNArray 
+  n 1 eq 
+    { pop pop } 
+    { ArrowA n 4 sub 3 idiv 
+      { 6 2 roll 4 2 roll curveto } repeat 
+      6 2 roll 4 2 roll ArrowB curveto } ifelse 
+} def
+%
+/OpenSymbolBezier { 
+  OpenBezier
+  0.1 setflat
+  /Shift Symbol stringwidth pop 2 div def 
+  CurvePath 
+} def
+%
+/ClosedBezier { 
+  BezierNArray 
+  n 1 eq 
+    { pop pop } 
+    { moveto n 1 sub 3 idiv 
+      { 6 2 roll 4 2 roll curveto } repeat 
+      closepath } ifelse 
+} def
+%
+/ClosedSymbolBezier { 
+  /f ED				 % save showpoints value 
+  2 copy /yEnd ED /xEnd ED
+  counttomark -2 roll 2 copy /yStart ED /xStart ED
+  counttomark 2 roll
+  f
+  ClosedBezier
+  0.1 setflat
+  /Shift Symbol stringwidth pop 2 div def 
+  CurvePath 
+  [ xEnd yEnd xStart yStart SymbolLine 
+} def
+%
+/BezierShowPoints { 
+  gsave 
+  Points aload length 2 div cvi /n ED 
+  moveto 
+  n 1 sub { lineto } repeat 
+  CLW 2 div SLW [ 4 4 ] 0 setdash stroke 
+  grestore 
+} def
+%
+/Parab { 
+  /y0 ED /x0 ED /y1 ED /x1 ED 
+  /dx x0 x1 sub 3 div def 
+  /dy y0 y1 sub 3 div def 
+  x0 dx sub y0 dy add x1 y1 ArrowA
+  x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB 
+  curveto 
+  /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def 
+} def
+%
+/Parab1 { % 1 end  |  0 SP
+  /ySP ED /xSP ED /y1 ED /x1 ED 
+  /dx xSP x1 sub 3 div def 
+  /dy ySP y1 sub 3 div def 
+  newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto 
+                       x1 ySP lineto closepath clip 
+  currentpoint
+  newpath moveto
+  xSP dx sub ySP dy add x1 y1 ArrowA
+  xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB 
+  curveto 
+  /Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def 
+} def
+%
+/Grid { 
+  newpath 
+  /a 4 string def 
+  /b ED % 				psk@gridlabels in pt
+  /c ED % 				{ \pst@usecolor\psgridlabelcolor }
+  /n ED % 				psk@griddots
+  cvi dup 1 lt { pop 1 } if 
+  /s ED % 				\psk@subgriddiv
+  s div dup 0 eq { pop 1 } if 
+  /dy ED s div dup 0 eq { pop 1 } if %	\pst@number\psyunit abs
+  /dx ED dy div round dy mul %		\pst@number\psxunit abs
+  /y0 ED dx div round dx mul 
+  /x0 ED dy div round cvi 
+  /y2 ED dx div round cvi 
+  /x2 ED dy div round cvi 
+  /y1 ED dx div round cvi 
+  /x1 ED 
+  /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def 
+  /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def 
+  b 0 gt { 
+    /z1 b 4 div CLW 2 div add def
+%    /Helvetica findfont b scalefont setfont 
+    /b b .95 mul CLW 2 div add def } if 
+  systemdict /setstrokeadjust known 
+    { true setstrokeadjust /t { } def }
+    { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add
+       exch itransform } bind def } ifelse 
+  gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse 
+  /i x1 def 
+  /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def 
+  /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def 
+  x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if 
+  { i dx mul dup y0 moveto 
+    b 0 gt 
+      { gsave c i a cvs dup stringwidth pop 
+        /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse 
+	h 0 gt {b neg}{z1} ifelse 
+        rmoveto show grestore } if 
+    dup t f moveto 
+    g t L stroke 
+    /i i w add def 
+  } repeat 
+  grestore 
+  gsave 
+  n 0 gt
+  % DG/SR modification begin - Nov. 7, 1997 - Patch 1
+  %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash }
+    { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash }
+  % DG/SR modification end
+    { 2 setlinecap } ifelse 
+  /i y1 def 
+  /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def 
+  /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def 
+  y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if 
+  { newpath i dy mul dup x0 exch moveto 
+    b 0 gt { gsave c i a cvs dup stringwidth pop 
+      /z2 ED 
+      w 0 gt {z1 z2 add neg} {z1} ifelse 
+      h 0 gt {z1} {b neg} ifelse 
+      rmoveto show grestore } if 
+    dup f exch t moveto 
+    g exch t L stroke 
+    /i i h add def 
+  } repeat 
+  grestore 
+} def
+%
+/ArcArrow { 
+  /d ED /b ED /a ED 
+  gsave 
+  newpath 0 -1000 moveto clip 
+  newpath 
+  0 1 0 0 b 
+  grestore 
+  c mul 
+  /e ED 
+  pop pop pop r a e d PtoC y add exch x add
+  exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c
+  mul neg d 
+} def
+%
+/Ellipse { 
+  /rotAngle ED
+  /mtrx CM def 
+  T 
+  rotAngle rotate
+  scale 0 0 1 5 3 roll arc 
+  mtrx setmatrix 
+} def
+%
+/ArcAdjust { %%%% Vincent Guirardel
+% given a target length (targetLength) and an initial angle (angle0) [in the stack],
+% let  M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0).
+% This computes an angle t such that (x0,y0) is at distance 
+% targetLength from the point M(t)=(rx*cos(t),ry*sin(t)).
+% NOTE: this an absolute angle, it does not have to be added or substracted to angle0
+% contrary to TvZ's code.
+% To achieve, this, one iterates the following process: start with some angle t,
+% compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)].
+% Now take t' (= new angle) so that (0,0) M(t') and M' are aligned.
+%
+% Another difference with TvZ's code is that we need d (=add/sub) to be defined.
+% the value of d = add/sub is used to know on which side we have to move.
+% It is only used in the initialisation of the angle before the iteration.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Input stack:  1: target length 2: initial angle
+% variables used : rx, ry, d (=add/sub)
+%
+  /targetLength ED /angle0 ED
+  /x0 rx angle0 cos mul def
+  /y0 ry angle0 sin mul def
+% we are looking for an angle t such that (x0,y0) is at distance targetLength 
+% from the point M(t)=(rx*cos(t),ry*sin(t)))
+%initialisation of angle (using 1st order approx = TvZ's code)
+  targetLength 57.2958 mul
+  angle0 sin rx mul dup mul
+  angle0 cos ry mul dup mul
+  add sqrt div 
+% if initialisation angle is two large (more than 90 degrees) set it to 90 degrees
+% (if the ellipse is very curved at the point where we draw the arrow, %
+% the value can be much more than 360 degrees !)
+% this should avoid going on the wrong side (more than 180 degrees) or go near
+% a bad attractive point (at 180 degrees)
+  dup 90 ge { pop 90 } if 
+  angle0 exch d % add or sub
+% maximum number of times to iterate the iterative procedure:
+% iterative procedure: takes an angle t on top of stack, computes a 
+% better angle (and put it on top of stack)
+  30 { dup
+% compute distance D between (x0,y0) and M(t)
+    dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt
+% if D almost equals targetLength, we stop
+    dup targetLength sub abs 1e-5 le { pop exit } if
+% stack now contains D t
+% compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]:
+% M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 )
+    exch dup cos rx mul x0 sub  exch sin ry mul y0 sub
+% stack contains:  y(t)-y0, x(t)-x0, d
+    2 index Div targetLength mul y0 add ry Div exch
+    2 index Div targetLength mul x0 add rx Div
+% stack contains x(t')/rx , y(t')/ry , d
+% now compute t', and remove D from stack
+    atan exch pop
+  } repeat
+% we don't look at what happened... in particular, if targetLength is greater 
+% than the diameter of the ellipse...
+% the final angle will be around /angle0 + 180. maybe we should treat this pathological case...
+% after iteration, stack contains an angle t such that M(t) is the tail of the arrow
+% to give back the result as a an angle relative to angle0 we could add the following line:
+% angle0 sub 0 exch d
+%
+% begin bug fix 2006-01-11
+% we want to adjust the new angle t' by a multiple of 360 so that  | t'-angle0 | <= 180
+%(we don't want to make the ellipse turn more or less than it should)...
+dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifelse
+% end bug fix
+} def
+%
+/EllipticArcArrow {
+  /d ED      % is add or sub
+  /b ED      % arrow procedure
+  /a1 ED     % angle
+  gsave
+  newpath
+  0 -1000 moveto
+  clip                  % Set clippath far from arrow.
+  newpath
+  0 1 0 0 b             % Draw arrow to determine length.
+  grestore
+% Length of arrow is on top of stack. Next 3 numbers are junk.
+%
+  a1 exch ArcAdjust   % Angular position of base of arrow.
+  /a2 ED
+  pop pop pop
+  a2 cos rx mul xOrig add % hv 2007-08-29   x->xOrig
+  a2 sin ry mul yOrig add % hv 2007-08-29   y->yOrig
+  a1 cos rx mul xOrig add % 
+  a1 sin ry mul yOrig add % 
+% Now arrow tip coor and base coor are on stack.
+  b pop pop pop pop       % Draw arrow, and discard coordinates.
+  a2 CLW 8 div
+% change value of d (test it by looking if  `` 1 1 d '' gives 2 or not )
+  1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse
+  ArcAdjust
+% resets original value of d
+  1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse  % Adjust angle to give overlap.
+} def
+%%------------------ tvz/DG/hv (2004-05-10) end -------------------%%
+%
+/Rot { CP CP translate 3 -1 roll neg rotate NET  } def
+%
+/RotBegin { 
+  tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if 
+  /TMatrix [ TMatrix CM ] cvx def 
+  /a ED 
+  a Rot /RAngle [ RAngle dup a add ] cvx def 
+} def
+%
+/RotEnd { 
+  /TMatrix [ TMatrix setmatrix ] cvx def 
+  /RAngle [ RAngle pop ] cvx def 
+} def
+%
+/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def
+/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def
+/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def
+%
+/Uput { 
+  /a ED 
+  add 2 div /h ED 2 
+  div /w ED 
+  /s a sin def 
+  /c a cos def 
+  /b s abs c abs 2 copy gt dup 
+    /q ED 
+    { pop } { exch pop } ifelse def 
+  /w1 c b div w mul def 
+  /h1 s b div h mul def 
+  q { w1 abs w sub dup c mul abs }{ h1 abs h sub dup s mul abs } ifelse 
+} def
+%
+/UUput { 
+  /z ED 
+  abs /y ED 
+  /x ED 
+  q { x s div c mul abs y gt }{ x c div s mul abs y gt } ifelse 
+    { x x mul y y mul sub z z mul add sqrt z add } 
+    { q { x s div } { x c div } ifelse abs 
+    } ifelse 
+  a PtoC 
+  h1 add exch 
+  w1 add exch 
+} def
+%
+/BeginOL { 
+  dup (all) eq exch TheOL eq or 
+    { IfVisible not { Visible /IfVisible true def } if } 
+    { IfVisible { Invisible /IfVisible false def } if } ifelse 
+} def
+%
+/InitOL { 
+  /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def
+  /Visible { CP OLUnit idtransform T moveto } def 
+  /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def 
+  /BOL { BeginOL } def
+  /IfVisible true def 
+} def
+%
+%%%%%%%%%%%%%%%%% tools %%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% ### bubblesort ###
+%% syntax : array bubblesort --> array2 trie par ordre croissant
+%% code de Bill Casselman
+%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/
+/bubblesort {
+4 dict begin
+   /a exch def
+   /n a length 1 sub def
+   n 0 gt {
+      % at this point only the n+1 items in the bottom of a remain to
+      % the sorted largest item in that blocks is to be moved up into
+      % position n
+      n {
+         0 1 n 1 sub {
+            /i exch def
+            a i get a i 1 add get gt {
+               % if a[i] > a[i+1] swap a[i] and a[i+1]
+               a i 1 add
+               a i get
+               a i a i 1 add get
+               % set new a[i] = old a[i+1]
+               put
+               % set new a[i+1] = old a[i]
+               put
+            } if
+         } for
+         /n n 1 sub def
+      } repeat
+   } if
+   a
+end
+} def
+%
+%
+/concatstringarray{  %  [(a) (b) ... (z)] --> (ab...z)  20100422
+  0 1 index { length add } forall 
+  string     
+  0 3 2 roll      
+  { 3 copy putinterval length add }forall 
+  pop  
+} bind def
+%
+/dot2comma {% on stack a string (...) 
+  2 dict begin
+  /Output exch def
+  0 1 Output length 1 sub { 
+    /Index exch def 
+    Output Index get 46 eq { Output Index 44 put } if 
+  } for
+  Output
+  end
+} def
+%
+end
+%-----------------------------------------------------------------------------%
+%
+% END pstricks.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-algparser.pro 0 0
+% $Id: pst-algparser.pro 594 2011-10-31 18:13:18Z herbert $
+%%
+%% PostScript prologue for PSTricks algorithm parser
+%% Version 0.04, 2011/10/21
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%%-----------------------------------------------------------------------------%
+%
+/AlgParser { tx@AlgToPs begin AlgToPs end } def  % Dominique Rodriguez
+%
+/tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin
+%
+% PS ANALYZER FOR ALGEBRAIC EXPRESSION V1.13
+%
+% 09/2011 DR factorial with ! added
+%
+% E->T|E+T
+% T->FS|T*FS
+% FS -> F | +FS | -FS
+% F->P|F^SF|P!
+% P->(E)|literal
+% literal->number|var|var[E]|func(params)
+% params->E|E,param
+% number->TOBEFINISHED
+%
+%% E expression, T term, SF signed factor, F factor, P power
+%
+%% parser
+%
+%% str
+%
+%% C->E<condition_operators>E
+%% STR index -> STR index+lenExpr
+/AnalyzeCond { AnalyzeExpr ReadCondOp AnalyzeExpr EvalCondOp  } def
+%
+%% analyze Expression List (separator , or | )
+%% STR index -> STR index+lenExpr
+%% /AnalyzeListOfE {
+%%   { NextNonBlankChar pop AnalyzeExpr%%dup Strlen eq { exit } if NextNonBlankChar
+%%     NextNonBlankChar dup 0 eq { pop exit } if
+%%     dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if
+%%     pop NextNonBlankChar dup 0 eq { exit } if 124 ne { PROBLEMCONTACTBILLOU } if 1 add NextNonBlankChar 0 eq {toto} if } loop
+%%   AnalyzeListOfEPostHook
+%% } def
+/AnalyzeListOfE {
+  /NotFirst false def
+  { NextNonBlankChar pop AnalyzeExpr
+    NotFirst { EvalListOfExpr } { /NotFirst true def } ifelse
+    dup Strlen eq { exit } if NextNonBlankChar
+    dup 44 ne 1 index 124 ne and
+    { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse }
+    if  pop 1 add } loop
+  AnalyzeListOfEPostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% E->T|E+T
+%% STR index -> STR index+lenExpr
+/AnalyzeExpr {
+  AnalyzePreHook AnalyzeTerm IsEndingExpr
+  { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
+  { { RollOp 1 add NextNonBlankChar pop AnalyzeTerm PreEvalHook EvalAddSub IsEndingExpr { pop exit } if } loop }
+  ifelse
+  AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% T->FS|T*FS
+%% STR index
+/AnalyzeTerm {
+  AnalyzePreHook AnalyzeSignedFactor IsEndingTerm
+  { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
+  { { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor PreEvalHook EvalMulDiv IsEndingTerm { pop exit } if} loop }
+  ifelse
+  AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% FS -> F | +FS | -FS
+%% STR index
+/AnalyzeSignedFactor {
+  AnalyzePreHook 2 copy get dup IsUnaryOp
+  { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor EvalUnaryOp }
+  { pop AnalyzeFactor }
+  ifelse AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% F->P|F^P|P!
+%% STR index
+/AnalyzeFactor {
+  AnalyzePreHook AnalyzePower IsEndingFactor
+  { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
+  { { dup 33 eq%% is there a ! DR 09/2011
+      { pop 1 add NextNonBlankChar pop EvalFactorial }
+      { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower }
+      ifelse
+      IsEndingFactor { pop exit } if } loop }
+  ifelse  AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% P->(E)|literal
+%% STR index
+/AnalyzePower {
+  %% depending of first char either a number, or a literal
+  2 copy get dup 40 eq%%an open par
+  { pop 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop }
+  { AnalyzeLiteral }
+  ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index STR[index] -> STR index
+%/AnalyzeLiteral { IsNumber { EvalNumber } { EvalLiteral } ifelse } def
+/AnalyzeLiteral { dup IsUnaryOp exch IsNumber or { EvalNumber } { EvalLiteral } ifelse } def%%dr 09102006
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% recognize + or -
+%% chr -> T/F
+/IsUnaryOp { dup 43 eq exch 45 eq or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a number can contain only : 0123456789.
+%% chr -> T/F
+/IsNumber { dup 48 ge exch dup 57 le 3 -1 roll and exch 46 eq or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index -> STR index number
+%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)?
+%% STR index -> STR index' number
+/ReadNumber {
+  exch dup 3 -1 roll dup 3 1 roll
+  %%read mantissa
+  { 1 add  2 copy dup Strlen eq { pop pop 0 exit } if get dup IsNumber not { exit } if pop } loop
+  dup 101 eq exch 69 eq or
+  %%% there is a "e" or "E" -> read exponant
+  { 1 add 2 copy get dup IsUnaryOp
+    { pop 1 add 2 copy get } if
+    { IsNumber not { exit } if 1 add 2 copy get } loop }
+  if
+  dup 4 1 roll
+  3 -1 roll exch 1 index sub getinterval
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a number can contain only : 0123456789.
+%% chr -> T/F
+/IsCondOp { dup 30 eq exch dup 60 ge exch 62 le and or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index -> STR index number
+%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)?
+%% STR index -> STR index' number
+/ReadCondOp {
+  NextNonBlankChar 1 index 4 1 roll
+  { IsCondOp not { exit } if 1 add  2 copy get } loop
+  2 copy 5 -1 roll
+  exch 1 index sub getinterval 3 1 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a literal can contain only : 0123456789.
+%% chr -> T/F
+/IsLiteral {%
+  dup 48 ge exch dup  57 le 3 -1 roll and exch
+  dup 65 ge exch dup  90 le 3 -1 roll and 3 -1 roll or exch
+  dup 97 ge exch     122 le and or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a literal can be of the form [a-zA-Z][a-zA-Z0-9]*\(\((Expression)\)|\(\[Expression\]\)\)?
+%% STR index -> literal STR index' nextchr
+/ReadLiteral {
+  exch dup 3 -1 roll dup 3 1 roll
+  %%read literal core
+  { 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsLiteral not { exit } if pop 1 add } loop
+  4 1 roll dup 5 1 roll 3 -1 roll exch 1 index sub getinterval 4 1 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or a clpar
+%% STR index -> STR index STR[index] T/F
+/IsEndingExpr {%
+  2 copy dup Strlen eq
+  %% if end of str is reached -> end !
+  { pop pop 0 true }
+  %% ending chr -> clpar, comma, |, <, >, =, !,
+  {get dup  dup  41 eq
+       exch dup 124 eq
+       exch dup  93 eq
+       exch dup  44 eq
+       exch dup  30 eq
+       exch dup  60 ge exch 62 le and or or or or or}
+  ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or a +-
+%% STR index -> STR index STR[index] T/F
+/IsEndingTerm { IsEndingExpr { true } { dup dup 43 eq exch 45 eq or } ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or */
+%% STR index -> STR index STR[index] T/F
+/IsEndingFactor { IsEndingTerm { true } { dup dup 42 eq exch 47 eq or } ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or ^
+%% STR index -> STR index STR[index] T/F
+/IsEndingPower { IsEndingFactor { true } { dup 94 eq } ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index -> STR index STR[index]
+/NextNonBlankChar { { dup Strlen eq { 0 exit } if 2 copy get dup neBlkChar { exit } if pop 1 add } loop } bind def
+/neBlkChar { dup 32 ne exch dup 10 ne exch 9 ne and and } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%
+%% DEBUG
+/BRK {false} def
+/BRKtrue {/BRK true def} def
+/BRKStop {BRK {BRKtoto} if } def
+/BRKEvalStop {BRK exch if } def
+/BRKBRK2true {BRK {BRK2true} if } def
+/BRK2 {false} def
+/BRK2true {/BRK2 true def} def
+/BRK2Stop {BRK2 {BRK2toto} if } def/BRK {false} def
+end
+%
+%-------------------------------------------------------------------------------%
+%
+/tx@AlgToPs 12 dict def tx@AlgToPs begin
+%
+%% algExpr -> PSVector
+/AlgToPs { tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE pop pop EndingSequence end } def
+/EndingSequence { ExpressionVector aload length /end cvx exch 1 add array astore } def
+/InitParser { /ExpressionVector [ /tx@AddMathFunc cvx /begin cvx ] def dup length /Strlen exch def 0 } def
+/Strlen 0 def
+/EvalListOfExpr {} def%
+/EvalNumber {%
+    ReadNumber  cvr /ExpressionVector ExpressionVector aload length dup 3 add -1 roll cvx
+    exch 1 add array astore def NextNonBlankChar pop } def
+/EvalAddSub {%
+  /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
+  43 eq { /add } { /sub } ifelse cvx exch 1 add array astore def
+} def
+/EvalMulDiv {%
+  /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
+  42 eq { /mul } { /div } ifelse cvx exch 1 add array astore def
+} def
+/EvalPower {%
+  /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
+  pop /exp cvx exch 1 add array astore def
+} def
+/EvalFactorial {% DR 09/2011
+  /ExpressionVector ExpressionVector aload length
+  /fact cvx exch 1 add array astore def
+} def
+/EvalLiteral {%
+  ReadLiteral
+  dup 40 eq%%% there is an open par -> function call
+  { pop 2 index
+    dup (Sum) eq { EvalSum }
+    { dup (IfTE) eq { EvalCond }
+      { dup (Derive) eq { pop EvalDerive }
+	{ pop 1 add NextNonBlankChar pop AnalyzeListOfE 2 index TrigoFunc
+          /ExpressionVector ExpressionVector aload length dup 5 add -1 roll cvn cvx
+	  exch 1 add array astore def 1 add NextNonBlankChar pop } ifelse } ifelse} ifelse }
+  { /ExpressionVector ExpressionVector aload length dup 6 add -1 roll cvn cvx exch 1 add array astore def
+    dup 91 eq%%% there is an open bracket -> vector element
+    { pop 1 add NextNonBlankChar pop AnalyzeExpr
+      /ExpressionVector ExpressionVector aload length /cvi cvx exch /get cvx exch 2 add array astore def 1 add }
+    { pop NextNonBlankChar pop }
+    ifelse}
+  ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% the derive function : Derive(n,f(x))
+%% firstparindex lastparindex ->
+/EvalDerive {
+  %% manage the function descripiton
+  1 add ReadNumber 3 1 roll NextNonBlankChar
+  44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+  1 add NextNonBlankChar pop
+  3 -1 roll cvi
+  dup 0 eq
+  { pop AnalyzeExpr 3 -1 roll pop 1 add }
+  { 1 sub 3 1 roll (x)  exch tx@Derive begin DeriveIndexed end 4 -1 roll
+    { (x) tx@Derive begin Derive end } repeat
+    ExpressionVector exch /ExpressionVector [] def
+    AlgToPs aload length
+    /ExpressionVector 1 index 3 add -1 roll aload length dup 3 add -1 roll  /l2 exch def /l1 exch def
+    l1 l2 add 1 add l2 neg roll l1 l2 add array astore def 3 -1 roll pop 1 add
+    1 index length /Strlen exch def } ifelse
+} def
+/EvalSum {%
+  pop 1 add NextNonBlankChar pop
+  %% read the variable name
+  ReadLiteral pop NextNonBlankChar
+  44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if
+  %% read the initial value
+  1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
+  2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+  %% read the increment value
+  1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
+  2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+  %% read the limit value
+  1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
+  2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+  /ExpressionVector ExpressionVector aload length dup 7 add -3 roll 0 4 1 roll
+  5 -1 roll 4 add array astore def
+  %% keep ExpressionVector for later and create a new one for internal Sum computation
+  ExpressionVector 3 1 roll /ExpressionVector [ 6 -1 roll cvn /exch cvx /def cvx ] def
+  1 add NextNonBlankChar pop AnalyzeExpr
+  %% add each term
+  /ExpressionVector ExpressionVector aload length 1 add /add cvx exch array astore def
+  /ExpressionVector 4 -1 roll aload length ExpressionVector cvx /for cvx 3 -1 roll 2 add
+  array astore def 3 -1 roll pop 1 add
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Convert to radians if trigo function call
+%% (name) ->
+/TrigoFunc {
+  dup (cos) eq 1 index (sin) eq or exch (tan) eq or
+  { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add
+    array astore def
+  } if
+} def
+/EvalCond {%
+  pop 1 add AnalyzeCond NextNonBlankChar
+  44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if
+  ExpressionVector 3 1 roll /ExpressionVector [] def
+  1 add AnalyzeExpr ExpressionVector 3 1 roll /ExpressionVector [] def
+  NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if
+  1 add AnalyzeExpr
+  NextNonBlankChar 41 ne { ANALYZER_ERROR_missing_ending parenthesis_in_IfTE } if
+  ExpressionVector
+  /ExpressionVector 6 -1 roll aload length dup
+  6 add -1 roll cvx exch dup 4 add -1 roll cvx /ifelse cvx 3 -1 roll 3 add array astore def
+  1 add 3 -1 roll pop
+} def
+%% CondOp STR index
+/EvalCondOp {%
+  3 -1 roll
+  dup (=) eq  { /eq } {%
+  dup (<) eq  { /lt } {%
+  dup (>) eq  { /gt } {%
+  dup (>=) eq { /ge } {%
+  dup (<=) eq { /ge } {%
+  dup (!=) eq { /ne } { ERROR_non_valid_conditional_operator }
+  ifelse } ifelse } ifelse } ifelse } ifelse } ifelse
+  cvx exch pop
+  /ExpressionVector ExpressionVector aload length dup 3 add -1 roll exch 1 add array astore def } def
+/EvalUnaryOp {
+  3 -1 roll 45 eq { /ExpressionVector ExpressionVector aload length /neg cvx exch 1 add array astore def } if
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% H O O K S
+/AnalyzePreHook {} bind def
+/PreEvalHook {} bind def
+/AnalyzeListOfEPostHook {} bind def
+/AnalyzePostHook {} def
+/RollOp { 3 1 roll } bind def
+end   %tx@CoreAnalyzerDict
+%
+%--------------------------------------------------------------------%
+%
+/tx@Derive 41 dict def tx@Derive begin
+%%increase ^^ for each function added
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% algExpr variable -> PSVector
+/Derive {%
+  10240 string 3 1 roll 0 3 1 roll
+  /Variable exch def
+  tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE end
+} def
+/Strlen 0 def
+/InitParser { dup length /Strlen exch def 0 } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% algExpr variable index -> PSVector
+/DeriveIndexed {%
+  3 1 roll 10240 string 3 1 roll 0 3 1 roll
+  /Variable exch def
+  tx@CoreAnalyzerDict begin InitParser pop 4 -1 roll AnalyzeExpr 4 -2 roll pop pop 4 -2 roll exch pop end
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u,v)'=-(u',v')
+/EvalListOfExpr {%
+  4 2 roll 2 copy 9 -1 roll dup length 4 1 roll putinterval add AddPipe
+           2 copy 7 -1 roll dup length 4 1 roll putinterval add
+  6 -2 roll pop pop
+  2 copy pop 0 6 2 roll GetIntervalNewStr 5 1 roll 2 copy 0 exch getinterval 6 1 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (-u)'=-(u')
+/EvalUnaryOp {
+  4 -2 roll 4 index (0) eq
+  { (0) StrConcat 7 -1 roll pop }
+  { 7 -1 roll 45 eq
+    { AddSub AddOpPar true } { false } ifelse
+    3 1 roll 5 index StrConcat 3 -1 roll { AddClPar } if } ifelse
+  2 copy pop 0 6 2 roll GetIntervalNewStr
+  7 -2 roll pop pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (number)'=0
+/EvalNumber { ReadNumber (0) 6 2 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u+v)'=u'+v'
+/EvalAddSub {%
+  7 index dup (0) eq
+  { pop true }%% du=0 nothing added
+  { dup length exch 5 index 5 index 3 -1 roll putinterval 4 -1 roll add 3 1 roll false }
+  ifelse
+  5 index dup (0) eq
+  { pop { (0) } { 4 -2 roll 2 copy pop 0  6 2 roll GetIntervalNewStr } ifelse }%%dv=0
+  { exch
+    { 5 -2 roll 7 index 45 eq { AddSub } if false } %%nothing yet added
+    { 5 -2 roll 7 index 43 eq%%something yet added
+      { AddAdd false } { AddSub AddOpPar true } ifelse }
+    ifelse 11 1 roll
+    3 -1 roll StrConcat 10 -1 roll { AddClPar } if
+    2 copy pop 0 6 2 roll GetIntervalNewStr }
+  ifelse
+  mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u*v)' or (u/v)'
+/EvalMulDiv { 6 index 42 eq {EvalMul} {EvalDiv} ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u*v)'=u'*v+u*v'
+/EvalMul {%
+  4 -2 roll 7 index dup (0) eq
+  { pop false }%%du=0
+  { (1) eq%%du=1
+    { false }
+    { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse
+    3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if
+    true }%%du!=0
+  ifelse
+  5 1 roll 5 index (0) eq
+  { 5 -1 roll not { (0) StrConcat } if }%%dv=0
+  { 5 -1 roll { AddAdd } if
+    4 index (1) eq
+    { 8 index StrConcat }
+    { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar }
+    ifelse
+  }%%dv!=0
+  ifelse
+  2 copy pop 0 6 2 roll GetIntervalNewStr
+  mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u/v)'=(u'*v-u*v')/v^2
+/EvalDiv {%
+  4 -2 roll
+  4 index (0) eq%%dv=0 -> u'/v
+  { 7 index (0) eq { (0) StrConcat } { AddOpPar 7 index StrConcat AddClPar AddDiv 5 index StrConcat } ifelse }
+  { 7 index dup (0) eq
+    { pop }%%du=0
+    { (1) eq%%du=1
+      { false }
+      { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse
+      3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if}%%du!=0
+    ifelse
+      AddSub
+      4 index (1) eq
+      { 8 index StrConcat }
+      { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar }
+      ifelse
+    %}%%dv!=0
+    2 copy GetIntervalNewStr 3 1 roll pop 0 AddOpPar 3 -1 roll StrConcat AddClPar
+    AddDiv AddOpPar 5 index StrConcat AddClPar 2 copy (^2) putinterval 2 add }
+  ifelse
+  2 copy pop 0 6 2 roll GetIntervalNewStr
+  mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% str1 index str2 -> str1 index
+/StrConcat { dup length 4 2 roll 2 copy 6 -1 roll putinterval 3 -1 roll add } bind def
+/GetIntervalNewStr { 0 exch getinterval dup length string copy } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u^v)'=(u^v)'=u'vu^(v-1)+v'u^(v)ln(u)
+/EvalPower {%
+  4 -2 roll 7 index (0) eq
+  {%%if du=0 then (u^v)'=v'ln(u)u^v
+    4 index (0) eq
+    { (0) StrConcat }%%if dv=0 then (u^v)'=0
+    { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if
+      8 index (e) ne { (ln\() StrConcat 8 index StrConcat (\)*) StrConcat } if
+      AddOpPar 8 index StrConcat (\)^\() StrConcat 5 index StrConcat AddClPar } ifelse
+  }
+  {%%du!=0
+    4 index (0) eq
+    {%%if dv=0 then (u^v)'=vu'u^(v-1)
+      5 index dup IsStrNumber
+      { dup (0) eq
+        { StrConcat }
+        { dup dup (1) eq exch (1.0) eq or
+          { StrConcat  }
+	  { StrConcat
+	    7 index dup (1) ne exch (1.0) ne and%%%dr 09102006 insert du if <> 1
+	    { (*\() StrConcat 7 index StrConcat (\)) StrConcat } if%%%dr 09102006
+            (*\() StrConcat 8 index StrConcat (\)) StrConcat
+            5 index  dup dup (2) eq exch (2.0) eq or
+	    { pop } { cvr 1 sub 20 string cvs 3 1 roll (^) StrConcat 3 -1 roll StrConcat } ifelse } ifelse } ifelse }
+      { pop AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat
+        5 index StrConcat (-1\)) StrConcat } ifelse
+    }
+    {%%if dv!=0 and du!=0 then (u^v)'=u'vu^(v-1)+v'u^(v)ln(u)
+      7 index (1) ne { AddOpPar 7 index StrConcat (\)*) StrConcat } if
+      AddOpPar 5 index StrConcat (\)*\() StrConcat
+      8 index StrConcat (\)^\() StrConcat
+      5 index StrConcat (-1\)+\() StrConcat
+      4 index (1) ne { 4 index StrConcat (\)*\() StrConcat } if
+      8 index StrConcat (\)^\() StrConcat
+      5 index StrConcat (\)*ln\() StrConcat
+      8 index StrConcat AddClPar
+    } ifelse
+  } ifelse
+  2 copy pop 0 6 2 roll GetIntervalNewStr
+  mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% No derivative for factorial ! only cst => null derivative
+/EvalFactorial {% DR 09/2011
+  4 index (0) eq
+  { (0) mark 8 -2 roll  cleartomark 2 index 7 index dup 4 index exch sub getinterval exch 6 2 roll }
+  { DERIVATIVE_ENGINE_ERROR_no_variable_in_factorial } ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% str -> true/false
+/IsStrNumber {%
+  true exch
+  { dup 48 lt exch dup 57 gt 3 -1 roll or
+    exch dup 46 ne%%.
+    exch dup 43 ne%%+
+    exch 45 ne%%-
+    and and and { pop false } if } forall
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% literal switch -> func call, vector, variables
+/EvalLiteral {%
+  ReadLiteral dup 40 eq%%% there is an open par -> function call
+  { pop (EvalFunc_             ) 9 4 index StrConcat 0 exch getinterval cvn cvx exec }
+  { dup 91 eq%%% there is an open bracket -> vector element
+    { DERIVATIVE_ENGINE_ERROR_vector_not_yet_implemented }
+    { pop EvalVariable }
+    ifelse }
+  ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% first last parpos Expr[first:parpos-1] ->
+/EvalVariable { 2 index Variable eq { (1) } { (0) } ifelse 4 -1 roll exch 6 2 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (f(u))'=u'f'(u)
+/EvalFunc {
+  4 2 roll 4 index (1) ne
+  { AddOpPar 4 index StrConcat (\)*) StrConcat } if
+  (Eval             ) 4 8 index StrConcat 0 exch getinterval cvn cvx exec
+  2 copy pop 0 6 2 roll GetIntervalNewStr
+  mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Func derivative -> Eval<func>
+/EvalFunc_sin {%
+  PreCommonFunc
+  { (cos\() StrConcat 5 index StrConcat AddClPar } if
+  PostCommonFunc } def
+/EvalFunc_cos {%
+  PreCommonFunc
+  { (\(-sin\() StrConcat 5 index StrConcat (\)\)) StrConcat } if
+  PostCommonFunc } def
+/EvalFunc_tan {%
+  PreCommonFunc
+  {  dup 0 eq { (1) StrConcat } { 1 sub } ifelse  (/cos\() StrConcat 5 index StrConcat (\)^2) StrConcat } if
+  PostCommonFunc } def
+/EvalFunc_asin {%
+  PreCommonFunc
+  { (1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+  PostCommonFunc } def
+/EvalFunc_acos {%
+  PreCommonFunc
+  { (-1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+  PostCommonFunc } def
+/EvalFunc_atg {%
+  PreCommonFunc
+  { (1/\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+  PostCommonFunc } def
+/EvalFunc_ln {%
+  PreCommonFunc
+  {  dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\() StrConcat 5 index StrConcat AddClPar } if
+  PostCommonFunc } def
+/EvalFunc_exp {%
+  PreCommonFunc
+  {  (exp\() StrConcat 5 index StrConcat AddClPar } if
+  PostCommonFunc } def
+/EvalFunc_EXP {%
+  PreCommonFunc
+  {  (EXP\() StrConcat 5 index StrConcat AddClPar } if
+  PostCommonFunc } def
+/EvalFunc_sqrt {%
+  PreCommonFunc
+  { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\(2*sqrt\() StrConcat 5 index StrConcat (\)\)) StrConcat } if
+  PostCommonFunc } def
+/EvalFunc_Fact {%
+  PreCommonFunc { DERIVATIVE_ENGINE_ERROR_no_variable_expression_in_Fact } if
+  PostCommonFunc } def
+/EvalFunc_sh {%
+  PreCommonFunc
+  { (ch\() StrConcat 5 index StrConcat AddClPar } if
+  PostCommonFunc } def
+/EvalFunc_ch {%
+  PreCommonFunc
+  { (sh\() StrConcat 5 index StrConcat AddClPar } if
+  PostCommonFunc } def
+/EvalFunc_th {%
+  PreCommonFunc
+  {  dup 0 eq { (1) StrConcat } { 1 sub } ifelse  (/ch\() StrConcat 5 index StrConcat (\)^2) StrConcat } if
+  PostCommonFunc } def
+/EvalFunc_Argsh {%
+  PreCommonFunc
+  { (1/sqrt\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+  PostCommonFunc } def
+/EvalFunc_Argch {%
+  PreCommonFunc
+  { (1/sqrt\(\() StrConcat 5 index StrConcat (\)^2-1\)\)) StrConcat } if
+  PostCommonFunc } def
+/EvalFunc_Argth {%
+  PreCommonFunc
+  { (1/\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+  PostCommonFunc } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+/PreCommonFunc {
+  1 add NextNonBlankChar pop 3 -1 roll 5 1 roll AnalyzeExpr 1 add NextNonBlankChar pop
+  4 2 roll 4 index (0) eq
+  { (0) StrConcat false }
+  { 4 index (1)  ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if true } ifelse
+} def
+/PostCommonFunc {
+  2 copy pop 0 6 2 roll GetIntervalNewStr
+  mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+/EvalFunc_Derive {%
+  1 add ReadNumber cvi 1 add dup cvr log 1 add cvi string cvs
+  4 -1 roll pop 5 1 roll 1 add NextNonBlankChar pop AnalyzeExpr 1 add
+  4 -2 roll (Derive\() StrConcat 7 -1 roll StrConcat (,) StrConcat 6 -1 roll StrConcat AddClPar
+  2 copy pop 0 6 2 roll GetIntervalNewStr 6 -1 roll pop 2 index 6 index dup 4 index exch sub getinterval
+  exch 6 2 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% literal switch -> func call, vector, variables
+/EvalFunc_Sum {%
+  1 add NextNonBlankChar pop
+  %% read the variable name
+  ReadLiteral pop 3 -1 roll pop NextNonBlankChar
+  44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if
+  %% read the initial value
+  1 add NextNonBlankChar pop ReadNumber pop
+  2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+  %% read the increment value
+  1 add NextNonBlankChar pop ReadNumber pop
+  2 copy get 44 ne { ANALYZER_ERROR_missing_third_comma_in_Sum } if
+  %% read the limit value
+  1 add NextNonBlankChar pop ReadNumber pop
+  2 copy get 44 ne { ANALYZER_ERROR_missing_fourth_comma_in_Sum } if
+  1 add NextNonBlankChar pop dup 6 1 roll 3 -1 roll pop AnalyzeExpr 1 add NextNonBlankChar pop
+  4 -2 roll 3 index 8 index dup 9 index exch sub getinterval StrConcat
+  4 index StrConcat AddClPar
+  2 copy pop 0 6 2 roll GetIntervalNewStr
+  mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% literal switch -> func call, vector, variables
+/EvalFunc_IfTE {%
+  3 -1 roll pop 1 add NextNonBlankChar pop SkipCond
+  NextNonBlankChar
+  44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if
+  1 add NextNonBlankChar pop dup 5 1 roll
+  AnalyzeExpr NextNonBlankChar
+  44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if
+  1 add NextNonBlankChar pop
+  AnalyzeExpr 1 add NextNonBlankChar pop
+  4 -2 roll 3 index 10 index dup 11 index exch sub getinterval StrConcat
+  6 index StrConcat (,) StrConcat 4 index StrConcat AddClPar
+  2 copy pop 0 6 2 roll GetIntervalNewStr
+  mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% advance in str until a comma is found (no error detection!)
+%% str index -> str index'
+/SkipCond { { 1 add 2 copy get 44 eq {exit } if } loop } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Convert to radians if trigo function call
+%% (name) ->
+/TrigoFunc {
+  dup (cos) eq 1 index (sin) eq or exch (tan) eq or
+  { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add
+    array astore def
+  } if
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% No derivative for condition....
+/EvalCondOp { 3 -1 roll pop } bind def
+/PutIntervalOneAdd {putinterval 1 add} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add open parenthesis in string at the given index
+%% str index -> str index+1
+/AddOpPar {2 copy (\() PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add close parenthesis in string at the given index
+%% str index -> str index+1
+/AddClPar {2 copy (\)) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add 0 in string at the given index
+%% str index -> str index+1
+/AddZero {2 copy (0) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add open parenthesis in string at the given index
+%% str index -> str index+1
+/AddMul {2 copy (*) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add open parenthesis in string at the given index
+%% str index -> str index+1
+/AddDiv {2 copy (/) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add a plus sign in string at the given index
+%% str index -> str index+1
+/AddAdd {2 copy (+) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add a minus sign in string at the given index
+%% str index -> str index+1
+/AddSub {2 copy (-) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add a pipe sign in string at the given index
+%% str index -> str index+1
+/AddPipe {2 copy (|) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% H O O K S
+/AnalyzePreHook { dup 5 1 roll } bind def
+/PreEvalHook {} def
+/AnalyzePostHook { 7 -1 roll pop } bind def
+/AnalyzeListOfEPostHook { 6 -1 roll mark 6 1 roll cleartomark } bind def
+/RollOp { 5 1 roll } bind def
+end%%%tx@CoreAnalyzerDict
+/tx@AddMathFunc 12 dict def tx@AddMathFunc begin
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% NEW FUNC
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% function arcsine in radians asin(x)=atan(x/sqrt(1-x^2))
+%% x -> theta
+/asin {%
+  dup abs 1 gt { EQDFasinrangeerror  } if
+  dup dup dup mul 1 exch sub sqrt atan exch 0 lt { 360 sub } if DegtoRad
+} def
+%% function arccosine in radians acos(x)=atan(sqrt(1-x^2)/x)
+%% x -> theta
+/acos {%
+  dup abs 1 gt { EQDFacosrangeerror  } if
+  dup dup mul 1 exch sub sqrt exch atan DegtoRad
+} def
+%% function arctangent in radians
+%% x -> theta
+/atg { 1 atan dup 90 gt { 360 sub } if DegtoRad } bind def
+%% HYPERBOLIC FUNCTIONS
+/sh { dup Ex exch neg Ex sub 2 div } def
+/ch { dup Ex exch neg Ex add 2 div } def
+/th { dup sh exch ch div } def
+/Argsh { dup dup mul 1 add sqrt add ln } def
+/Argch { dup dup mul 1 sub sqrt add ln } def
+/Argth { dup 1 add exch 1 exch sub div ln 2 div } def
+%% modified exponential funtion for 0
+%% x n -> x^n
+/Exp { dup 0 eq { pop pop 1 } { exp } ifelse } bind def
+%% modified exponential funtion for 0
+%% x -> e^x
+/Ex { Euler exch exp } bind def
+%%
+%% factorial function
+%% n -> n!
+/Fact { 1 exch 2 exch 1 exch { mul } for } bind def
+/fact { Fact } bind def
+/! { Fact } bind def
+end
+%
+% END pst-algparser.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-tools.pro 0 0
+% $Id: pst-tools.pro 622 2012-01-01 15:36:14Z herbert $
+%
+%% PostScript tools prologue for pstricks.tex.
+%% Version 0.02, 2012/01/01
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+%
+/Pi2 1.57079632679489661925640 def
+/factorial { % n on stack, returns n! 
+  dup 0 eq { 1 }{ 
+    dup 1 gt { dup 1 sub factorial mul } if }
+  ifelse } def 
+%
+/MoverN { % m n on stack, returns the binomial coefficient m over n
+  2 dict begin
+  /n exch def /m exch def
+  n 0 eq { 1 }{
+    m n eq { 1 }{
+      m factorial n factorial m n sub factorial mul div } ifelse } ifelse 
+  end
+} def
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% subroutines for complex numbers, given as an array [a b] 
+% which is a+bi = Real+i Imag
+%
+/cxadd {		% [a1 b1] [a2 b2] = [a1+a2 b1+b2]
+  dup 0 get		% [a1 b1] [a2 b2] a2
+  3 -1 roll		% [a2 b2] a2 [a1 b1]
+  dup 0 get		% [a2 b2] a2 [a1 b1] a1
+  3 -1 roll		% [a2 b2] [a1 b1] a1 a2
+  add			% [a2 b2] [a1 b1] a1+a2
+  3 1 roll		% a1+a2 [a2 b2] [a1 b1]
+  1 get			% a1+a2 [a2 b2] b1
+  exch 1 get		% a1+a2 b1 b2
+  add 2 array astore
+} def
+%
+/cxneg {		% [a b]
+  dup 1 get		% [a b] b
+  exch 0 get		% b a
+  neg exch neg		% -a -b
+  2 array astore
+} def
+%
+/cxsub { cxneg cxadd } def  % same as negative addition
+%
+% [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3]
+/cxmul {		% [a1 b1] [a2 b2]
+  dup 0 get		% [a1 b1] [a2 b2] a2
+  exch 1 get		% [a1 b1] a2 b2
+  3 -1 roll		% a2 b2 [a1 b1]
+  dup 0 get		% a2 b2 [a1 b1] a1
+  exch 1 get		% a2 b2 a1 b1
+  dup			% a2 b2 a1 b1 b1
+  5 -1 roll dup		% b2 a1 b1 b1 a2 a2
+  3 1 roll mul		% b2 a1 b1 a2 b1a2
+  5 -2 roll dup		% b1 a2 b1a2 b2 a1 a1
+  3 -1 roll dup		% b1 a2 b1a2 a1 a1 b2 b2
+  3 1 roll mul		% b1 a2 b1a2 a1 b2 a1b2
+  4 -1 roll add		% b1 a2 a1 b2 b3
+  4 2 roll mul		% b1 b2 b3 a1a2
+  4 2 roll mul sub	% b3 a3
+  exch 2 array astore
+} def
+%
+% [a b]^2 = [a^2-b^2 2ab] = [a2 b2]
+/cxsqr {		% [a b]   square root
+  dup 0 get exch 1 get	% a b
+  dup dup mul		% a b b^2
+  3 -1 roll		% b b^2 a
+  dup dup mul 		% b b^2 a a^2
+  3 -1 roll sub		% b a a2
+  3 1 roll mul 2 mul	% a2 b2	
+  2 array astore
+} def
+%
+/cxsqrt {		% [a b]
+%  dup cxnorm sqrt /r exch def
+%  cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2 
+  cxlog 		% log[a b]
+  2 cxrdiv 		% log[a b]/2
+  aload pop exch	% b a
+  2.781 exch exp	% b exp(a)
+  exch cxconv exch	% [Re +iIm] exp(a)
+  cxrmul		%
+} def
+%
+/cxarg { 		% [a b] 
+  aload pop 		% a b
+  exch atan 		% arctan b/a
+  DegtoRad 		% arg(z)=atan(b/a)
+} def
+%
+% log[a b] = [a^2-b^2 2ab] = [a2 b2]
+/cxlog {		% [a b]
+  dup 			% [a b][a b]
+  cxnorm 		% [a b] |z|
+  log 			% [a b] log|z|
+  exch 			% log|z|[a b]
+  cxarg 		% log|z| Theta
+  cxmake2 		% [log|z| Theta]
+} def
+%
+% square of magnitude of complex number
+/cxnorm2 {		% [a b]
+  dup 0 get exch 1 get	% a b
+  dup mul			% a b^2
+  exch dup mul add	% a^2+b^2
+} def
+%
+/cxnorm {		% [a b]
+  cxnorm2 sqrt
+} def
+%
+/cxconj {		% conjugent complex
+  dup 0 get exch 1 get	% a b
+  neg 2 array astore	% [a -b]
+} def
+%
+/cxre { 0 get } def	% real value
+/cxim { 1 get } def	% imag value
+%
+% 1/[a b] = ([a -b]/(a^2+b^2)
+/cxrecip {		% [a b]
+  dup cxnorm2 exch	% n2 [a b]
+  dup 0 get exch 1 get	% n2 a b
+  3 -1 roll		% a b n2
+  dup			% a b n2 n2
+  4 -1 roll exch div	% b n2 a/n2
+  3 1 roll div		% a/n2 b/n2
+  neg 2 array astore
+} def
+%
+/cxmake1 { 0 2 array astore } def % make a complex number, real given
+/cxmake2 { 2 array astore } def	  % dito, both given
+%
+/cxdiv { cxrecip cxmul } def
+%
+% multiplikation by a real number
+/cxrmul {		% [a b] r
+  exch aload pop	% r a b
+  3 -1 roll dup		% a b r r
+  3 1 roll mul		% a r b*r
+  3 1 roll mul		% b*r a*r
+  exch 2 array astore   % [a*r b*r]
+} def
+%
+% division by a real number
+/cxrdiv {		% [a b] r
+  1 exch div		% [a b] 1/r
+  cxrmul
+} def
+%
+% exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian
+/cxconv {		% theta
+  RadtoDeg dup sin exch cos cxmake2
+} def
+
+%%%%% ### bubblesort ###
+%% syntax : array bubblesort --> array2 trie par ordre croissant
+%% code de Bill Casselman
+%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/
+/bubblesort { % on stack must be an array [ ... ]
+4 dict begin
+   /a exch def
+   /n a length 1 sub def
+   n 0 gt {
+      % at this point only the n+1 items in the bottom of a remain to
+      % the sorted largest item in that blocks is to be moved up into
+      % position n
+      n {
+         0 1 n 1 sub {
+            /i exch def
+            a i get a i 1 add get gt {
+               % if a[i] > a[i+1] swap a[i] and a[i+1]
+               a i 1 add
+               a i get
+               a i a i 1 add get
+               % set new a[i] = old a[i+1]
+               put
+               % set new a[i+1] = old a[i]
+               put
+            } if
+         } for
+         /n n 1 sub def
+      } repeat
+   } if
+   a % return the sorted array
+end
+} def
+%
+/concatstringarray{  %  [(a) (b) ... (z)] --> (ab...z)  20100422
+  0 1 index { length add } forall 
+  string     
+  0 3 2 roll      
+  { 3 copy putinterval length add }forall 
+  pop  
+} bind def
+%
+/dot2comma {% on stack a string (...) 
+  2 dict begin
+  /Output exch def
+  0 1 Output length 1 sub { 
+    /Index exch def 
+    Output Index get 46 eq { Output Index 44 put } if 
+  } for
+  Output
+  end
+} def
+%
+%-----------------------------------------------------------------------------%
+% END pst-tools.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-dots.pro 0 0
+% $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $
+%
+%% PostScript prologue for pstricks.tex.
+%% Version 2.02,  2009/06/16
+%%
+%% For distribution, see pstricks.tex.
+%%
+%% Timothy Van Zandt <tvz@Princeton.EDU>
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% Modified by Etienne Riga  - Dec. 16, 1999
+%% Modified by Etienne Riga  - 2005/01/01 (er)
+%% to add /Diamond, /SolidDiamond and /BoldDiamond
+%% Modified by Herbert Voss (hv) - 2008/04/17 
+%
+10 dict dup begin			% hold local
+  /FontType 3 def
+  /FontMatrix [.001 0 0 .001 0 0] def
+%  /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv
+  /FontBBox [-1000 -1000 1000 1000] def  % See end of file in /BuildGlyph
+  /Encoding 256 array def
+  0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef
+  Encoding				   % replace with given dot names
+    dup (b) 0 get /Bullet put		   % get the numerical position of b in ASCII
+%					   % and save /Bullet at this place in Encoding 
+    dup (c) 0 get /Circle put
+    dup (C) 0 get /BoldCircle put	% 67
+    dup (u) 0 get /SolidTriangle put
+    dup (t) 0 get /Triangle put
+    dup (T) 0 get /BoldTriangle put
+    dup (r) 0 get /SolidSquare put
+    dup (s) 0 get /Square put
+    dup (S) 0 get /BoldSquare put
+    dup (q) 0 get /SolidPentagon put
+    dup (p) 0 get /Pentagon put
+    dup (P) 0 get /BoldPentagon put
+%%%		  
+    dup (k) 0 get /Asterisk put
+    dup (K) 0 get /BoldAsterisk put
+    dup (J) 0 get /SolidAsterisk put
+    dup (h) 0 get /Hexagon put
+    dup (H) 0 get /BoldHexagon put
+    dup (G) 0 get /SolidHexagon put
+    dup (f) 0 get /Octogon put		% 2008-04-18 hv
+    dup (F) 0 get /BoldOctogon put	% 2008-04-18 hv
+    dup (g) 0 get /SolidOctogon put	% 2008-04-18 hv
+    dup (a) 0 get /Add put
+    dup (A) 0 get /BoldAdd put 		% 65
+    dup (x) 0 get /Mul put
+    dup (X) 0 get /BoldMul put
+    dup (m) 0 get /Oplus put
+    dup (M) 0 get /BOplus put
+    dup (e) 0 get /SolidOplus put
+    dup (n) 0 get /Otimes put
+    dup (N) 0 get /BOtimes put
+    dup (E) 0 get /SolidOtimes put
+    dup (i) 0 get /Bar put
+    dup (I) 0 get /BoldBar put
+    dup (l) 0 get /SolidDiamond put
+    dup (d) 0 get /Diamond put
+        (D) 0 get /BoldDiamond put
+%%%  
+/CharProcs 47 dict def
+CharProcs begin
+  /CirclePath {0 0 500 0 360 arc closepath} def
+  /Bullet {CirclePath fill} def
+  /Circle {CirclePath .9 .9 scale CirclePath eofill} def
+  /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def
+  /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def
+  /SolidTriangle {TrianglePath fill} def
+  /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def
+  /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def
+  /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def
+  /SolidSquare {SquarePath fill} def
+  /Square {SquarePath .89 .89 scale SquarePath eofill} def
+  /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def
+  /PentagonPath {
+    -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto
+    0 574.7 lineto -546.6 177.6 lineto closepath
+  } def
+  /SolidPentagon {PentagonPath fill} def
+  /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def
+  /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def
+%-------------- hv begin 2004/07/25   from: er 2003/03/24
+  /HexagonPath {
+    0 550 moveto -476 275 lineto -476 -275 lineto
+    0 -550 lineto 476 -275 lineto 476 275 lineto closepath
+  } def
+  /SolidHexagon {HexagonPath fill} def
+  /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def
+  /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def
+%					2008-04-18 hv
+  /OctogonPath { 
+     550 dup 22.5 tan mul dup neg dup add /xMove exch def 
+     exch moveto 7 { xMove 0 rlineto 45 rotate } repeat closepath } def 
+  /SolidOctogon { OctogonPath fill                             } def
+  /Octogon {      OctogonPath .89 .89 scale OctogonPath eofill } def
+  /BoldOctogon {  OctogonPath .79 .79 scale OctogonPath eofill } def
+%
+  /AsteriskPath {
+    20 0 moveto 10 250 180 500 0 500 curveto
+    -180 500 -10 250 -20 0 curveto closepath
+  } def
+  /Asterisk {
+    AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath
+    60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill
+  } def
+%
+  /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def
+  /BoldAsteriskPath {
+    50 30 cos 100 mul moveto  Basterp
+    60 rotate Basterp 60 rotate Basterp
+    60 rotate Basterp 60 rotate Basterp
+    60 rotate Basterp closepath
+  } def
+  /BoldAsterisk {BoldAsteriskPath fill} def
+  /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def
+  /CrossPath {
+    40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto
+    -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto 
+    40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath
+  } def
+  /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto
+    -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto 
+    80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath
+  } def
+  /Add {CrossPath fill} def
+  /Mul {45 rotate CrossPath fill} def
+  /BoldAdd {BoldCrossPath fill} def
+  /BoldMul {45 rotate BoldCrossPath fill} def
+  /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def 
+  /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def 
+  /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def 
+  /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def 
+  /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def 
+  /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def 
+  /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def
+  /Bar {BarPath fill} def
+  /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def
+  /BoldBar {BoldBarPath fill} def
+  /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def
+  /SolidDiamond {DiamondPath fill} def
+  /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def
+  /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def
+%%%
+  /.notdef { } def
+end
+%
+/BuildGlyph {
+  exch
+  begin 		
+%  Metrics 1 index get exec 0
+    0 0
+%      BBoxes 3 index get exec
+    -1000 -1000 1000 1000
+%     -571.5 -742.5 571.5 742.5
+    setcachedevice
+    CharProcs begin load exec end
+  end
+} def
+%
+/BuildChar {
+  1 index /Encoding get exch get
+  1 index /BuildGlyph get exec
+} bind def
+%
+end
+/PSTricksDotFont exch definefont pop
+%
+%% end
+
+%%EndProcSet
+%%BeginProcSet: pst-node.pro 0 0
+% $Id: pst-node.pro 645 2012-02-12 09:09:51Z herbert $
+%%
+%% PostScript prologue for pst-node.tex.
+%% Version 1.13, 2011/11/21.
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+/tx@NodeDict 400 dict def tx@NodeDict begin
+tx@Dict begin 			% from main pstricks dict
+ /T /translate load def 
+ /CP /currentpoint load def 
+end
+/NewNode { % on stack: { x y } boolean N@name type InitXnode 
+  gsave 
+  NodeScale                     % a bugfix for xelatex, it's empty for dvips
+  /next exch def 		% { x y } boolean N@name type  
+  dict dup 			% { x y } boolean N@name dict dict
+  3 1 roll def 			% { x y } boolean dict N@name dict def
+  exch { dup 3 1 roll def } if  % { x y } dict boolean
+  begin 			% { x y } dict begin
+  tx@Dict begin 
+    STV CP T exec 		% set scaling
+  end 
+  /NodeMtrx CM def 		% save CM
+  next 				% InitXNode
+  end
+  grestore 
+} def
+%
+/InitPnode { 
+  /Y ED /X ED 
+  /NodePos { NodeSep Cos mul NodeSep Sin mul } def
+} def
+%
+/InitCnode { 
+  /r ED /Y ED /X ED 
+  /NodePos { NodeSep r add dup Cos mul exch Sin mul } def 
+} def
+%
+/GetRnodePos { 
+  Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def } ifelse 
+  Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } ifelse 
+  dx Sin mul abs dy 
+  Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse 
+} def
+%
+/InitRnode { 
+  /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED 
+  /NodePos { GetRnodePos } def 
+} def
+%
+/DiaNodePos { 
+  w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup
+  Cos mul exch Sin mul 
+} def
+%
+/TriNodePos { 
+  Sin s lt 
+    { d NodeSep sub dup Cos mul Sin Div exch } 
+    { w h mul w Sin mul h Cos abs mul add Div 
+      NodeSep add dup Cos mul exch Sin mul 
+    } ifelse 
+} def
+%
+/InitTriNode { 
+  sub 2 div exch 
+  2 div exch 
+  2 copy T 
+  2 copy 4 index index /d ED 
+  pop pop pop pop 
+  -90 mul rotate 
+  /NodeMtrx CM def 
+  /X 0 def /Y 0 def 
+  d sub abs neg /d ED 
+  d add /h ED 
+  2 div h mul h d sub Div /w ED 
+  /s d w Atan sin def 
+  /NodePos { TriNodePos } def 
+} def
+%
+/OvalNodePos { 
+  /ww w NodeSep add def 
+  /hh h NodeSep add def 
+  Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul 
+} def
+%
+/GetCenter { begin X Y NodeMtrx transform CM itransform end } def
+%
+/XYPos { 
+  dup sin exch cos Do 
+  /Cos ED /Sin ED /Dist ED 
+  Cos 0 gt 
+    { Dist Dist Sin mul Cos div }
+    { Cos 0 lt 
+      { Dist neg Dist Sin mul Cos div neg }
+      { 0 Dist Sin mul } ifelse 
+    } ifelse 
+  Do 
+} def
+%
+/GetEdge {
+  dup 0 eq 
+    { pop begin 1 0 NodeMtrx dtransform 
+      CM idtransform 
+      exch atan sub 
+      dup 
+      sin /Sin ED 
+      cos /Cos ED 
+      /NodeSep ED 
+      NodePos NodeMtrx dtransform CM idtransform end }
+    { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse 
+} def
+%
+/AddOffset { 
+  1 index 0 eq 
+    { pop pop } 
+    { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse 
+} def
+%
+/GetEdgeA { 
+  NodeSepA AngleA NodeA NodeSepTypeA GetEdge 
+  OffsetA AngleA AddOffset 
+  yA add /yA1 ED 
+  xA add /xA1 ED 
+} def
+%
+/GetEdgeB { 
+  NodeSepB AngleB NodeB NodeSepTypeB GetEdge 
+  OffsetB AngleB AddOffset 
+  yB add /yB1 ED 
+  xB add /xB1 ED 
+} def
+%
+/GetArmA { 
+  ArmTypeA 0 eq 
+    { /xA2 ArmA AngleA cos mul xA1 add def 
+      /yA2 ArmA AngleA sin mul yA1 add def } 
+    { ArmTypeA 1 eq {{exch}} {{}} ifelse 
+      /Do ED 
+      ArmA AngleA XYPos OffsetA AngleA AddOffset 
+      yA add /yA2 ED 
+      xA add /xA2 ED } ifelse 
+} def
+%
+/GetArmB { 
+  ArmTypeB 0 eq 
+    { /xB2 ArmB AngleB cos mul xB1 add def 
+      /yB2 ArmB AngleB sin mul yB1 add def } 
+    { ArmTypeB 1 eq {{exch}} {{}} ifelse 
+      /Do ED
+      ArmB AngleB XYPos OffsetB AngleB AddOffset 
+      yB add /yB2 ED 
+      xB add /xB2 ED } ifelse 
+} def
+%
+/InitNC { 
+  /b ED /a ED % second and first node
+  /NodeSepTypeB ED /NodeSepTypeA ED 
+  /NodeSepB ED /NodeSepA ED 
+  /OffsetB ED /OffsetA ED 
+  tx@NodeDict a known tx@NodeDict b known and dup { 
+    /NodeA a load def 
+    /NodeB b load def 
+    NodeA GetCenter /yA ED /xA ED 
+    NodeB GetCenter /yB ED /xB ED } if 
+} def
+%
+/LPutLine { 
+  4 copy 
+  3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 
+  1 t sub mul 
+  3 1 roll 1 t sub mul 
+  4 1 roll t mul add /Y ED 
+  t mul add /X ED 
+} def
+%
+/LPutLines { 
+  mark LPutVar counttomark 2 div 1 sub /n ED 
+%  t floor dup n gt 
+  t floor dup n ge 		% to allow npos<= hv 2008-08-14
+  { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse 
+  cvi 2 mul { pop } repeat 
+  LPutLine 
+  cleartomark 
+} def
+%
+/BezierMidpoint { 
+  /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED /t ED 
+  /cx x1 x0 sub 3 mul def 
+  /cy y1 y0 sub 3 mul def 
+  /bx x2 x1 sub 3 mul cx sub def 
+  /by y2 y1 sub 3 mul cy sub def 
+  /ax x3 x0 sub cx sub bx sub def 
+  /ay y3 y0 sub cy sub by sub def 
+  ax t 3 exp mul bx t t mul mul add 
+  cx t mul add x0 add ay t 3 exp mul 
+  by t t mul mul add cy t mul add
+  y0 add 3 ay t t mul mul mul 2 
+  by t mul mul add cy add 3 ax t t mul mul mul 
+  2 bx t mul mul add cx add atan /NAngle ED 
+  /Y ED /X ED 
+} def
+%
+/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def
+} def
+/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def
+/NAngle yyB yyA sub xxB xxA sub Atan def } def
+/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd  } def
+/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def
+} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit
+} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd 
+} def
+/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def
+} def
+/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def
+/NAngle yyB yyA sub xxB xxA sub Atan def } def
+/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd  } def
+/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def
+} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check {
+exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark
+VPosEnd  } def
+/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2
+roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx
+def grestore exec /LPutVar /SaveLPutVar load def } def
+/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def
+GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos {
+LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos {
+LPutVar VPutLine } def LPutVar } def
+%
+/NCLine { 
+  NCCoor 
+  tx@Dict begin 
+  ArrowA CP 4 2 roll 
+  ArrowB 
+  lineto pop pop
+  end 
+} def
+%
+/NCLines { 
+  false NArray 
+  n 0 eq 
+    { NCLine } 
+    { 2 copy yA sub exch xA sub Atan /AngleA ED 
+      n 2 mul dup index exch index yB sub exch xB sub 
+      Atan /AngleB ED 
+      GetEdgeA GetEdgeB 
+      /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 yA1 ] cvx def 
+      mark LPutVar 
+      tx@Dict begin false Line end 
+      /LPutPos { LPutLines } def 
+      /HPutPos { HPutLines } def 
+      /VPutPos { VPutLines } def 
+    } ifelse 
+} def
+%
+/NCCurve { 
+  GetEdgeA 
+  GetEdgeB 
+  xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1
+roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA
+GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict
+begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ]
+cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines
+} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def
+%
+/NCAngles { 
+  GetEdgeA GetEdgeB GetArmA GetArmB 
+  /mtrx AngleA matrix rotate def 
+  xA2 yA2 mtrx transform pop 
+  xB2 yB2 mtrx transform exch pop 
+  mtrx itransform 
+  /y0 ED /x0 ED 
+  mark ArmB 0 ne { xB1 yB1 } if 
+  xB2 yB2 x0 y0 xA2 yA2 
+  ArmA 0 ne { xA1 yA1 } if 
+  tx@Dict begin false Line end 
+  /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def 
+  /LPutPos { LPutLines } def
+  /HPutPos { HPutLines } def 
+  /VPutPos { VPutLines } def } def
+%
+/NCAngle { 
+  GetEdgeA GetEdgeB GetArmB 
+  /mtrx AngleA matrix rotate def 
+  xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform
+  /y0 ED /x0 ED 
+  mark 
+  ArmB 0 ne { xB1 yB1 } if 
+  xB2 yB2 x0 y0 xA1 yA1
+  tx@Dict begin false Line end 
+  /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def 
+  /LPutPos { LPutLines } def 
+  /HPutPos { HPutLines } def 
+  /VPutPos { VPutLines } def 
+} def
+%
+/NCBar { 
+  GetEdgeA GetEdgeB GetArmA GetArmB 
+  /mtrx AngleA matrix rotate def
+  xA2 yA2 mtrx itransform pop 
+  xB2 yB2 mtrx itransform pop 
+  sub dup 0 mtrx transform 
+  3 -1 roll 0 gt 
+    { /yB2 exch yB2 add def /xB2 exch xB2 add def }
+    { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse 
+  mark 
+  ArmB 0 ne { xB1 yB1 } if 
+  xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if 
+  tx@Dict begin false Line end 
+  /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def 
+  /LPutPos { LPutLines } def 
+  /HPutPos { HPutLines } def 
+  /VPutPos { VPutLines } def 
+} def
+%
+/NCDiag { 
+  /lineAngle ED
+  GetEdgeA GetEdgeB GetArmA GetArmB mark
+  lineAngle abs 0 gt {
+    /xTemp xA2 10 add def
+    /yTemp yA2 lineAngle dup sin exch cos div 10 mul add def
+    /dY1 yTemp yA2 sub def
+    /dX1 xTemp xA2 sub def
+    /dY2 yB2 yB1 sub def
+    /dX2 xB2 xB1 sub def
+    dX1 abs 0.01 lt {
+      /m2 dY2 dX2 div def
+      /xB2 xA2 def
+      /yB2 xA2 xB1 sub m2 mul yB1 add def
+    }{
+      dX2 abs 0.01 lt {
+        /m1 dY1 dX1 div def
+        /xB2 xB1 def
+        /yB2 xB1 xA2 sub m1 mul yA2 add def
+      }{%
+        /m1 dY1 dX1 div def
+        /m2 dY2 dX2 div def
+        /xB2 m1 xA2 mul m2 xB1 mul sub yA2 sub yB1 add m1 m2 sub div def
+        /yB2 xB2 xA2 sub m1 mul yA2 add def
+      } ifelse
+    } ifelse
+  } if
+  ArmB 0 ne { xB1 yB1 } if
+  xB2 yB2 xA2 yA2 
+  ArmA 0 ne { xA1 yA1 } if 
+  tx@Dict begin false Line end
+  /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def 
+  /LPutPos { LPutLines } def 
+  /HPutPos { HPutLines } def 
+  /VPutPos { VPutLines } def 
+%
+%  GetEdgeA GetEdgeB GetArmA GetArmB mark 
+%  ArmB 0 ne { xB1 yB1 } if
+%  xB2 yB2 xA2 yA2 
+%  ArmA 0 ne { xA1 yA1 } if 
+%  tx@Dict begin false Line end
+%  /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def 
+%  /LPutPos { LPutLines } def 
+%  /HPutPos { HPutLines } def 
+%  /VPutPos { VPutLines } def 
+} def
+%
+/NCDiagg { 
+  /lineAngle ED
+  GetEdgeA GetArmA 
+  lineAngle abs 0 gt 
+    { lineAngle }
+    { yB yA2 sub xB xA2 sub Atan 180 add } ifelse 
+  /AngleB ED
+  GetEdgeB mark
+  lineAngle abs 0 gt {
+    /dY2 yA2 yA1 sub def
+    /dX2 xA2 xA1 sub def
+    lineAngle abs 90 eq {
+      /m2 dY2 dX2 div def
+      /yA2 xB xA2 sub m2 mul yA2 add def
+      /xA2 xB def
+    }{
+      /m1 lineAngle dup sin exch cos div def % tan alpha
+      dX2 abs 0.01 lt {
+        /yA2 xA1 xB sub m1 mul yB add def
+        /xA2 xA1 def
+      }{%
+        /m2 dY2 dX2 div def
+        /xA2 m1 xB mul m2 xA2 mul sub yA2 add yB sub m1 m2 sub div def
+        /yA2 xA2 xB sub m1 mul yB add def
+      } ifelse
+    } ifelse
+  } if
+  xB1 yB1 xA2 yA2
+  ArmA 0 ne { xA1 yA1 } if
+  tx@Dict begin false Line end
+  /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def
+  /LPutPos { LPutLines } def
+  /HPutPos { HPutLines } def
+  /VPutPos { VPutLines } def
+%
+%  GetEdgeA GetArmA 
+%  yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED
+%  GetEdgeB 
+%  mark 
+%  xB1 yB1 xA2 yA2 
+%  ArmA 0 ne { xA1 yA1 } if 
+%  tx@Dict begin false Line end 
+%  /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def 
+%  /LPutPos { LPutLines } def 
+%  /HPutPos { HPutLines } def 
+%  /VPutPos { VPutLines } def 
+} def
+%
+/NCLoop { 
+  GetEdgeA GetEdgeB GetArmA GetArmB 
+  /mtrx AngleA matrix rotate def 
+  xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED 
+  /xB3 xB2 yB2 mtrx transform pop def 
+  xB3 yA3 mtrx itransform /yB3 ED /xB3 ED 
+  xA3 yA3 mtrx itransform /yA3 ED /xA3 ED 
+  mark ArmB 0 ne { xB1 yB1 } if 
+  xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if 
+  tx@Dict begin false Line end 
+  /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def 
+  /LPutPos { LPutLines } def 
+  /HPutPos { HPutLines } def 
+  /VPutPos { VPutLines } def 
+} def
+%
+% DG/SR modification begin - May 9, 1997 - Patch 1
+%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r
+%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add
+%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360
+%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED
+%
+/NCCircle { 
+  NodeSepA 0 NodeA 0 GetEdge pop 
+  2 div dup 2 exp r r mul sub abs sqrt 
+  atan 2 mul /a ED 
+  r AngleA 90 add PtoC yA add exch xA add 
+  exch 2 copy 
+  /LPutVar [ 4 2 roll r AngleA ] cvx def 
+  /LPutPos { 
+    LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC 
+    3 -1 roll add 
+    /Y ED add /X ED /NAngle ED
+% DG/SR modification end
+  } def 
+  /HPutPos { LPutPos } def 
+  /VPutPos { LPutPos } def 
+  r AngleA 90 sub a add AngleA 270 add a sub 
+  tx@Dict begin 
+  /angleB ED /angleA ED /r ED 
+  /c 57.2957 r Div def 
+  /y ED /x ED 
+} def
+%
+/NCBox { 
+  /d ED /h ED 
+  /AngleB yB yA sub xB xA sub Atan def 
+  /AngleA AngleB 180 add def 
+  GetEdgeA GetEdgeB 
+  /dx d AngleB sin mul def 
+  /dy d AngleB cos mul neg def 
+  /hx h AngleB sin mul neg def 
+  /hy h AngleB cos mul def 
+  /LPutVar [ 
+    xA1 hx add yA1 hy add xB1 hx add yB1 hy add 
+    xB1 dx add yB1 dy add xA1 dx add yA1 dy add ] cvx def 
+  /LPutPos { LPutLines } def 
+  /HPutPos { xB yB xA yA LPutLine } def 
+  /VPutPos { HPutPos } def 
+  mark 
+  LPutVar tx@Dict begin false Polygon end 
+} def
+%
+/NCArcBox { 
+  /l ED neg /d ED /h ED /a ED 
+  /AngleA yB yA sub xB xA sub Atan def 
+  /AngleB AngleA 180 add def 
+  /tA AngleA a sub 90 add def 
+  /tB tA a 2 mul add def 
+  /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def
+  /x0 xA r tA cos mul add def 
+  /y0 yA r tA sin mul add def 
+  /c 57.2958 r div def 
+  /AngleA AngleA a sub 180 add def 
+  /AngleB AngleB a add 180 add def
+  GetEdgeA GetEdgeB 
+  /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul sub def 
+  /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def 
+  l 0 eq { 
+    x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn 
+  }{ 
+    x0 y0 translate 
+    /tA AngleA l c mul add def 
+    /tB AngleB l c mul sub def
+    0 0 r h add tA tB arc r h add 
+    AngleB PtoC r d add 
+    AngleB PtoC 2 copy 
+    6 2 roll l arcto 4 { pop } repeat 
+    r d add tB PtoC l arcto 4 { pop } repeat 
+    0 0 r d add tB tA arcn r d add 
+    AngleA PtoC r h add 
+    AngleA PtoC 2 copy 6 2 roll 
+    l arcto 4 { pop } repeat 
+    r h add tA PtoC l arcto 4 { pop } repeat 
+  } ifelse 
+  closepath 
+  /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def 
+  /LPutPos { 
+    LPutVar /d ED /h ED 
+    /AngleB ED /AngleA ED 
+    /r ED /y0 ED /x0 ED 
+    t 1 le { 
+      r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC 
+    }{t 2 lt { 
+        /NAngle AngleB 180 add def r 2 t sub 
+        h mul t 1 sub d mul add add AngleB PtoC 
+      }{ 
+        t 3 lt { 
+          r d add AngleB 3 t sub mul AngleA 2 t sub
+          mul add dup 90 sub /NAngle ED PtoC 
+        }{ 
+          /NAngle AngleA 180 add def 
+          r 4 t sub d mul t 3 sub h mul add add AngleA PtoC 
+        } ifelse 
+      } ifelse 
+    } ifelse
+    y0 add /Y ED x0 add /X ED 
+  } def 
+  /HPutPos { LPutPos } def 
+  /VPutPos { LPutPos } def 
+} def
+%
+/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB
+sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1
+ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB
+w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos
+{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop }
+{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine }
+def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin
+/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def
+%
+/LPutCoor { 
+  NAngle 
+  tx@Dict begin /NAngle ED end 
+  gsave 
+  CM STV 
+  CP Y sub neg exch X sub neg exch moveto 
+  setmatrix CP 
+  grestore 
+} def
+%
+/LPut { 
+  tx@NodeDict /LPutPos known 
+    { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse 
+  LPutCoor  
+} def
+%
+/HPutAdjust { 
+  Sin Cos mul 0 eq 
+    { 0 } 
+    { d Cos mul Sin div flag not { neg } if 
+      h Cos mul Sin div flag { neg } if 
+      2 copy gt { pop } { exch pop } ifelse 
+    } ifelse 
+  s add flag { r add neg }{ l add } ifelse 
+  X add /X ED 
+} def
+%
+/VPutAdjust { 
+  Sin Cos mul 
+  0 eq 
+    { 0 }
+    { l Sin mul Cos div flag { neg } if
+      r Sin mul Cos div flag not { neg } if 
+      2 copy gt { pop } { exch pop } ifelse 
+    } ifelse 
+  s add flag { d add } { h add neg } ifelse 
+  Y add /Y ED 
+} def
+%
+%
+end
+%
+% END pst-node.pro
+
+%%EndProcSet
+%%BeginProcSet: 8r.enc 0 0
+% File 8r.enc  TeX Base 1 Encoding  Revision 2.0  2002-10-30
+%
+% @@psencodingfile@{
+%   author    = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry,
+%                W. Schmidt, P. Lehman",
+%   version   = "2.0",
+%   date      = "27nov06",
+%   filename  = "8r.enc",
+%   email     = "tex-fonts@@tug.org",
+%   docstring = "This is the encoding vector for Type1 and TrueType
+%                fonts to be used with TeX.  This file is part of the
+%                PSNFSS bundle, version 9"
+% @}
+% 
+% The idea is to have all the characters normally included in Type 1 fonts
+% available for typesetting. This is effectively the characters in Adobe
+% Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol,
+% MacRoman, and some extra characters from Lucida.
+% 
+% Character code assignments were made as follows:
+% 
+% (1) the Windows ANSI characters are almost all in their Windows ANSI
+% positions, because some Windows users cannot easily reencode the
+% fonts, and it makes no difference on other systems. The only Windows
+% ANSI characters not available are those that make no sense for
+% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
+% (173). quotesingle and grave are moved just because it's such an
+% irritation not having them in TeX positions.
+% 
+% (2) Remaining characters are assigned arbitrarily to the lower part
+% of the range, avoiding 0, 10 and 13 in case we meet dumb software.
+% 
+% (3) Y&Y Lucida Bright includes some extra text characters; in the
+% hopes that other PostScript fonts, perhaps created for public
+% consumption, will include them, they are included starting at 0x12.
+% These are /dotlessj /ff /ffi /ffl.
+% 
+% (4) hyphen appears twice for compatibility with both ASCII and Windows.
+%
+% (5) /Euro was assigned to 128, as in Windows ANSI
+%
+% (6) Missing characters from MacRoman encoding incorporated as follows:
+%
+%     PostScript      MacRoman        TeXBase1
+%     --------------  --------------  --------------
+%     /notequal       173             0x16
+%     /infinity       176             0x17
+%     /lessequal      178             0x18
+%     /greaterequal   179             0x19
+%     /partialdiff    182             0x1A
+%     /summation      183             0x1B
+%     /product        184             0x1C
+%     /pi             185             0x1D
+%     /integral       186             0x81
+%     /Omega          189             0x8D
+%     /radical        195             0x8E
+%     /approxequal    197             0x8F
+%     /Delta          198             0x9D
+%     /lozenge        215             0x9E
+%
+/TeXBase1Encoding [
+% 0x00
+ /.notdef /dotaccent /fi /fl
+ /fraction /hungarumlaut /Lslash /lslash
+ /ogonek /ring /.notdef /breve
+ /minus /.notdef /Zcaron /zcaron
+% 0x10
+ /caron /dotlessi /dotlessj /ff
+ /ffi /ffl /notequal /infinity
+ /lessequal /greaterequal /partialdiff /summation
+ /product /pi /grave /quotesingle
+% 0x20
+ /space /exclam /quotedbl /numbersign
+ /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus
+ /comma /hyphen /period /slash
+% 0x30
+ /zero /one /two /three
+ /four /five /six /seven
+ /eight /nine /colon /semicolon
+ /less /equal /greater /question
+% 0x40
+ /at /A /B /C
+ /D /E /F /G
+ /H /I /J /K
+ /L /M /N /O
+% 0x50
+ /P /Q /R /S
+ /T /U /V /W
+ /X /Y /Z /bracketleft
+ /backslash /bracketright /asciicircum /underscore
+% 0x60
+ /quoteleft /a /b /c
+ /d /e /f /g
+ /h /i /j /k
+ /l /m /n /o
+% 0x70
+ /p /q /r /s
+ /t /u /v /w
+ /x /y /z /braceleft
+ /bar /braceright /asciitilde /.notdef
+% 0x80
+ /Euro /integral /quotesinglbase /florin
+ /quotedblbase /ellipsis /dagger /daggerdbl
+ /circumflex /perthousand /Scaron /guilsinglleft
+ /OE /Omega /radical /approxequal
+% 0x90
+ /.notdef /.notdef /.notdef /quotedblleft
+ /quotedblright /bullet /endash /emdash
+ /tilde /trademark /scaron /guilsinglright
+ /oe /Delta /lozenge /Ydieresis
+% 0xA0
+ /.notdef /exclamdown /cent /sterling
+ /currency /yen /brokenbar /section
+ /dieresis /copyright /ordfeminine /guillemotleft
+ /logicalnot /hyphen /registered /macron
+% 0xB0
+ /degree /plusminus /twosuperior /threesuperior
+ /acute /mu /paragraph /periodcentered
+ /cedilla /onesuperior /ordmasculine /guillemotright
+ /onequarter /onehalf /threequarters /questiondown
+% 0xC0
+ /Agrave /Aacute /Acircumflex /Atilde
+ /Adieresis /Aring /AE /Ccedilla
+ /Egrave /Eacute /Ecircumflex /Edieresis
+ /Igrave /Iacute /Icircumflex /Idieresis
+% 0xD0
+ /Eth /Ntilde /Ograve /Oacute
+ /Ocircumflex /Otilde /Odieresis /multiply
+ /Oslash /Ugrave /Uacute /Ucircumflex
+ /Udieresis /Yacute /Thorn /germandbls
+% 0xE0
+ /agrave /aacute /acircumflex /atilde
+ /adieresis /aring /ae /ccedilla
+ /egrave /eacute /ecircumflex /edieresis
+ /igrave /iacute /icircumflex /idieresis
+% 0xF0
+ /eth /ntilde /ograve /oacute
+ /ocircumflex /otilde /odieresis /divide
+ /oslash /ugrave /uacute /ucircumflex
+ /udieresis /yacute /thorn /ydieresis
+] def
+
+
+%%EndProcSet
+%%BeginProcSet: texps.pro 0 0
+%!
+TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
+index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
+exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
+ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
+pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
+div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
+/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
+definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
+sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
+mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
+exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
+forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
+end
+
+%%EndProcSet
+%%BeginProcSet: special.pro 0 0
+%!
+TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
+/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
+/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
+/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
+/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
+X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
+/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
+/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
+{userdict/md get type/dicttype eq{userdict begin md length 10 add md
+maxlength ge{/md md dup length 20 add dict copy def}if end md begin
+/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
+atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
+itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
+transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
+curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
+pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
+if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
+-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
+get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
+yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
+neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
+noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
+90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
+neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
+1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
+2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
+-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
+TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
+Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
+}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
+save N userdict maxlength dict begin/magscale true def normalscale
+currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
+/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
+psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
+psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
+TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
+@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
+newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
+closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
+/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
+currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
+N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
+neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
+rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
+scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
+lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
+ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
+/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
+pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
+restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
+/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
+setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
+moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
+matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
+savematrix setmatrix}N end
+
+%%EndProcSet
+%%BeginProcSet: color.pro 0 0
+%!
+TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
+setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
+}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
+/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
+setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
+/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
+known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
+/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
+/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
+setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
+setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
+0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
+/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
+setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
+0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
+0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
+0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
+/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
+setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
+setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
+0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
+/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
+setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
+0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
+0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
+0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
+/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
+setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
+/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
+0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
+0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
+0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
+setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
+0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
+/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
+setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
+0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
+1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
+/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
+setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
+0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
+DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
+setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
+setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
+setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
+
+%%EndProcSet
+%%BeginFont: NimbusSanL-Regu
+%!PS-AdobeFont-1.0: NimbusSanL-Regu 1.05a
+%%Title: NimbusSanL-Regu
+%%CreationDate: Thu Mar 20 10:08:51 2003
+%%Creator: Primoz Peterlin
+%%DocumentSuppliedResources: font NimbusSanL-Regu
+% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development
+% Generated by PfaEdit 1.0 (http://pfaedit.sf.net/)
+%%EndComments
+FontDirectory/NimbusSanL-Regu known{/NimbusSanL-Regu findfont dup/UniqueID known{dup
+/UniqueID get 5020902 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /NimbusSanL-Regu def
+/FontBBox [-174 -285 1001 953 ]readonly def
+/UniqueID 5020902 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (1.05a) readonly def
+/Notice (Copyright \050URW\051++,Copyright 1999 by \050URW\051++ Design & Development) readonly def
+/FullName (Nimbus Sans L Regular) readonly def
+/FamilyName (Nimbus Sans L) readonly def
+/Weight (Regular) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -151 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding StandardEncoding def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE33C33655F6FF751F340A8D6C01E3
+2E02C24E186BA91B34A1F538959D4450CB683EAE5B034D030186901B458D3777
+6B3942BD2E07121385120248891AEC2EB33C4E3A0CF00828D0F130C31A918C18
+979FE94379C648EF21ABF659253E43CD1253866F157F1DF85AE7E8714F061B1E
+ABA3AD094FE8D6293916FA82EE4F486C7E513A06D4C9BE44306A8287970B4ABF
+B6D1F9274A5A0BB6ECF713ADBD1260D5D6C4420D357FD486470A74B2F0621B59
+A9373ABECDBF32FA68AABB66FAB0C970A3354A335D70DB2CC5A3208BB6D768E7
+B58CD9BC2B6B7E110693C5A88D680B7290DB121996E3B7C8AE3C23147280F8BF
+D8C60B415552700FF0E44C2257B467ADD5D550F61EC34A76143393E0B34D55C0
+8B64B48E5F1FD16E16B967511AE15434B7F755BDF2574191E3C3DC528B69B5BA
+7DDBBD3C7878FA69ADE75011A2C0F02F5707E86FA632D1269281D3C265B31F3B
+F3145052467647AFE18B9D763FAEE4BA72CB9C385568EE5BBF5854C278F1E3CC
+475C6234E83ED33345268BE52F0931B58F302EDA0D5751348E7B7E53D4882FB6
+9343BDAAE87E48F6E82024D8EC1FACBBA36582092CCD76553B0449A5090774EA
+7242123C53B80F2E927B98DF2B36C403D1FA1E9F8439F3964DC9F89A0CAB5AE2
+C907309460F097AA87BD156575D6C73EDB2B40C015E67734397ED14395C43394
+7A0201C6B0F652B035FD7BB82ED236D0F7C20048AFD83A56925C7A2898B46270
+B440913E4714FD89697B3E59F5BDD5A2AACF6630257957ABE1A63502A3081B6E
+307A534A9E238F986D4C866AFBAB7A0B1B5A6E99AA0A56DC1FD7E8A39CC45147
+259AC7033A0C58192CA82FB12E09F309F75690043646193AD92D2368F345771F
+01CFD21236BA52F74E36CF4B94259CDBA2EF1D61AD93A2B942A9896B0819D20C
+59E440851CB99E89C887FC62FD9E7F88F54E5BC157D81A5FBC70699820C51BC6
+27D7755B195C0BAD8225A6F3EAE0A5A674E8AF6B11BCC69DCF5FB89D8BE0E2E5
+FE7E2588F93F583E4E2F6ED5457E90B902B02F51D54B9F0BA54291E687F4A7A2
+08CA5FCE0C9F3B954247312EDA3C532D3DCDFDCB56FFE03B36DB7D549D4203C6
+7DA8772A2F732A15DE675D3212C28DC755E3D0156A777BF514112ABBE4372ACB
+97D7834813E1850F90CEE543B4C09BE1E93742EA98B8CACC09FCC4D2595EECD4
+46C942EEA60211FA7DBC11CE869D55BF0C7EC6AA747EB2AE2CB3CC2DBEC936C9
+540CE2E08291323B36F6549CDB97BBF9F0DA429CA9C863B629410885540DA6C4
+9AAADB30C39051C993CB547BCD573D6448DC09BF7FF2D1B108ABEC2AAEE4060D
+182ABDB3100AC627E5C883E8F42D90D699C8028D4123472F211C8FBB744D7E3D
+C626ED03D8517D69E1ACD26BE4F83FAE31122294816736827D138E4F4CAB1681
+236C1654E01231EA7F08AD0E73BBE1BE19A7AD6DA63AE0C7F5A360A53BB35268
+CC90125C7545D9D59F5127F0AD964AA66DF020F639832FAF9C2CCA82C01120BA
+6469960C350D3AF786666EC14158728E0BA2DD8A639C28E0A7EA8BBF608FD7DF
+79C7B5DDEA05C8C3D6FC70177D1A9EA9AD056F0CE31AB535A22FF7EB3374807A
+AA630030F4833B3733610842E52E2701462693C39189C7BAC7D7888CF1CA106E
+570C1223A5763651EEF6D32811F076030FFF4160369637180C9898BA219179F9
+CFBC0375AA8CBD963108618C5DF6DAA0231FE1FC8F053390E2ED53A02AC552A2
+130FBBB4015D583E77591E3F95B91589521F9258497A663C1BD44883364A43F4
+004F42E4E32F2AD8BB9DAC4D110FF47A42D923C153F7A83BC1FFE67CD11FF1A0
+9086B2FF0BBA147BFF00785663883D258292F85977CF1700323489C7DFEB4B7A
+F909F18A9D03092B60BCD025878AC44DB91F33D815AC9DC3F442979BFA0C776B
+5F6027EA3FD56E6B640D8A374385274046CB7232023DFC1D7D4C4FAF55E151C3
+9FEF8B47E0025EBB8C18BE053CEE561076BF062F476691EDAA1A8B0E33B06E3D
+F0CA28D9626A7DEEE92DF84CF5967A74F27B2378201CE997FFE0C8F20AA9E7FE
+C21B4E9DC8D21EE48F9FC2C35D851EE98AD3863A0A6C40428A32B2464C87E51D
+C00983F964BE9851244F76C015850233274256B42EC01BA2C8189D5556B71345
+AC51F801C9965C87B89B8C1DB7526B19F7F0C20B11FDB0F2C2A9B7B8DD2F0B8D
+82752DF19FF85F3ABBCA8FA903A11C3DC43E4C2E379C5976ADA0586431588D2E
+791152651C251B9EB5A26DEF9EFA45B44CC4377562BCFF8E6351E76E7DB866A2
+DB1B877D064467A00156D51C3EF8E085B2FD09344F3BF4A730E275AD19B4C843
+79284AE28059F269B6B1980DE8C189E8D4AAE2283D802BD33940F2301579118E
+B3FE1F74698D6A2A4388877008041A3D43118ED30D3D9000A6AA1F71D6CC6FF0
+54657F8F56BE5DD221F4E05D8C864F9DD3E99FF860365B9C030A2182FA8F453B
+B48A71F8C0078A809559DCD512143D7930DFA19796F33162E64169C043FFACE0
+D9A0827E85477A26F6FF812CE452F8BA4FE15BE07CF0A0BCCC8416817C800C17
+2BF0F2B6418DE6EA6A89CAF0517858C28A24FC4BB6CC825318CD72FBBF942797
+B520E7863060555EE34D0CFF21E2CBDE1D3BD3710A1EBBE6AFF31D39046A3498
+21ED5592A38CEF96C847C26CD1CACB9F09C9B3FDE7D42F07494E52C4BB7A8C1A
+5B73CAF825FE6D23C672FD62737C3CE3729076C195FCE6854C1B7F8143F95121
+0E0C4BEEFA8FDFF217A5C564C26AF208A998D9EB904C01934466E3467C33500D
+A5759D88CA1552371F182854DAA7B524280129AEDEB5F6A2C23B7B2943CE5928
+3054AA61D40A0CBEFB7D50D3367E37A26457974F9528D81E21C743D7912BA628
+ED2C5458AED855E5CF47D804E9A2F18556302CC69B58805E1951CBF236F05AE5
+48571F98C01BF41ACD72D8396DEAE2CA1995945D1ECD86A85FBAD4D93CF6DEE2
+85AFC8179AAC6830D19D19CB2F9731732285757CA11233A368C666168D45B8D2
+7B5956598CBA113C18825686F9ED9588F06261AF3E8D1343D4971863ECE4DDE1
+1AA3604E2022AFC909284A4D43B5CBDAC5361A8898FBD82502DB93C42AEB42D4
+3FFD27DF5BE4E6F286D27D731EE30D4871387A7476DAE2F97FD20A0D927FD311
+267BB33D43183649CEA500A10CA5AA4B92B0A965BEA31B1EC7035C2A626853C9
+0F5B8CECEC977F9C78F5BB09727EBC06D1830262FBD406E48C8107A98B612A4B
+C3C2E8B2504E0CA6E7B65FE8DFBEDBE6F43F03DE472E51A17BE5E15126B33BF5
+AA4257DEB8FEA60D5D46F43FBD58B88F8C80CB0D5520FE93222659DB735F2A29
+3159AD84AF082B956F1452EDC54D8652DAAC725D06E4441F403A9D105E4738D2
+762173BE413C71765E586A1A44663813D94E02A669B9D1A16E9E60C07909D06D
+055FA464D3C8B1E65889BD71890B36BD310D1A184C084913958D22575E85FE85
+929418AB684A92B4187DBA74B626F82379048B124D8CC7A4AFBB516DABB82503
+272023C7822BE402583DD54376DEDD8CB84534728EE8FE26808EA08264BA5B60
+C89EBDDDED2D74AE20D4B29604D021B8CB1F3AD649346C3079B29055B18C8579
+95ABABB9715C492F6893DFF6C5C708439E4EEAE16EED2627A072AAF76D3E3E23
+764E9A5DBE640CA98585DA2A4AF9DE5A50410174D9096CE251AB40E97F9CED60
+2D05F6835AA84E7E676183ABBE7DAEF97170046518FF27E67EEE2AAD88AE9526
+C39853101B9461F4C1862A4534F300477BA9712E3305DE9A02A8B5684BEF87D9
+D231C885FC00409D78D26D45BEE77B40CEE6E191449727385DBF1135429CC8E4
+162D346EEDC7260000BBF6A73BCE98B8C80115898F910F38FD25CE03F740C969
+FCD8FC608210AA84D69CE8C6203A71CB424C72AF75C1818F6A1AA2D6F0366171
+9C67527EB25CCD9328283C9F0A171A78199029B3C52A85E3A069D5265B78DF1E
+8A68FD311B9135C70CD0214CF04A4EC5AD120D492F25CD6E18D36ED71F266282
+6D9A1865668783704E8026D233E830FA696DA3480C857B7E2F12318F34862A3C
+E07B5DD50A9FC1F5DAE96E1A7A9C6023DE05228EC140AFB41C532DE5BF0DA704
+808D7B0878A09BF1DCA7218548DD629E4877DC526ACBDE6CC483A11B60938F09
+56B761B72719C1AD14481B2B5150C63198D61A3611651ED85BB69B7607279862
+E41917DA08F87D352652A3C3B996AEE312CB054E84BD3442D366CC01BEDD930B
+212F7629286D48D6529E15ADC93E621833FC3E9046979CC6484CD39D18A81F73
+89979EF408D778E57338E1C0861E8C7BFA5F6CB780E69545567B2D7D0891B235
+3175C1F2DA4318DB4204677B4C30652DA10155F9CD902439E4C277543DBF8863
+B5913AC7450A9D8EF1AA36E0FEBD0355B1EB79A6754351E6D44DB13FEDFFC046
+586EB8FA93C30F0F6C56F65692AF6300EDDD7C6222E5E6C4C2F7FF76F2D3BD13
+5777FEB9EA676D3DA2CFF1FE837AFA5ACB690E4D0D37AC4364DA7A652950C137
+A81742E0862B9955F2907E896EC55DDED158758A566E6FBAB579FFFED4E986A0
+5368E6A963B3CBDE11FA38B2E505E056DA9F17C7F0E48D1A5785DC7B9054F72F
+2B592F3AC64092E57A292406C77088C92872E8EE1D792693B636273D8190E935
+0F00387FC9A85AD02DB3814D80F5D9C8FAFD218337C59D0FAAE063DE3EF1D2DA
+BC95F18B94B223705392AECB2D320E62E4963CD30B916B68585D86F89D8A0208
+30A9D2D9E60B8C5BD09BD3EDA8FB9688695880DE138049C72B35D3F0056591AF
+DAC907F2CF78FD366BF903956AC15542F2FBF876937837974D5652CBD628B4B0
+9AE4668E35ABEEA8E3DFC2CB367DBEA16F792CE90B7B3D7C328B67483082AAA6
+992EEA386BAA6EA401123DBE1C5335B77FA45F075C493BDE26B484535C829D8E
+BB0F205E94C6B10760D917A9872422E961402B8F0BB1D344A25A23FBAB18AED0
+84DC893D3B277DC959082D6B0AB756FFFEDF6893BD0D8EB23CE515ED95C6A27E
+285A6E621D9D35D749B505B89BD943B9BE5DB98F34573B30DC09FDC8836754FE
+CB55303C0F56D096F290FF27F728755AF273FD17CB441267056C7E44E9299CB9
+F18FA481409D4236F9C0457791CC98ACD13729963B6ADD2307E46DBCECB40278
+56C5D090116E732EB0402288BFA396FF13266915B2749BE131715021A9B52922
+CF041978B01E0DBF8437BEF05E41743098955DB5D3C4D8FAC40123EEE8EB2014
+95E43826616D6D09661E61E8C28C2A9BEAEDB47CD27530A7EB000A89CE791B94
+F6CD2C0445D4A7B52DE6F74DD4C7BBD126A14EBC7480A39847C948870B63C29D
+B2F47EFFF9E44206162A2C1DEF1D82F9386D2206B8242946377F6BB6B7E1AE61
+9CB959B14DCB62457465D757C9E0A4E45CB5723C36C7B004D8DAB6129BD4CE26
+3A8EF8385BB22320DC841B57CCD2C0EF209C19D095C4B29A3CC8A709D989DC23
+92630A5665A0720927A45893CCF99820569196F4A64EDF0BE67A402F2872117C
+F19E9A26CCEF248446E02763D4C3DCD7DC0DAF59C36EDD282FF13EB4D8A357B0
+9C54DD9282A1EB310DB9028FCA6E39F01AE0EA0ED503C3535B3E98A009FD0801
+CAB7F0413DBF5DC2815EBD716031898ECEF7B0B01E1BFFFD8303115F95591AF9
+12946BC48A3737A429CB6500C76020A52228BCDDC200F7C23547A4C25150BB42
+7F1BD4092FF9B42BEFA53BE3FD3B9C5750276E21F36115B756F8B9784E9865AE
+A669F8339785EE3B0E7462D73FF2602148EAC2FC9C4CC1CBCF99D24F0A6875DE
+6049B6CE3E6A1314D70796217FCC42BF739A36BDB9EA9F474726C10E26AF7610
+4B7F0FF8688BDD39725D13B1758E541A7CEBE11846693EA006D3F1B42E4D2CB3
+2B05FB6A16E9510C28EA927D0E229ECA81226564AB1FC6F43B3E79088E8F71AD
+230744A368F01EB074FF801AF4726D23958B222DF2F09481AB79441AB82DFFD5
+52E7B9BC49589F776D5F7384D4B8E57BFA9CF9109159CF9C195C297DF32C79C6
+D7C50E74A30FED2E2F2396C1B85A89645802D3656244EC8B94A7C1DD1FDBC039
+B8F18EE9CC7BB07F3A4D8D05F49D140B74B18054C0DAC7C04ED564AF28EDD217
+23F74173D182F6AFE9FE68F59C4CDE8847059BF7EAA032E878F96D8C47832FC3
+014E096E7A10DABBABF4D98CCC56C3949FF999F78E51847C8956A6EA0D710A64
+CE6A13DA51425E430059B69E9CB87D68677D2E9C8E863BD6ABBA293BE8C91A17
+310B141ED7D2607877213B9C635298398E35E5209302AA02F81FE55F3C2D3880
+A49E552B8AADAB5376F8CA0B9D921BD9ACE077E8C4508990EBAA1596F9BDDB9F
+980A82DD4C575AAB977CF26ED4EFB2CD00BA88B4AE713E73BA044F2B8DFEF36A
+FFA14EF17C45AE1B0402D886E63B995487527D31760BEEEB447EB37A90A85C16
+0BB5E90A3CC82AB93F765606366123205DAD4AF54566AC3BE76C898C89C4E8FE
+71C8F6AD7194D598226F6EA941CAD1BA66E33FB868227DCFE080A9DEC9715E25
+8A592011CC9FBD69CEE9162A030C220AC4FC2BDAA16966E02FE7C45A956828FA
+71BA15AF1E1BFB18C94A524DE324A877E445849674DDF11FCBE8444131E4EB37
+3733FFA84F4FAF02D34AAD7114CE5FB47685A93537B04CD214C3825A8EC8071E
+D13C3F5DA22C8DBFB3A109704EEF23C5F071A88FE018D4AC09006E063E8F0703
+D2BA9736587F17127E10C48ABA249E6AC0B89904AD0B52E23D44D997108EA249
+5ADE3DD6E9E161A94D2AF180127C7EC27983CAD060232436100AF1CFEB7BFA36
+6F96ADF4EA2C6830EF90E84E17B0752CB69DE39232F597F5A83AD05A6D8540C8
+CFD74B53563F7E8EDC653414FCD3E1B5A84D6DF03B3406874EEBC6B70AECFCE4
+FEE508946C97268629949DCAD15CE4ABDF4555310615D6D87948B0A991A5C9E7
+4ADCB0658870A790D10C7A2B78051E5E2E08D7722AF9C5E2BC17F5A603BE0A8E
+FF72EFA7ECF54CA0ABC35D9F43D84818D2F3894483E8086C002255701FCA5E4C
+4234FC3BCBCD05007118EA17328BB3CEE6F6D2E206DC631E158F65C8206660B9
+D7DDEDC049527ED6E1729F92E2DA1E72246F2B09E01BE4B7F185DAF6BA5DB534
+E8CE6FF775F8AEC554F4049D70C903DA051D51718AAF9D4325E087D0C53BB8D2
+5A0CEB606B959F28A26A782C07E218AA30DEB661C9D4FF69CA67C2D061FADE56
+FC58C23689D64FDC9554856D12B2057EEFFC512AF0843CB049CF719836384099
+DC1BC3E01C38829A62DF2CBA2F8D1EDE33B06E8C97D1248E21A53B4E2FCF7A18
+98DD9B02360035AD49D6E4A9FB766DF20DE91E5F299D1C5533A260BC72A9C11B
+3D0818C1432F722EF5F2278479C878BC697EADCC199CCE2A09100847A7755A8E
+42A86DEE7946F3B130A8AA77B28DD289A827447BCEBC71F71586FDFD21CF4EB4
+31462D992759D67BAC9A6CE940489CFB72E116DD648268219B9B2525A3742EF7
+BDB4EACDFB96A16AF654F04AFE98FB3D269EFE817C3D4FED2D7B3BEE77442E8D
+35F0250933FABC1CE2FC9986AFC2131062B0ED6AB55D708E660525174537CD1E
+877FD540C203CD34DBF27FEE0F23B9B46B0720888637E886F56A72ACE4D775DA
+F8A8EAC596F92754B2DE91132E36ED6B862837259F1430DC8A02261BDF7AEAFA
+6770F25A8012B4563140CF9252E71EAB5CE8BBFEACE7A956D545F0C6370CF388
+43B72A05CE22B25BE80AE9DA50D84FC608046EF7407BF46A70F8C746E7355B99
+DDF85DDEBFD66722B14D390BED35A2CEC9E1B79BBB8E43361157494F032A932E
+596962EC3A073C75D0AA71538E69B6B120ADD698868C415F78374CABFAA0A185
+5B18C7
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+TeXDict begin 40258437 52099154 1000 1200 1200
+(io-ports-and-interrupts.dvi)
+@start /Fa 27[92 105[83 1[83 2[92 46 83 55 1[92 92 92
+1[37 2[37 92 1[46 92 1[83 92 92 16[111 129 5[46 1[129
+25[55 45[{ TeXBase1Encoding ReEncodeFont }23 166.044
+/NimbusSanL-Regu rf end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 1200dpi
+TeXDict begin
+ end
+%%EndSetup
+TeXDict begin 1 0 bop 0 TeXcolorgray Black 1029 880 a
+tx@Dict begin  gsave STV CP T /ps@rot 0 def grestore  end
+
+1029 880 a 1029 880 a
+tx@Dict begin  gsave STV CP T /ps@refangle 0.  def grestore  end
+ 1029 880 a 0 TeXcolorgray 1029
+880 a
+tx@Dict begin  gsave STV CP T /ps@rot 0 def grestore  end
+ 1029 880 a 1279 3715 a
+tx@Dict begin { 0.0 0.0 } PutCoor PutBegin  end
+ 1279 3715 a @beginspecial
+@setspecial
+  tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
+ 0.8 SLW 0  setgray   0.25 true 0.0 0.0 56.90549 142.26372 .5 Frame
+ gsave 0.8 SLW 0  setgray  1. .setopacityalpha   0  setlinejoin 0 
+setlinecap stroke  grestore end
+ 
+@endspecial 1279 3715 a
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279
+3715 a
+tx@Dict begin { 28.45274 128.03734 } PutCoor PutBegin  end
+ 1279 3715 a 906 3833 a Fa(Proz)n(essor)1279 3715
+y
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin { 56.90549 105.27505 } PutCoor PutBegin  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@p0 10 {InitPnode
+} /NodeScale {} def NewNode end  end
+ 1279
+3715 a 1279 3715 a
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin { 56.90549 93.89413 } PutCoor PutBegin  end
+ 1279 3715
+a 1279 3715 a
+tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@q0 10 {InitPnode
+} /NodeScale {} def NewNode end  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279
+3715 a
+tx@Dict begin { 56.90549 28.45274 } PutCoor PutBegin  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@i0 10 {InitPnode
+} /NodeScale {} def NewNode end  end
+ 1279 3715 a 1279 3715
+a
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin { 60.31967 34.1432 } PutCoor PutBegin  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@j0 10 {InitPnode
+} /NodeScale {} def NewNode end  end
+ 1279
+3715 a 1279 3715 a
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin { 57.47466 36.98865 } PutCoor PutBegin  end
+ 1279 3715
+a 1279 3715 a
+tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@k0 10 {InitPnode
+} /NodeScale {} def NewNode end  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279
+3715 a
+tx@Dict begin { 60.31967 39.83366 } PutCoor PutBegin  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@l0 10 {InitPnode
+} /NodeScale {} def NewNode end  end
+ 1279 3715 a 1279 3715
+a
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin { 99.5846 39.83366 } PutCoor PutBegin  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@m0 10 {InitPnode
+} /NodeScale {} def NewNode end  end
+ 1279
+3715 a 1279 3715 a
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin { 227.62195 0.0 } PutCoor PutBegin  end
+ 1279 3715
+a @beginspecial @setspecial
+  tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
+ 0.8 SLW 0  setgray   0.25 true 0.0 0.0 56.90549 142.26372 .5 Frame
+ gsave 0.8 SLW 0  setgray  1. .setopacityalpha   0  setlinejoin 0 
+setlinecap stroke  grestore end
+ 
+@endspecial 1279 3715 a
+tx@Dict begin  PutEnd  end
+
+1279 3715 a 1279 3715 a
+tx@Dict begin { 256.07469 128.03734 } PutCoor PutBegin  end
+ 1279 3715 a 961 3827 a Fa(e)-5
+b(xter)t(nes)1071 4001 y(Ger\344t)1279 3715 y
+tx@Dict begin  PutEnd  end
+ 1279 3715
+a 1279 3715 a
+tx@Dict begin { 227.62195 105.27505 } PutCoor PutBegin  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@p1 10 {InitPnode
+} /NodeScale {} def NewNode end  end
+ 1279 3715 a 1279
+3715 a
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin { 224.20775 93.89413 } PutCoor PutBegin  end
+ 1279 3715 a 1279 3715
+a
+tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@q1 10 {InitPnode
+} /NodeScale {} def NewNode end  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin { 227.05276 91.04869 } PutCoor PutBegin  end
+ 1279
+3715 a 1279 3715 a
+tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@r1 10 {InitPnode
+} /NodeScale {} def NewNode end  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin  PutEnd  end
+ 1279 3715
+a 1279 3715 a
+tx@Dict begin { 224.20775 88.20367 } PutCoor PutBegin  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@s1 10 {InitPnode
+} /NodeScale {} def NewNode end  end
+ 1279 3715 a 1279
+3715 a
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin { 184.94283 88.20367 } PutCoor PutBegin  end
+ 1279 3715 a 1279 3715
+a
+tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@t1 10 {InitPnode
+} /NodeScale {} def NewNode end  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin { 227.62195 28.45274 } PutCoor PutBegin  end
+ 1279
+3715 a 1279 3715 a
+tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@i1 10 {InitPnode
+} /NodeScale {} def NewNode end  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin  PutEnd  end
+ 1279 3715
+a 1279 3715 a
+tx@Dict begin { 227.62195 34.1432 } PutCoor PutBegin  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@j1 10 {InitPnode
+} /NodeScale {} def NewNode end  end
+ 1279 3715 a 1279
+3715 a
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow
+1.  1.  scale  false 0.4 1.4 1.5 2.   1. .setopacityalpha  Arrow  EndArrow
+ } def  0.8 SLW 0  setgray  /ArrowA { moveto } def /ArrowB { BeginArrow
+1.  1.  scale  false 0.4 1.4 1.5 2.   1. .setopacityalpha  Arrow  EndArrow
+ } def  /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@p0
+/N@p1 InitNC { NCLine  } if end  gsave 0.8 SLW 0  setgray  1. .setopacityalpha
+  0  setlinejoin 0  setlinecap stroke  grestore  grestore end
+ 1279 3715 a 1279 3715
+a
+tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { }
+def  0.8 SLW 0  setgray  /ArrowA { moveto } def /ArrowB { } def  /NCLW
+CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@q0 /N@q1 InitNC
+{ NCLine  } if end  gsave 0.8 SLW 0  setgray  1. .setopacityalpha 
+ 0  setlinejoin 0  setlinecap stroke  grestore  grestore end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { }
+def  0.8 SLW 0  setgray  /ArrowA { moveto } def /ArrowB { } def  /NCLW
+CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@q1 /N@r1 InitNC
+{ /AngleA 0.  def /AngleB 90.  def 0.67  0.67  NCCurve  } if end  gsave
+0.8 SLW 0  setgray  1. .setopacityalpha   0  setlinejoin 0  setlinecap
+stroke  grestore  grestore end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { }
+def  0.8 SLW 0  setgray  /ArrowA { moveto } def /ArrowB { } def  /NCLW
+CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@r1 /N@s1 InitNC
+{ /AngleA -90.  def /AngleB 0.  def 0.67  0.67  NCCurve  } if end 
+gsave 0.8 SLW 0  setgray  1. .setopacityalpha   0  setlinejoin 0  setlinecap
+stroke  grestore  grestore end
+ 1279
+3715 a 1279 3715 a
+tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow
+1.  1.  scale  false 0.4 1.4 1.5 2.   1. .setopacityalpha  Arrow  EndArrow
+ } def  0.8 SLW 0  setgray  /ArrowA { moveto } def /ArrowB { BeginArrow
+1.  1.  scale  false 0.4 1.4 1.5 2.   1. .setopacityalpha  Arrow  EndArrow
+ } def  /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@s1
+/N@t1 InitNC { NCLine  } if end  gsave 0.8 SLW 0  setgray  1. .setopacityalpha
+  0  setlinejoin 0  setlinecap stroke  grestore  grestore end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin { 62.59595 108.1205 } PutCoor PutBegin  end
+ 1279 3715
+a -35 x Fa(Proz)n(essor)47 b(schreibt)g(in)f(Output-P)-8
+b(or)7 b(t)1279 3715 y
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin { 62.59595 88.20367 } PutCoor PutBegin  end
+ 1279 3715
+a 118 x Fa(Proz)n(essor)47 b(liest)f(Input-P)-8 b(or)7
+b(t)1279 3715 y
+tx@Dict begin  PutEnd  end
+ 1279 3715 a 1279 3715 a
+tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow
+1.  1.  scale  false 0.4 1.4 1.5 2.   1. .setopacityalpha  Arrow  EndArrow
+ } def  0.8 SLW 0  setgray  /ArrowA { moveto } def /ArrowB { BeginArrow
+1.  1.  scale  false 0.4 1.4 1.5 2.   1. .setopacityalpha  Arrow  EndArrow
+ } def  /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@i1
+/N@i0 InitNC { NCLine  } if end  gsave 0.8 SLW 0  setgray  1. .setopacityalpha
+  0  setlinejoin 0  setlinecap stroke  grestore  grestore end
+ 1279 3715 a 1279
+3715 a
+tx@Dict begin { 221.93147 31.29819 } PutCoor PutBegin  end
+ 1279 3715 a -1051 3680 a Fa(e)-5 b(xter)t(nes)48
+b(Ger\344t)f(r)r(uft)h(Interr)r(upt)h(auf)1279 3715 y
+tx@Dict begin  PutEnd  end
+
+1279 3715 a 0 TeXcolorgray 0 TeXcolorgray eop end
+%%Trailer
+
+userdict /end-hook known{end-hook}if
+%%EOF
diff --git a/common/io-ports-and-interrupts.pdf b/common/io-ports-and-interrupts.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..68f6bbb914577f9039f0db419da2ada3fac741c0
GIT binary patch
literal 6074
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

literal 0
HcmV?d00001

diff --git a/common/io-ports-and-interrupts.tex b/common/io-ports-and-interrupts.tex
new file mode 100644
index 0000000..149f95b
--- /dev/null
+++ b/common/io-ports-and-interrupts.tex
@@ -0,0 +1,43 @@
+\documentclass{article}
+
+\usepackage[utf8]{inputenc}
+\usepackage[german]{babel}
+\usepackage[T1]{fontenc}
+\usepackage{helvet}
+\renewcommand*\familydefault{\sfdefault}
+\usepackage{pstricks,pst-node}
+
+\pagestyle{empty}
+
+\begin{document}
+  \psset{unit=1cm}%
+  \begin{pspicture}(0,0)(10,6)
+    \rput(0,0){\psframe[framearc=0.25](2,5)}
+    \rput(1,4.5){\makebox(0,0)[t]{Prozessor}}
+    \rput(2.0,3.7){\pnode{p0}}
+    \rput(2.0,3.3){\pnode{q0}}
+    \rput(2.0,1.0){\pnode{i0}}
+    \rput(2.12,1.2){\pnode{j0}}
+    \rput(2.02,1.3){\pnode{k0}}
+    \rput(2.12,1.4){\pnode{l0}}
+    \rput(3.5,1.4){\pnode{m0}}
+    \rput(8,0){\psframe[framearc=0.25](2,5)}
+    \rput(9,4.5){\makebox(0,0)[t]{\shortstack{externes\\Gerät}}}
+    \rput(8.0,3.7){\pnode{p1}}
+    \rput(7.88,3.3){\pnode{q1}}
+    \rput(7.98,3.2){\pnode{r1}}
+    \rput(7.88,3.1){\pnode{s1}}
+    \rput(6.5,3.1){\pnode{t1}}
+    \rput(8.0,1.0){\pnode{i1}}
+    \rput(8.0,1.2){\pnode{j1}}
+    \ncline{->}{p0}{p1}
+    \ncline{q0}{q1}
+    \nccurve[angleB=90]{q1}{r1}
+    \nccurve[angleA=-90]{r1}{s1}
+    \ncline{->}{s1}{t1}
+    \rput(2.2,3.8){\makebox(0,0)[lb]{Prozessor schreibt in Output-Port}}
+    \rput(2.2,3.1){\makebox(0,0)[lt]{Prozessor liest Input-Port}}
+    \ncline{->}{i1}{i0}
+    \rput(7.8,1.1){\makebox(0,0)[rb]{externes Gerät ruft Interrupt auf}}
+  \end{pspicture}
+\end{document}
-- 
GitLab