aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.pict/mayor_munin-day.png (renamed from .pic/mayor_munin-day.png)bin56625 -> 56625 bytes
-rw-r--r--.pict/nextcloud.png (renamed from .pic/nextcloud.png)bin752602 -> 752602 bytes
-rw-r--r--README.md49
-rwxr-xr-xcheckupdate.sh37
-rw-r--r--mayor-installer/mayor-installer-for-fcgi/log/mayor-installer.rev2
-rw-r--r--mayor-installer/mayor-installer-jav/log/mayor-installer.rev2
-rw-r--r--mayor-installer/mayor-installer-orig/log/mayor-installer.rev2
-rw-r--r--mayor-jav/README.md0
-rw-r--r--mayor-orig/mayor-felveteli/config/module-felveteli/config.php.example522
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-KLIKTajekoztato2016.pdfbin0 -> 1191294 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-adatlap.docbin0 -> 25088 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-adatlapZeneiMeghallgatasra.odtbin0 -> 22502 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-adatlapZeneiMeghallgatasra.pdfbin0 -> 14538 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasRendje.docxbin0 -> 12472 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2015.pdfbin0 -> 128547 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2016.pdfbin0 -> 128316 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2017.pdfbin0 -> 186536 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2018.pdfbin0 -> 339690 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-dokumentumlista.odtbin0 -> 20209 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-dokumentumlista.pdfbin0 -> 47187 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2013.odtbin0 -> 32918 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2013.pdfbin0 -> 53785 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2014.pdfbin0 -> 389098 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2015.pdfbin0 -> 568381 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2016.pdfbin0 -> 595262 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2017.pdfbin0 -> 470352 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2018.pdfbin0 -> 634244 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felvetelikerelem.docbin0 -> 12800 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felvetelikerelem.odtbin0 -> 15907 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felvetelikerelem.pdfbin0 -> 40043 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-hitEsErkolcstanNyilatkozat.odtbin0 -> 14791 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-hitEsErkolcstanNyilatkozat.pdfbin0 -> 42892 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-igazolasBetegFogyatekosGyermek.odtbin0 -> 18148 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-igazolasBetegFogyatekosGyermek.pdfbin0 -> 85962 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-kozepfokuBeiskolazas2017.pdfbin0 -> 4049058 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-kozepfokuBeiskolazas2018.pptxbin0 -> 250776 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-normativKedvezmeny.odtbin0 -> 19862 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-normativKedvezmeny.pdfbin0 -> 100919 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatErtesitesrol.odtbin0 -> 13079 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatErtesitesrol.pdfbin0 -> 22682 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatEtkezesrol.odtbin0 -> 20656 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatEtkezesrol.pdfbin0 -> 38204 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatLakhelyrol.odtbin0 -> 12364 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatLakhelyrol.pdfbin0 -> 12512 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-szuloiNyilatkozat.odtbin0 -> 14925 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-szuloiNyilatkozat.pdfbin0 -> 32047 bytes
-rw-r--r--mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-tankotelesFelhivas.pdfbin0 -> 1132356 bytes
-rw-r--r--mayor-orig/mayor-felveteli/install/2009.sql63
-rw-r--r--mayor-orig/mayor-felveteli/install/felveteli.sql142
-rw-r--r--mayor-orig/mayor-felveteli/install/new.sql107
-rw-r--r--mayor-orig/mayor-felveteli/install/phase2.sql107
-rw-r--r--mayor-orig/mayor-felveteli/log/mayor-felveteli.rev1
-rw-r--r--mayor-orig/mayor-felveteli/www/include/menu/private/hu_HU/module-felveteli.php38
-rw-r--r--mayor-orig/mayor-felveteli/www/include/menu/public/hu_HU/module-felveteli.php48
-rw-r--r--mayor-orig/mayor-felveteli/www/include/modules/felveteli/base/rights.php12
-rw-r--r--mayor-orig/mayor-felveteli/www/include/modules/felveteli/boritek.php49
-rw-r--r--mayor-orig/mayor-felveteli/www/include/modules/felveteli/boritekIgazgato.php50
-rw-r--r--mayor-orig/mayor-felveteli/www/include/modules/felveteli/kozponti.php132
-rw-r--r--mayor-orig/mayor-felveteli/www/include/modules/felveteli/level.php188
-rw-r--r--mayor-orig/mayor-felveteli/www/include/modules/felveteli/levelIgazgato.php171
-rw-r--r--mayor-orig/mayor-felveteli/www/include/modules/felveteli/szobeli.php81
-rw-r--r--mayor-orig/mayor-felveteli/www/lang/hu_HU/module-felveteli/base.php35
-rw-r--r--mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritek-pre.php23
-rw-r--r--mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritek.php0
-rw-r--r--mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritekIgazgato-pre.php25
-rw-r--r--mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritekIgazgato.php0
-rw-r--r--mayor-orig/mayor-felveteli/www/policy/private/felveteli/kozponti-pre.php68
-rw-r--r--mayor-orig/mayor-felveteli/www/policy/private/felveteli/kozponti.php47
-rw-r--r--mayor-orig/mayor-felveteli/www/policy/private/felveteli/level-pre.php57
-rw-r--r--mayor-orig/mayor-felveteli/www/policy/private/felveteli/level.php0
-rw-r--r--mayor-orig/mayor-felveteli/www/policy/private/felveteli/levelIgazgato-pre.php59
-rw-r--r--mayor-orig/mayor-felveteli/www/policy/private/felveteli/levelIgazgato.php28
-rw-r--r--mayor-orig/mayor-felveteli/www/policy/private/felveteli/szobeli-pre.php38
-rw-r--r--mayor-orig/mayor-felveteli/www/policy/private/felveteli/szobeli.php36
-rw-r--r--mayor-orig/mayor-felveteli/www/policy/public/felveteli/pontszamito-pre.php0
-rw-r--r--mayor-orig/mayor-felveteli/www/policy/public/felveteli/pontszamito.php5
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/2007N.css2
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/eredmenyek.css125
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/felveteli-gyik.css9
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/felveteli.css60
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/irasbeli.css84
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/kozponti.css144
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/szobeli.css140
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/tajekoztato/tajekoztato.css32
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/kozponti.phtml352
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/level.phtml512
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/pontszamito.phtml66
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/szobeli.phtml504
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/fejlec.pngbin0 -> 514146 bytes
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/iskola.eps2979
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/iskola.pngbin0 -> 8694 bytes
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/iskola.ps4183
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/learn.jpgbin0 -> 15861 bytes
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/tasai.pngbin0 -> 3495 bytes
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/tasaismall.eps48
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/tasaismall.ps48
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/javascript/kozponti.jquery.min.js15
-rw-r--r--mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/javascript/pontszamito.jquery.min.js42
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/2007N.html65
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/biologia.html46
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/enek.html65
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli-gyik.html157
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2005.html61
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2007.html97
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2008.html112
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2009.html116
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2010.html120
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2011.html117
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2012.html139
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2013.html150
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2014.html150
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2015.html109
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2016.html109
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2017.html109
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2018.html114
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.html106
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/fizika.html71
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/hatevfolyamos.html365
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/human.html199
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/informatika.html193
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/kos/kos.html270
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/matematika.html63
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2005.html20
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2006.html18
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2007.html42
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2008.html42
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2009.html42
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2010.html42
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2011.html42
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2013.html41
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2014.html41
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2015.html41
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/otevfolyamos.html148
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/1.html40
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/2.html6
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/3.html45
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/4.html142
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/5.html13
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/tartalom.html24
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/1.html14
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/2.html5
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/3.html28
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/4.html94
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/5.html27
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/6.html11
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/tartalom.html23
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/1.html50
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/2.html23
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/3.html80
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/4.html258
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/5.html66
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/6.html32
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/7.html9
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/tartalom.html25
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/1.html35
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/2.html12
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/3.html37
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/4.html266
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/5.html52
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/6.html33
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/7.html9
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/tartalom.html25
-rw-r--r--mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/tajekoztato.html0
-rw-r--r--mayor-orig/mayor-fenntarto/config/module-fenntarto/config.php.example10
-rw-r--r--mayor-orig/mayor-fenntarto/install/module-fenntarto/mysql/base.sql16
-rw-r--r--mayor-orig/mayor-fenntarto/log/mayor-fenntarto.rev1
-rw-r--r--mayor-orig/mayor-fenntarto/update/pre003980-1-mayor_fenntarto.sql19
-rw-r--r--mayor-orig/mayor-fenntarto/www/include/menu/private/hu_HU/module-fenntarto.php21
-rw-r--r--mayor-orig/mayor-fenntarto/www/include/modules/fenntarto/share/osztaly.php17
-rw-r--r--mayor-orig/mayor-fenntarto/www/include/modules/fenntarto/share/rpc.php38
-rw-r--r--mayor-orig/mayor-fenntarto/www/include/modules/fenntarto/share/sql.php27
-rw-r--r--mayor-orig/mayor-fenntarto/www/lang/hu_HU/module-fenntarto/admin/nodes.php13
-rw-r--r--mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/admin/nodes-pre.php69
-rw-r--r--mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/admin/nodes.php9
-rw-r--r--mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/naplo/tantargyfelosztas-pre.php65
-rw-r--r--mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/naplo/tantargyfelosztas.php11
-rw-r--r--mayor-orig/mayor-fenntarto/www/policy/public/fenntarto/rpc-pre.php43
-rw-r--r--mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/css/admin/nodes.css16
-rw-r--r--mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/css/naplo/tantargyfelosztas.css41
-rw-r--r--mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/html/admin/nodes.phtml89
-rw-r--r--mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/html/naplo/tantargyfelosztas.phtml451
-rw-r--r--mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/javascript/naplo/tantargyfelosztas.jquery.min.js15
l---------mayor-orig/mayor-installer1
-rwxr-xr-xmayor-orig/mayor-installer-orig/install.d/05checkdeb.sh86
-rwxr-xr-xmayor-orig/mayor-installer-orig/install.d/10getsource.sh76
-rwxr-xr-xmayor-orig/mayor-installer-orig/install.d/15createconfig.sh43
-rwxr-xr-xmayor-orig/mayor-installer-orig/install.d/20mysql.sh28
-rwxr-xr-xmayor-orig/mayor-installer-orig/install.d/25apache.sh67
-rwxr-xr-xmayor-orig/mayor-installer-orig/install.d/30php.sh29
-rwxr-xr-xmayor-orig/mayor-installer-orig/install.d/35createdatabases.sh129
-rwxr-xr-xmayor-orig/mayor-installer-orig/install.d/40binary.sh44
-rwxr-xr-xmayor-orig/mayor-installer-orig/install.d/45intezmeny.sh70
-rwxr-xr-xmayor-orig/mayor-installer-orig/install.d/50linker.sh58
-rwxr-xr-xmayor-orig/mayor-installer-orig/install.d/55tex.sh20
-rwxr-xr-xmayor-orig/mayor-installer-orig/install.d/60portal.sh119
-rw-r--r--mayor-orig/mayor-installer-orig/log/mayor-installer.rev1
-rwxr-xr-xmayor-orig/mayor-installer-orig/setup34
-rw-r--r--mayor-orig/mayor-installer-sulix/config/main-config.php.sulix68
-rw-r--r--mayor-orig/mayor-installer-sulix/config/main.conf.sulix70
-rw-r--r--mayor-orig/mayor-installer-sulix/config/menu/parent/menu-hu_HU.php.sulix7
-rw-r--r--mayor-orig/mayor-installer-sulix/config/menu/private/menu-hu_HU.php.sulix14
-rw-r--r--mayor-orig/mayor-installer-sulix/config/menu/public/menu-hu_HU.php.sulix18
-rw-r--r--mayor-orig/mayor-installer-sulix/config/module-naplo/config-pl.php.sulix179
-rw-r--r--mayor-orig/mayor-installer-sulix/config/module-naplo/config-vmg.php.sulix159
-rw-r--r--mayor-orig/mayor-installer-sulix/config/module-naplo/config.php.sulix65
-rw-r--r--mayor-orig/mayor-installer-sulix/config/module-portal/config.php.sulix11
-rw-r--r--mayor-orig/mayor-installer-sulix/config/parent-conf.php.sulix23
-rw-r--r--mayor-orig/mayor-installer-sulix/config/private-conf.php.sulix76
-rw-r--r--mayor-orig/mayor-installer-sulix/config/public-conf.php.sulix21
-rw-r--r--mayor-orig/mayor-installer-sulix/config/skin-classic/config.php.sulix6
-rw-r--r--mayor-orig/mayor-installer-sulix/config/skin-classic/naplo-config.php.sulix14
-rw-r--r--mayor-orig/mayor-installer-sulix/config/skin-sulix/config.php.sulix7
-rw-r--r--mayor-orig/mayor-installer-sulix/config/skin-teszt/config.php.sulix21
-rw-r--r--mayor-orig/mayor-installer-sulix/config/skin-winter/config.php.sulix6
-rw-r--r--mayor-orig/mayor-installer-sulix/devel/copy-sulixconfig.sh4
-rw-r--r--mayor-orig/mayor-installer-sulix/devel/example2sulix.sh8
-rwxr-xr-xmayor-orig/mayor-installer-sulix/install/install.d/05env.sh17
-rwxr-xr-xmayor-orig/mayor-installer-sulix/install/install.d/15createconfig.sh68
-rwxr-xr-xmayor-orig/mayor-installer-sulix/install/install.d/35createdatabases.sh114
-rwxr-xr-xmayor-orig/mayor-installer-sulix/install/install.d/40binary.sh25
-rwxr-xr-xmayor-orig/mayor-installer-sulix/install/install.d/45intezmeny.sh68
-rwxr-xr-xmayor-orig/mayor-installer-sulix/install/install.d/47tanev.sh60
-rwxr-xr-xmayor-orig/mayor-installer-sulix/install/install.d/50linker.sh53
-rwxr-xr-xmayor-orig/mayor-installer-sulix/install/install.d/55tex.sh13
-rwxr-xr-xmayor-orig/mayor-installer-sulix/install/install.d/60portal.sh90
-rw-r--r--mayor-orig/mayor-installer-sulix/install/mayor-installer-sulix/ldap/group.lidf32
-rw-r--r--mayor-orig/mayor-installer-sulix/install/mayor-installer-sulix/ldap/user.ldif49
-rwxr-xr-xmayor-orig/mayor-installer-sulix/install/setup38
-rw-r--r--mayor-orig/mayor-installer-sulix/log/mayor-installer-sulix.rev1
-rw-r--r--mayor-orig/mayor-installer-sulix/www/skin/classic/module-portal/config.php.sulix10
-rw-r--r--mayor-orig/mayor-jatek/config/module-jatek/config.php.example18
-rw-r--r--mayor-orig/mayor-jatek/install/module-jatek/mysql/egyszam.sql14
-rw-r--r--mayor-orig/mayor-jatek/log/mayor-jatek.rev1
-rw-r--r--mayor-orig/mayor-jatek/www/include/alert/hu_HU/module-jatek.php0
-rw-r--r--mayor-orig/mayor-jatek/www/include/menu/private/hu_HU/module-jatek.php14
-rw-r--r--mayor-orig/mayor-jatek/www/include/modules/jatek/base/base.php58
-rw-r--r--mayor-orig/mayor-jatek/www/include/modules/jatek/base/query.php36
-rw-r--r--mayor-orig/mayor-jatek/www/lang/hu_HU/module-jatek/egyszam.php10
-rw-r--r--mayor-orig/mayor-jatek/www/lang/hu_HU/module-jatek/jatek.php7
-rw-r--r--mayor-orig/mayor-jatek/www/policy/private/jatek/2048-pre.php0
-rw-r--r--mayor-orig/mayor-jatek/www/policy/private/jatek/2048.php5
-rw-r--r--mayor-orig/mayor-jatek/www/policy/private/jatek/egyszam-pre.php18
-rw-r--r--mayor-orig/mayor-jatek/www/policy/private/jatek/egyszam.php7
-rw-r--r--mayor-orig/mayor-jatek/www/policy/private/jatek/jatek-pre.php6
-rw-r--r--mayor-orig/mayor-jatek/www/policy/private/jatek/jatek.php7
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/2048.css499
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/egyszam.css2
-rwxr-xr-xmayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Bold-webfont.eotbin0 -> 23821 bytes
-rwxr-xr-xmayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Bold-webfont.svg640
-rwxr-xr-xmayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Bold-webfont.woffbin0 -> 27120 bytes
-rwxr-xr-xmayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Light-webfont.eotbin0 -> 25570 bytes
-rwxr-xr-xmayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Light-webfont.svg670
-rwxr-xr-xmayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Light-webfont.woffbin0 -> 28700 bytes
-rwxr-xr-xmayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Regular-webfont.eotbin0 -> 23490 bytes
-rwxr-xr-xmayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Regular-webfont.svg669
-rwxr-xr-xmayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Regular-webfont.woffbin0 -> 26764 bytes
-rwxr-xr-xmayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/clear-sans.css29
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/jatek.css12
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/html/2048.phtml77
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/html/base.phtml51
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/img/2048.pngbin0 -> 21371 bytes
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/animframe_polyfill.js28
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/application.js4
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/bind_polyfill.js9
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/classlist_polyfill.js71
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/game_manager.js276
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/grid.js117
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/html_actuator.js139
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/keyboard_input_manager.js144
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/local_storage_manager.js63
-rw-r--r--mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/tile.js27
-rw-r--r--mayor-orig/mayor-locales-de_DE/log/mayor-locales-de_DE.rev1
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/base.php42
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/file.php5
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/ldap.php7
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-auth.php8
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-honosito.php5
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-password.php10
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-session.php5
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/menu/parent/de_DE/base.php34
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/menu/parent/de_DE/module-keptar.php13
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/base.php43
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/module-honosito.php16
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/module-naplo.php211
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/module-portal.php14
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/base.php37
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-felveteli.php21
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-forum.php17
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-keptar.php16
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-naplo.php13
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-portal.php38
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/backend/ldap/attrs.php59
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/backend/mysql/attrs.php15
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/base/base.php18
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/date/names.php21
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-auth/login.php5
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-honosito/text.php11
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-keptar/keptar.php4
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/base.php19
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/diakValaszto.php3
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/diakTankor.php6
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/munkakozosseg.php9
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/osztaly.php21
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tanar.php22
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankor.php24
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankorDiak.php16
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankorSzemeszter.php4
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankorTanar.php6
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/valtas.php3
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/diak.php3
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/ertekeles.php18
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/file.php22
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/hianyzas.php10
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/osztalyzatok.php23
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/tanar.php8
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/tanev/helyettesites.php3
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-password/changeMyPassword.php7
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-password/changePassword.php7
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/accountInfo.php3
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/createAccount.php7
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/createGroup.php6
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/download.php7
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/groupInfo.php4
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/search/searchAccount.php19
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/search/searchGroup.php19
-rw-r--r--mayor-orig/mayor-locales-de_DE/www/lang/de_DE/share/session/attrs.php18
-rw-r--r--mayor-orig/mayor-locales-en_US/log/mayor-locales-en_US.rev1
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/alert/en_US/base.php42
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/alert/en_US/file.php5
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/alert/en_US/ldap.php7
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-auth.php8
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-honosito.php5
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-naplo.php10
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-password.php10
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-session.php5
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/menu/parent/en_US/base.php34
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/menu/parent/en_US/module-keptar.php13
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/menu/parent/en_US/module-naplo.php44
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/base.php43
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/module-honosito.php15
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/module-naplo.php282
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/module-portal.php14
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/base.php37
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-felveteli.php22
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-forum.php17
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-keptar.php16
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-naplo.php13
-rw-r--r--mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-portal.php49
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/backend/ldap/attrs.php59
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/backend/mysql/attrs.php19
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/base/base.php18
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/date/names.php21
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-auth/login.php5
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-felveteli/base.php17
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-forum/base.php8
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-honosito/alert.php11
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-honosito/menu.php12
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-honosito/text.php11
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-keptar/keptar.php4
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/azonositok.php7
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/csoportok.php9
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/intezmenyek.php12
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/szemeszterek.php9
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/tanevek.php12
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/tankorok.php3
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/base.php19
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/bejegyzesek/bejegyzesek.php6
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/bejegyzesek/ujBejegyzes.php7
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/bejegyzesek/uj_bejegyzes.php15
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/diakValaszto.php3
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/elmaradas.php4
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/elszamolas.php8
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/haladasi.php19
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/helyettesites.php18
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/osszevonas.php12
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/pluszora.php10
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/specialis.php20
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/stat.php8
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/diak.php6
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/nap.php12
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/ora.php15
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/osztaly.php27
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hibabejelento/admin.php8
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hibabejelento/hibabejelento.php5
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diak.php53
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakAdmin.php17
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakExport.php55
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakSzulo.php37
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakTankor.php6
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakTankorJelentkezes.php19
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/munkakozosseg.php9
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/osztaly.php21
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tanar.php22
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankor.php24
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankorDiak.php16
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankorSzemeszter.php4
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankorTanar.php6
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/valtas.php3
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/naplo.php4
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/nyomtatas/tankorNaplohozRendeles.php11
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/bizonyitvany.php27
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/diak.php9
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/dolgozat.php23
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/jegy.php12
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/stat.php38
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/tankor.php17
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/targySorrend.php6
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/diak.php3
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/ertekeles.php18
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/file.php22
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/hianyzas.php10
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/osztalyzatok.php23
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/tanar.php8
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/fogadoOra.php18
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/helyettesites.php3
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/munkaterv.php16
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/orarend.php3
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/orarendTankor.php3
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/szabadTerem.php3
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/tankorBlokk.php8
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/tankorCsoport.php7
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/uzeno/uzeno.php16
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-password/changeMyPassword.php7
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-password/changePassword.php7
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-portal/hirek/egyhir.php13
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/accountInfo.php3
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/createAccount.php7
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/createGroup.php6
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/download.php7
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/groupInfo.php4
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/search/searchAccount.php19
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/search/searchGroup.php19
-rw-r--r--mayor-orig/mayor-locales-en_US/www/lang/en_US/share/session/attrs.php18
-rw-r--r--mayor-orig/mayor-locales-jp_JP/log/mayor-locales-jp_JP.rev1
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/file.php5
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/ldap.php7
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/module-auth.php8
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/module-session.php5
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/menu/parent/jp_JP/base.php34
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/menu/parent/jp_JP/module-keptar.php13
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/menu/parent/jp_JP/module-naplo.php39
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/base.php43
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/module-honosito.php16
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/module-naplo.php211
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/module-portal.php14
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/base.php37
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-felveteli.php21
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-forum.php17
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-keptar.php16
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-naplo.php13
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-portal.php40
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/backend/ldap/attrs.php59
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/backend/mysql/attrs.php15
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/base/base.php21
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/date/names.php21
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-auth/login.php5
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-forum/base.php8
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-honosito/text.php11
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-keptar/keptar.php4
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/azonositok.php7
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/csoportok.php9
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/intezmenyek.php12
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/tanevek.php12
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/base.php19
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/bejegyzesek/bejegyzesek.php6
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/bejegyzesek/ujBejegyzes.php7
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/bejegyzesek/uj_bejegyzes.php15
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/diakValaszto.php3
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/elmaradas.php4
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/elszamolas.php8
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/haladasi.php19
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/helyettesites.php18
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/osszevonas.php12
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/pluszora.php10
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/stat.php8
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hianyzas/diak.php6
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hianyzas/nap.php11
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hianyzas/ora.php12
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hibabejelento/admin.php8
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hibabejelento/hibabejelento.php5
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/diak.php53
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/diakTankor.php6
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/munkakozosseg.php9
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/osztaly.php21
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tanar.php18
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankor.php24
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankorDiak.php16
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankorSzemeszter.php4
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankorTanar.php6
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/valtas.php3
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/naplo.php4
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/osztalyozo/diak.php9
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/osztalyozo/jegy.php13
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/diak.php3
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/ertekeles.php18
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/file.php22
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/hianyzas.php10
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/osztalyzatok.php23
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/tanar.php8
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/tanev/helyettesites.php3
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/tanev/orarendTankor.php3
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/tanev/tankorCsoport.php7
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-password/changeMyPassword.php7
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-password/changePassword.php7
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-portal/hirek/egyhir.php11
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/accountInfo.php3
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/createAccount.php7
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/createGroup.php6
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/download.php7
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/groupInfo.php4
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/search/searchAccount.php19
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/search/searchGroup.php19
-rw-r--r--mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/share/session/attrs.php18
-rw-r--r--mayor-orig/mayor-wiki/log/mayor-wiki.rev1
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/base/azonositas.txt74
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/base/backend.txt11
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/base/backend/ad.txt111
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/base/backend/ldap.txt26
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/base/hibakezeles.txt20
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/base/mayor-base.txt16
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/base/menue.txt96
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/base/nyelv.txt5
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/base/oldalszerkezet.txt115
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/base/policy.txt6
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/base/policy/parent.txt3
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/base/policy/private.txt3
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/base/policy/public.txt3
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/base/regisztracio.txt41
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/gyik/jogi_hatter.txt157
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/gyik/mayorca.txt77
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/gyik/naplo.txt408
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/asc-ctrl-shift-e.txt53
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/beiratkozas.txt61
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/dobozok.txt55
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/evvegi_teendok.txt63
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/facebook.txt28
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felevi_evvegi_elrejtese.txt33
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felevi_teendok.txt49
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felhasznaloi_azonositok_generalasa.txt94
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felhasznalonevek_megvaltoztatasa.txt71
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/google.txt26
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/haladasi_utolag.txt41
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/hasznos_sql_gyujtemeny.txt159
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/hataridok.txt84
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/jelszoemlekezteto.txt65
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/jogviszony.txt49
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/karbantartas.txt78
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/kepesitesek.txt75
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/kozossegi_szolgalat.txt35
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/mayor_szkript.txt40
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/menu_testreszabas.txt25
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/orarend.txt97
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/orarendi_hetek_atallitasa.txt10
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/osztaly_heti_idokeret.txt53
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/specialis_tanitasinap.txt25
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/sulix.txt56
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/szueloi_adatok_betoeltese.txt110
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/szueloi_adatok_betoeltese_kiegeszitesekkel.txt92
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/szueloi_azonositok_generalasa.txt149
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/tantargyfelosztas.txt189
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/tanusitvany.txt48
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/targy_atnevezes.txt102
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites-debian.txt33
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites-hw.txt15
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites-man.txt521
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites.txt105
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/uj_diak.txt27
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/uj_skin.txt43
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/visszatoltes_mentesbol.txt176
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/hogyan/wiki_sajat_gepre.txt36
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/adatkezeles.txt355
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/adatszolgaltatas.txt64
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/adatvedelem.txt174
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/bizonyitvany.txt18
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/elszamolas.txt30
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/ertekeles.txt48
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/evismetles.txt10
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/fejlesztes.txt119
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/hianyzas.txt126
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/iskolavaltas.txt124
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/nyelvi_elokeszito.txt18
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/nyomtatvanyok.txt109
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/oktatas.txt95
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/osztalyozovizsga.txt192
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/pedagogiai_program.txt64
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/pedagogus_munkakor.txt74
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/sni.txt265
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/tanitasi_nap.txt9
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/tanuloi_jogviszony.txt171
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/zaradekok.txt261
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/jogtar/zarojegyek.txt645
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/koncepcio.txt31
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/modulok.txt8
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo.txt11
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/azonositok.txt21
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/fillhaladasi.txt23
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/import.txt23
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/rpcprivilege.txt35
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/szemeszterek.txt24
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/tanevek.txt82
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/csoportok.txt27
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/ertekeles/kerdoivbetoltes.txt146
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/export/bizonyitvany.txt12
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/fogadoora.txt22
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/elmaradas.txt16
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/elszamolas.txt47
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/haladasi.txt16
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/minuszora.txt16
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/osszevonas.txt31
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/pluszora.txt21
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/specialis.txt15
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/stat.txt46
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/hianyzas/osztaly.txt48
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/hibabejelento/admin.txt28
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/hibabejelento/hibabejelento.txt24
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/hirnok/hirnokfeliratkozas.txt68
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/diaktankorjelentkezes.txt10
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/kepzes.txt31
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/munkakozosseg.txt21
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/osztaly.txt109
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tanar.txt67
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tankordiak.txt37
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tankorszemeszter.txt22
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tankortanar.txt8
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/valtas.txt7
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/mayor-naplo.txt34
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/nyomtatas/szovegesertekeles.txt71
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/nyomtatas/torzslap.txt50
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/asc_timetables_xml.txt16
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/asc_timetables_xml_tankoeroek_nelkuel.txt20
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/ascexport.txt102
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarend.txt3
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarendbetolto.txt31
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarendtankor.txt9
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarendteremmodositas.txt9
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/tanarorarend.txt10
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/vegzosorarendlezaras.txt15
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo.txt3
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/diak.txt11
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/dolgozat.txt41
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/jegy.txt29
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/szempontrendszer.txt32
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/szovegesertekeles.txt11
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/tankor.txt47
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/vizsga.txt33
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/small_faces.txt104
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/fogadoora.txt22
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/munkaterv.txt92
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/tankorblokk.txt10
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/tankorcsoport.txt26
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenetinfo.txt15
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenetleadas.txt12
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenetmodositas.txt58
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenettankor.txt44
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/ujtanmenet.txt7
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/naplo/toolbar.txt17
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/portal/hirek/hirekadmin.txt25
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/portal/telepites.txt75
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/session/createaccount.txt13
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/session/groupinfo.txt6
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/sidebar.txt1
-rw-r--r--mayor-orig/mayor-wiki/wiki/data/pages/start.txt7
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/COPYING340
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/README10
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/plugin.info.txt7
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/bold.php39
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/code.php39
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/color.php236
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/deleted.php39
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/email.php47
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/image.php55
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/italic.php39
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/link.php60
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/monospace.php39
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/olist.php90
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/quote.php73
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/size.php104
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/ulist.php72
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/underline.php39
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/VERSION.txt1
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/conf/default.php17
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/conf/metadata.php17
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/design.css1029
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/detail.php92
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/footer.html70
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/admin.pngbin0 -> 1105 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/backlink.pngbin0 -> 926 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/create.pngbin0 -> 685 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/delicious.gifbin0 -> 129 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/digg.gifbin0 -> 958 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/edit.pngbin0 -> 1061 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/google.gifbin0 -> 944 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/history.pngbin0 -> 1285 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/index.pngbin0 -> 892 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/login.pngbin0 -> 1073 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/previous.pngbin0 -> 915 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/profile.pngbin0 -> 904 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/recent.pngbin0 -> 1161 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/show.pngbin0 -> 547 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/subscribe.pngbin0 -> 936 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/top.pngbin0 -> 948 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/unsubscribe.pngbin0 -> 933 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/black_arrow.gifbin0 -> 81 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/faded_background.pngbin0 -> 11180 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/favicon.pngbin0 -> 767 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/find.gifbin0 -> 1112 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_background.pngbin0 -> 245 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_bc.pngbin0 -> 185 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_logo.pngbin0 -> 241 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_status.pngbin0 -> 197 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/user_icon.pngbin0 -> 1113 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/wiki_logo.pngbin0 -> 5177 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/bullet.gifbin0 -> 51 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-cc.gifbin0 -> 1231 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-css.pngbin0 -> 299 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-donate.gifbin0 -> 200 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-dw.pngbin0 -> 427 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-php.gifbin0 -> 269 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-rss.pngbin0 -> 280 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-xhtml.pngbin0 -> 321 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/buttonshadow.pngbin0 -> 257 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/closed.gifbin0 -> 54 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon.icobin0 -> 1406 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon_blue.icobin0 -> 1406 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon_green.icobin0 -> 1406 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon_plain.icobin0 -> 7406 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/inputshadow.pngbin0 -> 155 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/link_icon.gifbin0 -> 942 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/mail_icon.gifbin0 -> 918 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/open.gifbin0 -> 54 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/admin.pngbin0 -> 1018 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/backlink.pngbin0 -> 727 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/create.pngbin0 -> 961 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/delicious.gifbin0 -> 129 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/digg.gifbin0 -> 958 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/edit.pngbin0 -> 961 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/google.gifbin0 -> 944 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/history.pngbin0 -> 1104 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/index.pngbin0 -> 818 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/login.pngbin0 -> 836 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/previous.pngbin0 -> 824 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/profile.pngbin0 -> 999 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/recent.pngbin0 -> 1009 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/show.pngbin0 -> 503 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/subscribe.pngbin0 -> 955 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/top.pngbin0 -> 992 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/unsubscribe.pngbin0 -> 921 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/faded_background.pngbin0 -> 29017 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_background.pngbin0 -> 246 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_bc.pngbin0 -> 203 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_logo.pngbin0 -> 198 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_status.pngbin0 -> 151 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/wiki_logo.pngbin0 -> 7948 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/admin.pngbin0 -> 1105 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/backlink.pngbin0 -> 1007 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/create.pngbin0 -> 685 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/delicious.gifbin0 -> 129 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/digg.gifbin0 -> 958 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/edit.pngbin0 -> 1061 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/google.gifbin0 -> 944 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/history.pngbin0 -> 1144 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/index.pngbin0 -> 892 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/login.pngbin0 -> 1111 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/previous.pngbin0 -> 822 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/profile.pngbin0 -> 904 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/recent.pngbin0 -> 1370 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/show.pngbin0 -> 547 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/subscribe.pngbin0 -> 936 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/top.pngbin0 -> 768 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/unsubscribe.pngbin0 -> 933 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/black_arrow.gifbin0 -> 81 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/faded_background.pngbin0 -> 5964 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/favicon.pngbin0 -> 667 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/find.gifbin0 -> 1209 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_background.pngbin0 -> 247 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_bc.pngbin0 -> 185 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_logo.pngbin0 -> 244 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_status.pngbin0 -> 197 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/user_icon.pngbin0 -> 995 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/wiki_logo.pngbin0 -> 4967 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/tocdot2.gifbin0 -> 810 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/windows.gifbin0 -> 223 bytes
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/builder.js131
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/controls.js835
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/dragdrop.js944
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/effects.js1090
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/prototype.js2515
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/scriptaculous.js51
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/slider.js278
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/lang/en/settings.php22
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/lang/hu/settings.php22
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/lang/it/settings.php21
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/layout.css232
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/main.php362
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/media.css204
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/mediamanager.php44
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/print.css236
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/rtl.css111
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style.ini147
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style_blue.ini147
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style_green.ini147
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style_plain.ini147
-rw-r--r--mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/tplfn_sidebar.php97
-rw-r--r--mayor-orig/md5sum13
-rw-r--r--mayor-orig/rev.txt1
805 files changed, 47543 insertions, 34 deletions
diff --git a/.pic/mayor_munin-day.png b/.pict/mayor_munin-day.png
index e15bbc98..e15bbc98 100644
--- a/.pic/mayor_munin-day.png
+++ b/.pict/mayor_munin-day.png
Binary files differ
diff --git a/.pic/nextcloud.png b/.pict/nextcloud.png
index c0d42ef5..c0d42ef5 100644
--- a/.pic/nextcloud.png
+++ b/.pict/nextcloud.png
Binary files differ
diff --git a/README.md b/README.md
index ccbeba3f..8ab189c9 100644
--- a/README.md
+++ b/README.md
@@ -1,38 +1,59 @@
-Ez a tároló, a MaYoR elektornikus napló (© [www.mayor.hu](http://www.mayor.hu))-hoz készített apróbb javítások/módosítások/kiegészítések gyüjteménye.
+## MaYoR Elektornikus napló
-**Az eredeti fájlok elérhetőek itt: [http://git.bmrg.hu/mayormods.git](http://git.bmrg.hu/mayormods.git/)**
+Ez a tároló, a MaYoR elektornikus napló (© [www.mayor.hu](http://www.mayor.hu)), és a hozzá készített apróbb javítások/módosítások/kiegészítések gyüjteménye.
+
+**Az eredeti repó elérhető itt: [http://git.bmrg.hu/mayormods.git](http://git.bmrg.hu/mayormods.git/)**
A fenti könyvtárak struktúrája:
-**mayor-mod** > : Az elvégzett javítások ki/egybegyűjtve. (mysql-utf8, update, texgen hibajavítás)
-**mayor-orig** > : Az eredeti forrásállományok (base, naplo, portal egybegyúrva) gyűjteménye, rev4284-től.
+**mayor-jav** > : Az elvégzett javítások ki/egybegyűjtve. (mysql-utf8, update, texgen hibajavítás)
+**mayor-orig** > : Az eredeti forrásállományok (base, naplo, portal, stb..) gyűjteménye, rev4284-től kezdve.
-**mayor-installer-mod** > : A mayor telepítő javított változata. (debian9, php memlimit, basedir/server-user pontosítása)
-**mayor-instller-fcgi-mod** > : Az Apache2/mod-fcgid-es php-értelmezőhöz készült telepítő kiegészítve, a "hagyományos" telepítővel.
-**mayor-installer-orig** > : Az eredeti installer forrásállományok gyűjteménye, rev4284-től.
+**mayor-installer/mayor-installer-jav** > : A mayor telepítő javított változata. (debian9, php memlimit, basedir pontosítása)
+**mayor-installer/mayor-instller-for-fcgi** > : Az eredeti telepítő kiegészítve az Apache2/mod-fcgid féle php-értelmezővel való használathoz (biztonsági szeparáció*, bővebben: lejjebb)
+**mayor-installer/mayor-installer-orig** > : Az eredeti installer forrásállományok gyűjteménye, rev4284-től.
**egyéb/munin** > : Munin monitorozó plugin a MaYoR-hoz.
**egyéb/nextcloud** > : Nextcloud felhasználó/csoport betöltő-menedzser script a MaYoR-ból.
----------------------------------------------------------------------
-**Munin Plugin** :
+
+
+## Munin Plugin
(A MaYor-napló aktuális leterheltségének monitorozása munin segítségével.)
-![munin](http://git.bmrg.hu/mayormods.git/pic/mayor_munin-day.png)
+![munin](http://git.bmrg.hu/mayormods.git/pict/mayor_munin-day.png)
-.
-**Nextcloud-MaYor script** :
+## Nextcloud-MaYor script
(Felhasználókat (tanár, diák), és csoportokat (tankörök) tölthetünk be vele a mayorból, a nextcloudba. )
(Csoportokat hoz létre a mayor tankörei alapján, majd ezen csoportokba belépteti az adott tankör diákjait, és a tanárait. )
-![munin](http://git.bmrg.hu/mayormods.git/pic/nextcloud.png)
+![munin](http://git.bmrg.hu/mayormods.git/pict/nextcloud.png)
+
+---------------------------------------------------------------------
+
+### *Szeparációs lehetőségek:
+
+Biztonsági szempontból nem javasolt a MaYoR-t és egy másik weboldalt ugyanazon Apache szerver és ugyanazon "DocumentRoot" könyvtára alól futtatni!
+Szétválasztásukra többféle lehetőség van:
+1. külön fizikai szerver mindegyiknek.
+2. külön virtuális szerver mindegyiknek.
+3. külön "DOCKER konténer" mindegyiknek.
+4. külön felhasználónévvel/jogokkal futtatott php-értelmező egy webszerveren belül.
+
+Természetesen a legerősebb szeparációt az **1.** megoldás jelenti, de ugyanakkor előjöhetnek ennek hátrányai is, például, hogy dupla akkora adminisztrációs teher a rendszergazdának. Ugyanakkor foglalkoznunk kell azzal a kérdéssel is, hogy ha az intézmény vásárol egy komolyabb szervergépet, (ma már)tíz gigabájt RAM-mal. Ekkor felesleges pazarlás fizikailag is külön szervergépre telepíteni az egyes webszervereket, különösen, ha figyelembe vesszük a weboldalak memóriaigényét is.
+
+Ekkor jöhet képbe a **2.** és **3.** lehetőség, ahol már ugyanazon fizikai gép alól fut mindegyik, ez már ésszerű elosztást biztosít, de, ha tovább vizsgáljuk, akkor szóba jöhet az a kérdés is, hogy ekkora fizikai memória (RAM) esetén miért futtassunk több, különálló mysql-szervert, web-szervert? Ahelyett, hogy egy, központi mysql-szerverünk, web-szerverünk lenne, aminek kiosztunk több gigabájt ramot, így az jóval gyorsabb kiszolgálást tud biztosítani.
+(Különösen annak fényében, hogy egy ilyen "felturbózott" mysql sokszorosára növeli a mayor-napló sebességét is.)
-.
+Erre a megoldásra születtek a "php külön felhasználónévvel futtatva" típusú ( **4.** ) lehetőségek.
+Ezek közül is a legegyszerűbb, és legbiztonságosabb az **Apache2** **mod_suexec** és **mod_fcgid** segítségével futtatott php-értelmező.
+Ekkor egy, közös Apache2 (és persze MySQL) szerver van, ahol az egyes weboldalak (apache virtualhost-ok) mind, külön-külön "felhasználónévvel" futnak, külön-külön, saját "DocumentRoot" könyvtárból, (és persze külön a www-data felhasználótól is) ahol a felhasználónév váltást az Apache2 indulásakor, a mod_suexec modul végzi, a php futtatását pedig az Apache2 mod_fcgid modulja, a már meghatározott felhasználó nevében, és jogaival.
+(Természetesen vannak még más megoldások is, mint pl. a php_fpm, de azokat nem javaslom, mert több vele az adminisztráció, és a bonyodalom a különálló szerver-processzek miatt. )
diff --git a/checkupdate.sh b/checkupdate.sh
index 5e20e8bd..d6ab116e 100755
--- a/checkupdate.sh
+++ b/checkupdate.sh
@@ -2,34 +2,37 @@
orev=$(cat rev.txt)
-nrev=$(wget http://www.mayor.hu/download/rev.txt -O -)
+nrev=$(wget http://www.mayor.hu/download/current/md5sum -O - | grep 'Revision' | cut -d ' ' -f 2)
pd=$(pwd)
if [ "$nrev" -gt "$orev" ]; then
- wget http://www.mayor.hu/download/rev.txt -O rev.txt
+ wget http://www.mayor.hu/download/current/rev.txt -O rev.txt
+ wget http://www.mayor.hu/download/current/md5sum -O mayor-orig/md5sum
- cd /tmp/
- wget http://www.mayor.hu/download/current/mayor-base-current.tgz
- wget http://www.mayor.hu/download/current/mayor-naplo-current.tgz
- wget http://www.mayor.hu/download/current/mayor-portal-current.tgz
-
- wget http://www.mayor.hu/download/current/mayor-installer-current.tgz
-
- cd $pd/mayor-installer-orig/
- tar -xzf /tmp/mayor-installer-current.tgz
+ cd /tmp
+
+ for i in $(cat "$pd"/mayor-orig/md5sum | tail -n+2 | cut -d ' ' -f 3); do
+
+ j=$(echo $i | sed -e 's/-rev.*//g')
+ wget http://www.mayor.hu/download/current/"$i"
+ if [ ! -d "$pd/mayor-orig/$i" ]; then
+ mkdir "$pd"/mayor-orig/"$j"
+ fi
+ tar -xzvf /tmp/"$i" -C "$pd"/mayor-orig/"$j"
+
+ done
- cd $pd/mayor-orig/
- tar -xzf /tmp/mayor-base-current.tgz
- tar -xzf /tmp/mayor-naplo-current.tgz
- tar -xzf /tmp/mayor-portal-current.tgz
-
cd $pd
+ cp -f 'rev.txt' 'mayor-orig/rev.txt'
+ cp -rf 'mayor-installer/mayor-installer-orig/log/' 'mayor-installer/mayor-installer-jav/'
+ cp -rf 'mayor-installer/mayor-installer-orig/log/' 'mayor-installer/mayor-installer-for-fcgi/'
+
git add --all
git commit -a -m "Rev: $nrev"
-
+
fi
diff --git a/mayor-installer/mayor-installer-for-fcgi/log/mayor-installer.rev b/mayor-installer/mayor-installer-for-fcgi/log/mayor-installer.rev
index 87ca4f07..ab5135de 100644
--- a/mayor-installer/mayor-installer-for-fcgi/log/mayor-installer.rev
+++ b/mayor-installer/mayor-installer-for-fcgi/log/mayor-installer.rev
@@ -1 +1 @@
-4284
+4455
diff --git a/mayor-installer/mayor-installer-jav/log/mayor-installer.rev b/mayor-installer/mayor-installer-jav/log/mayor-installer.rev
index 87ca4f07..ab5135de 100644
--- a/mayor-installer/mayor-installer-jav/log/mayor-installer.rev
+++ b/mayor-installer/mayor-installer-jav/log/mayor-installer.rev
@@ -1 +1 @@
-4284
+4455
diff --git a/mayor-installer/mayor-installer-orig/log/mayor-installer.rev b/mayor-installer/mayor-installer-orig/log/mayor-installer.rev
index e2ba7ca0..ab5135de 100644
--- a/mayor-installer/mayor-installer-orig/log/mayor-installer.rev
+++ b/mayor-installer/mayor-installer-orig/log/mayor-installer.rev
@@ -1 +1 @@
-4423
+4455
diff --git a/mayor-jav/README.md b/mayor-jav/README.md
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-jav/README.md
diff --git a/mayor-orig/mayor-felveteli/config/module-felveteli/config.php.example b/mayor-orig/mayor-felveteli/config/module-felveteli/config.php.example
new file mode 100644
index 00000000..7a960ef3
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/config/module-felveteli/config.php.example
@@ -0,0 +1,522 @@
+<?php
+
+ define('__FELVETELI_INSTALLED',true);
+
+ $MYSQL_DATA['felveteli']['user']= 'root';
+ $MYSQL_DATA['felveteli']['pw']= '1212';
+ $MYSQL_DATA['felveteli']['db']= 'mayor_felveteli';
+
+ define('_FELVETELI_EVE',2010);
+
+ define('_IRASBELI_PUBLIKALAS_DT','2010-02-03 00:00:00');
+ define('_IRASBELI_PUBLIKALAS_ENDDT','2010-02-13 00:00:00');
+ define('_SZOBELI_PUBLIKALAS_DT','2010-02-25 10:00:00');
+ define('_SZOBELI_PUBLIKALAS_ENDDT','2010-03-09 19:00:00');
+ define('_FELVETELI_JELENTKEZES_DT','2008-02-16 20:00:00');
+//
+ define('_BEHIVOTTAK_PUBLIKALAS_DT','2008-02-20 17:00:00'); // ez az ideigelens rangsoré is!
+ define('_BEHIVOTTAK_PUBLIKALAS_ENDDT','2008-10-12 20:00:00'); // ez az ideigelens rangsoré is!
+ define('_IDEIGLENES_PUBLIKALAS_DT','2009-03-15 17:00:00'); // ez az ideigelens rangsoré is!
+ define('_IDEIGLENES_PUBLIKALAS_ENDDT','2009-03-20 20:00:00'); // ez az ideigelens rangsoré is!
+ define('_VEGEREDMENY_PUBLIKALAS_DT','2009-04-20 15:00:00');
+ define('_VEGEREDMENY_PUBLIKALAS_ENDDT','2009-05-30 20:00:00');
+
+// Nyomtatáshoz beírandó dátumok
+ define('_ERTESITES_DT','2009. április 23.');
+ define('_SZULOI_ERTEKEZLET_IDOPONTBAN','2009. május 18-án (hétfőn) 17:30-kor');
+ define('_GOLYATABOR_IDOPONT','július 31. - augusztus 3.');
+ define('_EV',date('Y'));
+
+/*
+ $OSZTALY = Array(11=>'7.A osztály (emelt szintű angol)',
+ 12=>'7.B osztály (emelt szintű német)',
+ 3=>'9.C osztály (emelt szintű ének-zene)',
+ 4=>'9.C osztály (emelt szintű humán)',
+ 5=>'9.D osztály (emelt szintű matematika)',
+ 6=>'9.D osztály (emelt szintű számítástechnika)',
+ );
+*/
+ $OSZTALYABA_2006 = Array(11=>'7.A osztályába (emelt szintű angol)',
+ 12=>'7.B osztályába (emelt szintű német)',
+ 3=>'9.C osztályába (emelt szintű ének-zene)',
+ 4=>'9.C osztályába (emelt szintű humán)',
+ 5=>'9.D osztályába (emelt szintű matematika)',
+ 6=>'9.D osztályába (emelt szintű számítástechnika)',
+ );
+ $OSZTALYABA_2007 = Array(11=>'7.A osztályába (emelt szintű angol)',
+ 12=>'7.B osztályába (emelt szintű német)',
+ 3=>'9.C osztályába (emelt szintű ének-zene)',
+ 5=>'9.C osztályába (emelt szintű magyar)',
+ 7=>'9.D osztályába (emelt szintű matematika)',
+ 9=>'9.D osztályába (emelt szintű biológia)',
+ 4=>'9.N osztályába (emelt szintű ének-zene, német nyelvi előkészítő évvel)',
+ 6=>'9.N osztályába (emelt szintű humán, német nyelvi előkészítő évvel)',
+ 8=>'9.N osztályába (emelt szintű matematika, német nyelvi előkészítő évvel)',
+ 10=>'9.N osztályába (emelt szintű informatika, német nyelvi előkészítő évvel)',
+ );
+ $OSZTALYABA_2008 = Array(
+ 11=>'7.A osztályába (emelt szintű angol)',
+ 12=>'7.B osztályába (emelt szintű német)',
+ 3=>'9.C osztályába (emelt szintű ének-zene)',
+ 5=>'9.C osztályába (emelt szintű humán)',
+ 7=>'9.D osztályába (emelt szintű matematika)',
+ 9=>'9.D osztályába (emelt szintű informatika)',
+ 4=>'9.N osztályába (emelt szintű ének-zene, német nyelvi előkészítő évvel)',
+ 6=>'9.N osztályába (emelt szintű magyar, német nyelvi előkészítő évvel)',
+ 8=>'9.N osztályába (emelt szintű matematika, német nyelvi előkészítő évvel)',
+ 10=>'9.N osztályába (emelt szintű biológia, német nyelvi előkészítő évvel)',
+ );
+ $OSZTALYABA_2009 = Array(
+ 11=>'7.A osztályába (emelt szintű angol)',
+ 12=>'7.B osztályába (emelt szintű német)',
+ 3=>'9.C osztályába (emelt szintű ének-zene)',
+ 4=>'9.N osztályába (emelt szintű ének-zene, német nyelvi előkészítő évvel)',
+ 5=>'9.C osztályába (emelt szintű magyar)',
+ 6=>'9.N osztályába (emelt szintű humán, német nyelvi előkészítő évvel)',
+ 7=>'9.D osztályába (tehetséggondozó matematika)',
+ 8=>'9.N osztályába (emelt szintű matematika, német nyelvi előkészítő évvel)',
+ 9=>'9.D osztályába (emelt szintű biológia)',
+ 10=>'9.N osztályába (emelt szintű informatika, német nyelvi előkészítő évvel)',
+ );
+ $OSZTALYABA_2010 = Array(
+ 11=>'7.A osztályába (emelt szintű angol)',
+ 12=>'7.B osztályába (emelt szintű német)',
+ 3=>'9.C osztályába (emelt szintű ének-zene)',
+ 4=>'9.N osztályába (emelt szintű ének-zene, német nyelvi előkészítő évvel)',
+ 5=>'9.C osztályába (emelt szintű magyar)',
+ 6=>'9.N osztályába (emelt szintű humán, német nyelvi előkészítő évvel)',
+ 7=>'9.D osztályába (tehetséggondozó matematika)',
+ 8=>'9.N osztályába (emelt szintű matematika, német nyelvi előkészítő évvel)',
+ 9=>'9.D osztályába (emelt szintű biológia)',
+ 10=>'9.N osztályába (emelt szintű informatika, német nyelvi előkészítő évvel)',
+ 21=>'9.E osztályába (általános tantervű 12 évfolyamos, spanyol)',
+ );
+
+/*
+ $OSZTALY = Array(
+ 11=>'7.A osztályába (emelt szintű angol)',
+ 12=>'7.B osztályába (emelt szintű német)',
+ 3=>'9.C osztályába (emelt szintű ének-zene)',
+ 5=>'9.C osztályába (emelt szintű magyar)',
+ 7=>'9.D osztályába (emelt szintű matematika)',
+ 9=>'9.D osztályába (emelt szintű biológia)',
+ 4=>'9.N osztályába (emelt szintű ének-zene, német)',
+ 6=>'9.N osztályába (emelt szintű humán, német)',
+ 8=>'9.N osztályába (emelt szintű matematika, német)',
+ 10=>'9.N osztályába (emelt szintű informatika, német)',
+ );
+*/
+ $IKTSZ_2006 = Array(
+ 'OK'=>'003/58/2006',
+ 'Máshová ment' => '003/59/2006',
+ 'Helyhiány' => '003/60/2006',
+ 'Nem' => '003/61/2006',
+ 'igazgatói' => '003/62/2006',
+ 3 => '003/58/2006',
+ 4 => '003/58/2006',
+ 5 => '003/58/2006',
+ 6 => '003/58/2006',
+ 11 => '003/58/2006',
+ 12 => '003/58/2006',
+ 0 => '003/61/2006',
+ 1 => '003/60/2006',
+ 2 => '003/59/2006'
+ );
+
+ $IKTSZ_2007 = Array(
+ 'OK'=>'003/32/2007',
+ 'Máshová ment' => '003/33/2007',
+ 'Helyhiány' => '003/34/2007',
+ 'Nem' => '003/35/2007',
+ 'igazgatói' => '003/36/2007',
+ 3 => '003/32/2007',
+ 4 => '003/32/2007',
+ 5 => '003/32/2007',
+ 6 => '003/32/2007',
+ 7 => '003/32/2007',
+ 8 => '003/32/2007',
+ 9 => '003/32/2007',
+ 10 => '003/32/2007',
+ 11 => '003/32/2007',
+ 12 => '003/32/2007',
+ 0 => '003/35/2007',
+ 1 => '003/34/2007',
+ 2 => '003/33/2007'
+ );
+
+ $IKTSZ_2008 = Array(
+ 'OK'=>'003/6/2008',
+ 'Máshová ment' => '003/9/2008',
+ 'Helyhiány' => '003/8/2008',
+ 'Nem' => '003/7/2008',
+ 'igazgatói' => '003/10/2008',
+ 3 => '003/6/2008',
+ 4 => '003/6/2008',
+ 5 => '003/6/2008',
+ 6 => '003/6/2008',
+ 7 => '003/6/2008',
+ 8 => '003/6/2008',
+ 9 => '003/6/2008',
+ 10 => '003/6/2008',
+ 11 => '003/6/2008',
+ 12 => '003/6/2008',
+ 0 => '003/7/2008',
+ 1 => '003/8/2008',
+ 2 => '003/9/2008'
+ );
+
+ $IKTSZ_2009 = Array(
+ 'OK'=>'003/12/2009',
+ 'Máshová ment' => '003/13/2009',
+ 'Helyhiány' => '003/00/2009',
+ 'Nem' => '003/14/2009',
+ 'igazgatói' => '003/15/2009',
+ 3 => '003/12/2009',
+ 4 => '003/12/2009',
+ 5 => '003/12/2009',
+ 6 => '003/12/2009',
+ 7 => '003/12/2009',
+ 8 => '003/12/2009',
+ 9 => '003/12/2009',
+ 10 => '003/12/2009',
+ 11 => '003/12/2009',
+ 12 => '003/12/2009',
+ 0 => '003/14/2009',
+ 1 => '003/00/2009',
+ 2 => '003/13/2009'
+ );
+
+
+// Az adatbázisok nevei - évtől függően
+ define('_ADATOKDB','adatok_'._FELVETELI_EVE);
+ define('_ISKOLAKLEVELDB','iskolaklevel_'._FELVETELI_EVE);
+
+ $TAGOZATOK_2010 = Array(
+ 1=>'angol',
+ 2=>'német',
+ 3=>'ének-zene',
+ 4=>'német + ének-zene',
+ 5=>'humán',
+ 6=>'német + magyar',
+ 7=>'matematika tehetséggondozó',
+ 8=>'német + matematika',
+ 9=>'informatika',
+ 10=>'német + biológia',
+ 21=>'általános',
+ // kiegészítő kódok:
+ 34=>'ének-zene',
+ 56=>'magyar, humán',
+ 78=>'matematika (tehetséggondozó és/vagy nulladikos)',
+ 12=>'hatévfolyamos angol/német',
+ 0=>'hatévfolyamos angol/német');
+
+
+ $TAGOZATOK_2009 = Array(
+ 1=>'angol',
+ 2=>'német',
+ 3=>'ének-zene',
+ 4=>'német + ének-zene',
+ 5=>'magyar',
+ 6=>'német + humán',
+ 7=>'matematika tehetséggondozó',
+ 8=>'német + matematika',
+ 9=>'biológia',
+ 10=>'német + informatika',
+ // kiegészítő kódok:
+ 34=>'ének-zene',
+ 56=>'magyar, humán',
+ 78=>'matematika (tehetséggondozó és/vagy nulladikos)',
+ 12=>'hatévfolyamos angol/német',
+ 0=>'hatévfolyamos angol/német');
+
+
+
+ $TAGOZATOK_2008 = Array(
+ 1=>'angol',
+ 2=>'német',
+ 3=>'ének-zene',
+ 4=>'német + ének-zene',
+ 5=>'humán',
+ 6=>'német + magyar',
+ 7=>'matematika',
+ 8=>'német + matematika',
+ 9=>'informatika',
+ 10=>'német + biológia',
+ // kiegészítő kódok:
+ 34=>'ének-zene',
+ 78=>'matematika',
+ 12=>'hatévfolyamos angol/német',
+ 0=>'hatévfolyamos angol/német');
+
+ $TAGOZATOK_SZOBELI_MEGJEGYZES = array();
+ $TAGOZATOK_SZOBELI_MEGJEGYZES[3] = '
+Közös szakmai írásbeli vizsga 2010. március 1. hétfő 14:00.
+A szóbeli vizsga egyéni része megbeszélés szerint.
+';
+ $TAGOZATOK_SZOBELI_MEGJEGYZES[34] = $TAGOZATOK_SZOBELI_MEGJEGYZES[3];
+// $TAGOZATOK_SZOBELI_MEGJEGYZES[9] = 'Gyakorlati feladatok:<br/>2008.II.22. péntek 17:00';
+
+ $TAGOZATOK_SZOBELI_AJANLAT = '
+Írásbeli eredménye és hozott pontjai alapján %1% tagozaton
+szóbeli felvételi vizsgát már nem kell tennie. Személyes beszélgetésre invitáljuk,
+mely ügyében iskolánk titkársága keresni fogja. (Tel: 214-1554)
+Gratulálunk!
+';
+
+ $JOSLAT_2013 = array(
+'angol' => 'angol',
+'sajnos' => 'sajnos nem',
+'tangol' => 'talán angol',
+'tnémet' => 'talán német',
+'lnémet' => 'lehetséges: német',
+'német' => 'német',
+'vangol' => 'valószínű: angol',
+'langol' => 'lehetséges: angol',
+'vnémet' => 'valószínű: német',
+'ének' => 'ének-zene',
+'info' => 'informatika',
+'spanyol' => 'spanyol',
+'tbiosz' => 'talán biológia',
+'matek' => 'matematika',
+'vbiosz' => 'valószínű: biológia',
+'vinfo' => 'valószínű: informatika',
+'biológia' => 'biológia',
+'tspanyol' => 'talán: spanyol',
+'lbiosz' => 'lehetséges: biológia',
+'tinfo' => 'talán: informatika',
+'vspanyol' => 'valószínű: spanyol',
+'vmatek' => 'valószínű: matematika',
+'linfo' => 'lehetséges: informatika',
+'lspanyol' => 'lehetséges: spanyol',
+'lmatek' => 'lehetséges: matematika',
+'tmatek' => 'talán: matematika',
+);
+
+ $JOSLAT_2009 = array(
+'vnémet' => 'Valószínű: német',
+'vangol' => 'Valószínű: angol',
+'német' => 'Német',
+'lnémet' => 'Lehetséges: német',
+'angol' => 'Angol',
+'langol' => 'Lehetséges: angol',
+
+'sajnos nem' => 'Sajnos nem tudjuk felvenni.',
+'lbio' => 'Lehetséges: Biológia',
+'enek' => 'Ének-zene',
+'vmagyar' => 'Valószínű: Magyar',
+'matek' => 'Matematika',
+'0enek' => 'Német + Ének-zene',
+'vmatek' => 'Valószínű: Matematika',
+'lmagyar' => 'Lehetséges: Magyar',
+'lmatek' => 'Lehetséges: Matematika',
+'l0human' => 'Lehetséges: Német + Humán',
+'0human' => 'Német + Humán',
+'magyar' => 'Magyar',
+'v0matek' => 'Valószínű: Német + Matematika',
+'0info' => 'Német + Informatika',
+'vbiosz' => 'Valószínű: Biológia',
+'biosz' => 'Biológia',
+'v0info' => 'Valószínű: Német + Informatika',
+'v0human' => 'Valószínű: Német + Humán',
+'l0info' => 'Lehetséges: Német + Informatika',
+'0matek' => 'Német + Matematika',
+'venek' => 'Valószínű: Ének-zene',
+'l0matek' => 'Lehetséges: Matematika'
+ );
+
+
+ $JOSLAT_2008 = array(
+'valószínű: 0magyar' => 'Valószínűleg: 0. magyar',
+'nem' => 'nem kerül be',
+'felvéve: informatika' => 'Felvéve: informatika',
+'lehetséges: humán' => 'Lehetséges: humán',
+'talán: 0biológia' => 'Talán: 0. biológia',
+'felvéve: 0magyar' => 'Felvéve: 0. magyar(6)',
+'felvéve: matematika' => 'Felvéve: matematika(7)',
+'lehetséges: 0magyar' => 'Lehetséges: 0. magyar(6)',
+'talán: matematika' => 'Talán: matematika(7)',
+'felvéve: ének' => 'Felvéve: ének-zene(3)',
+'felvéve: humán' => 'Felvéve: humán(5)',
+'valószínű: humán' => 'Valószínűleg: humán(5)',
+'felvéve: 0ének' => 'Felvéve: 0. ének-zene(4)',
+'felvéve: 0matematika' => 'Felvéve: 0. matematika (8)',
+'valószínű: 0biológia' => 'Felvéve: 0. biológia (10)',
+'lehetséges: ének' => 'Lehetséges: ének-zene(3)',
+'talán: informatika' => 'Talán: informatika',
+'lehetséges: 0biológia' => ' Lehetséges: 0. biológia (10)',
+'talán: 0magyar' => 'Talán: 0. magyar (6)',
+'lehetséges: informatika' => 'Lehetséges: informatika',
+'felvéve: 0biológia' => 'Felvéve: 0. biológia',
+'lehetséges: 0matematika' => 'Lehetséges: 0. matematika (8)',
+'valószínű: 0matematika' => 'Valószínűleg: 0. matematika (8)',
+'valószínű: matematika' => 'Valószínűleg: matematika (7)',
+'valószínű: ének' => 'Valószínűleg: ének-zene (3)',
+'lehetséges: matematika' => 'Lehetséges: matematika (7)',
+'valószínű: informatika' => 'Valószínűleg: informatika',
+'angol' => 'Felvéve: angol',
+'lnémet' => 'Lehetséges: német',
+'vangol' => 'Valószínűleg: angol',
+'tnémet' => 'Talán: német',
+'német' => 'Felvéve: német',
+'langol' => 'Lehetséges: angol',
+'tangol' => 'Talán: angol',
+'vnémet' => 'Valószínűleg: német'
+);
+
+ $JOSLAT_2007 = Array(
+'0. ének'=>'Felvételt nyer: német+ének',
+'0. humán'=>'Felvételt nyer: német+humán',
+'0. matek'=>'Felvételt nyer: német+matematika',
+'0. számt.'=>'Felvételt nyer: német+informatika',
+'Angol'=>'Felvételt nyer: angol',
+'Biológia'=>'Felvételt nyer: biológia',
+'Ének'=>'Felvételt nyer: ének-zene',
+'Magyar'=>'Felvételt nyer: magyar',
+'Matek'=>'Felvételt nyer: matematika',
+'Német'=>'Felvételt nyer: német',
+
+'Nem'=>'Sajnos nem valószínű, hogy fel tudjuk venni',
+
+'Lehetséges: 0. számt.'=>'Lehetséges: német+informatika',
+'Lehetséges: Angol'=>'Lehetséges: angol',
+'Lehetséges: Biológia'=>'Lehetséges:',
+'Lehetséges: Magyar'=>'Lehetséges: magyar',
+'Lehetséges: Matek'=>'Lehetséges: matematika',
+'Lehetséges: Német'=>'Lehetséges: német',
+'Szinte biztos: Angol'=>'Szinte biztos: angol',
+'Szinte biztos: Biológia'=>'Szinte biztos: biológia',
+'Szinte biztos: Magyar'=>'Szinte biztos: magyar',
+'Szinte biztos: Matek'=>'Szinte biztos: matematika',
+'Szinte biztos: Német'=>'Szinte biztos: német',
+'Valószínű: Angol'=>'Valószínű: angol',
+'Valószínű: Biológia'=>'Valószínű: biológia',
+'Valószínű: Magyar'=>'Valószínű: magyar',
+'Valószínű: Matek'=>'Valószínű: matematika',
+'Valószínű: Német'=>'Valószínű: német');
+
+/*
+ $VEGEKOD2STR = array(
+ //0 => 'Feldolgozás alatt...',
+ //1 => 'Feldolgozás alatt...',
+ //2 => 'Feldolgozás alatt...',
+ 0 => 'Nem tudjuk felvenni',
+ 1 => 'Sajnos helyhiány miatt nem tudjuk felvenni',
+ 2 => 'Máshová vették fel',
+ 4 => 'Felvéve: ének-zene + nulladikos német nyelvi előkészítő',
+ 6 => 'Felvéve: humán + nulladikos német nyelvi előkészítő',
+ 8 => 'Felvéve: matematika + nulladikos német nyelvi előkészítő',
+ 10 => 'Felvéve: informatika + nulladikos német nyelvi előkészítő',
+ 9 => 'Felvéve: biológia tagozatra',
+ 5 => 'Felvéve: magyar tagozatra',
+ 7 => 'Felvéve: négyévfolyamos matematika tagozatra',
+ 3 => 'Felvéve: négyévfolyamos ének-zene tagozatra',
+ 11 => 'Felvéve: hatévfolyamos angol tagozatra',
+ 12 => 'Felvéve: hatévfolyamos német tagozatra',
+ );
+*/
+
+ $VEGEKOD2STR_2007 = array(
+
+'0biológia' => 'Felvéve: biológia + nulladikos német nyelvi előkészítő',
+'0ének' => 'Felvéve: ének-zene + nulladikos német nyelvi előkészítő',
+'0magyar' => 'Felvéve: biológia + nulladikos német nyelvi előkészítő',
+'0matek' => 'Felvéve: biológia + nulladikos német nyelvi előkészítő',
+'ének' => 'Felvéve: ének-zene',
+'humán' => 'Felvéve: humán',
+'informatika' => 'Felvéve: informatika',
+'matek' => 'Felvéve: matematika',
+'angol' => 'Felvéve: hatévfolyamos angol tagozatra',
+'német' => 'Felvéve: hatévfolyamos német tagozatra',
+'helyhiány' => 'Sajnos helyhiány miatt nem tudjuk felvenni',
+'egyéb iskola' => 'Máshová vették fel',
+'nem tudjuk felvenni' => 'Nem tudjuk felvenni'
+
+);
+
+ $VEGEKOD2STR_2008 = array(
+
+'0biológia' => 'Felvéve: biológia + nulladikos német nyelvi előkészítő',
+'0ének' => 'Felvéve: ének-zene + nulladikos német nyelvi előkészítő',
+'0magyar' => 'Felvéve: biológia + nulladikos német nyelvi előkészítő',
+'0matek' => 'Felvéve: biológia + nulladikos német nyelvi előkészítő',
+'ének' => 'Felvéve: ének-zene',
+'humán' => 'Felvéve: humán',
+'informatika' => 'Felvéve: informatika',
+'matek' => 'Felvéve: matematika',
+'angol' => 'Felvéve: hatévfolyamos angol tagozatra',
+'német' => 'Felvéve: hatévfolyamos német tagozatra',
+'helyhiány' => 'Sajnos helyhiány miatt nem tudjuk felvenni',
+'egyéb iskola' => 'Máshová vették fel',
+'nem tudjuk felvenni' => 'Nem tudjuk felvenni'
+
+);
+
+ $V2L_2008 = array(
+
+'0biológia' => 10,
+'0ének' => 4,
+'0magyar' => 6,
+'0matek' => 8,
+'ének' => 3,
+'humán' => 5,
+'informatika' => 9,
+'matek' => 7,
+'angol' => 11,
+'német' => 12,
+'helyhiány' => 1,
+'egyéb iskola' => 2,
+'nem tudjuk felvenni' => 0
+
+);
+
+ $V2L_2009 = array(
+
+'biosz' => 9,
+'0ének' => 4,
+'magyar' => 5,
+'0mat' => 8,
+'ének' => 3,
+'0hum' => 6,
+'0info' => 10,
+'matematika' => 7,
+'angol' => 11,
+'német' => 12,
+'sajnos' => 0,
+'sajnos nem' => 0,
+'egyéb iskola' => 2,
+'nem tudjuk felvenni' => 0,
+'máshová ment' => 2,
+'más' => 2
+
+);
+
+ $VEGEREDMENY_2009 = array(
+'biosz' => 'Felvéve: biológia',
+'0ének' => 'Felvéve: ének-zene + nulladikos német nyelvi előkészítő',
+'magyar' => 'Felvéve: magyar',
+'0mat' => 'Felvéve: matematika + nulladikos német nyelvi előkészítő',
+'ének' => 'Felvéve: ének-zene',
+'0hum' => 'Felvéve: humán + nulladikos német nyelvi előkészítő',
+'0info' => 'Felvéve: informatika + nulladikos német nyelvi előkészítő',
+'matematika' => 'Felvéve: matematika (tehetséggondozó)',
+'angol' => 'Felvéve: hatévfolyamos angol tagozatra',
+'német' => 'Felvéve: hatévfolyamos német tagozatra',
+'sajnos' => 'Sajnos nem tudjuk felvenni',
+'egyéb iskola' => 'Máshová vették fel',
+'nem tudjuk felvenni' => 'Nem tudjuk felvenni',
+'máshová ment' => 'Más iskolába vették fel',
+'más' => 'Más iskolába vették fel'
+);
+
+
+ $VEGEKOD2STR = $VEGEKOD2STR_2008;
+ $V2L = $V2L_2008;
+
+ $TAGOZATOK = $TAGOZATOK_2010;
+ $VEGEREDMENY = $VEGEREDMENY_2010;
+ $JOSLAT = $JOSLAT_2010;
+ $IKTSZ = $IKTSZ_2010;
+ $OSZTALYABA = $OSZTALYABA_2010;
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-KLIKTajekoztato2016.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-KLIKTajekoztato2016.pdf
new file mode 100644
index 00000000..e009515d
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-KLIKTajekoztato2016.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-adatlap.doc b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-adatlap.doc
new file mode 100644
index 00000000..f4cbf251
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-adatlap.doc
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-adatlapZeneiMeghallgatasra.odt b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-adatlapZeneiMeghallgatasra.odt
new file mode 100644
index 00000000..f15e3bb2
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-adatlapZeneiMeghallgatasra.odt
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-adatlapZeneiMeghallgatasra.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-adatlapZeneiMeghallgatasra.pdf
new file mode 100644
index 00000000..592d80c7
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-adatlapZeneiMeghallgatasra.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasRendje.docx b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasRendje.docx
new file mode 100644
index 00000000..cb7cbf06
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasRendje.docx
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2015.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2015.pdf
new file mode 100644
index 00000000..1331f011
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2015.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2016.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2016.pdf
new file mode 100644
index 00000000..0f25cae2
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2016.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2017.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2017.pdf
new file mode 100644
index 00000000..f2590b01
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2017.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2018.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2018.pdf
new file mode 100644
index 00000000..e0d267b3
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-beiskolazasiKorzet2018.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-dokumentumlista.odt b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-dokumentumlista.odt
new file mode 100644
index 00000000..15ee6be0
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-dokumentumlista.odt
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-dokumentumlista.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-dokumentumlista.pdf
new file mode 100644
index 00000000..f1265e96
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-dokumentumlista.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2013.odt b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2013.odt
new file mode 100644
index 00000000..e8e3ae60
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2013.odt
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2013.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2013.pdf
new file mode 100644
index 00000000..95cd0465
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2013.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2014.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2014.pdf
new file mode 100644
index 00000000..2ded27dd
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2014.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2015.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2015.pdf
new file mode 100644
index 00000000..45eea5f2
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2015.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2016.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2016.pdf
new file mode 100644
index 00000000..76300185
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2016.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2017.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2017.pdf
new file mode 100644
index 00000000..526c26d7
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2017.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2018.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2018.pdf
new file mode 100644
index 00000000..6c520197
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felveteli2018.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felvetelikerelem.doc b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felvetelikerelem.doc
new file mode 100644
index 00000000..c0dba921
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felvetelikerelem.doc
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felvetelikerelem.odt b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felvetelikerelem.odt
new file mode 100644
index 00000000..a8ed777e
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felvetelikerelem.odt
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felvetelikerelem.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felvetelikerelem.pdf
new file mode 100644
index 00000000..437aaa1b
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-felvetelikerelem.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-hitEsErkolcstanNyilatkozat.odt b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-hitEsErkolcstanNyilatkozat.odt
new file mode 100644
index 00000000..231510f9
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-hitEsErkolcstanNyilatkozat.odt
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-hitEsErkolcstanNyilatkozat.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-hitEsErkolcstanNyilatkozat.pdf
new file mode 100644
index 00000000..8e3b787b
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-hitEsErkolcstanNyilatkozat.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-igazolasBetegFogyatekosGyermek.odt b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-igazolasBetegFogyatekosGyermek.odt
new file mode 100644
index 00000000..fb408ca4
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-igazolasBetegFogyatekosGyermek.odt
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-igazolasBetegFogyatekosGyermek.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-igazolasBetegFogyatekosGyermek.pdf
new file mode 100644
index 00000000..8e1b122c
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-igazolasBetegFogyatekosGyermek.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-kozepfokuBeiskolazas2017.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-kozepfokuBeiskolazas2017.pdf
new file mode 100644
index 00000000..88415243
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-kozepfokuBeiskolazas2017.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-kozepfokuBeiskolazas2018.pptx b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-kozepfokuBeiskolazas2018.pptx
new file mode 100644
index 00000000..0e396f86
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-kozepfokuBeiskolazas2018.pptx
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-normativKedvezmeny.odt b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-normativKedvezmeny.odt
new file mode 100644
index 00000000..07d2e812
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-normativKedvezmeny.odt
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-normativKedvezmeny.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-normativKedvezmeny.pdf
new file mode 100644
index 00000000..fada6071
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-normativKedvezmeny.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatErtesitesrol.odt b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatErtesitesrol.odt
new file mode 100644
index 00000000..3313563f
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatErtesitesrol.odt
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatErtesitesrol.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatErtesitesrol.pdf
new file mode 100644
index 00000000..6786a037
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatErtesitesrol.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatEtkezesrol.odt b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatEtkezesrol.odt
new file mode 100644
index 00000000..09a6e24e
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatEtkezesrol.odt
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatEtkezesrol.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatEtkezesrol.pdf
new file mode 100644
index 00000000..a7ed997f
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatEtkezesrol.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatLakhelyrol.odt b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatLakhelyrol.odt
new file mode 100644
index 00000000..4bac614c
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatLakhelyrol.odt
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatLakhelyrol.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatLakhelyrol.pdf
new file mode 100644
index 00000000..a2d8280f
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-nyilatkozatLakhelyrol.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-szuloiNyilatkozat.odt b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-szuloiNyilatkozat.odt
new file mode 100644
index 00000000..93abe376
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-szuloiNyilatkozat.odt
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-szuloiNyilatkozat.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-szuloiNyilatkozat.pdf
new file mode 100644
index 00000000..58ff66b3
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-szuloiNyilatkozat.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-tankotelesFelhivas.pdf b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-tankotelesFelhivas.pdf
new file mode 100644
index 00000000..5b3dcd99
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/download/public/felveteli/kos/kos-tankotelesFelhivas.pdf
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/install/2009.sql b/mayor-orig/mayor-felveteli/install/2009.sql
new file mode 100644
index 00000000..08ea5fc8
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/install/2009.sql
@@ -0,0 +1,63 @@
+-- MySQL dump 10.11
+--
+-- Host: localhost Database: mayor_felveteli
+-- ------------------------------------------------------
+-- Server version 5.0.67-0ubuntu6
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `irasbeli_eredmenyek_2009`
+--
+
+DROP TABLE IF EXISTS `irasbeli_eredmenyek_2009`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `irasbeli_eredmenyek_2009` (
+ `kod` smallint(5) unsigned NOT NULL default '0',
+ `nev` varchar(80) collate utf8_unicode_ci NOT NULL,
+ `evfolyam` varchar(4) character set utf8 default NULL,
+ `ni1` char(1) character set utf8 default NULL,
+ `ni2` char(1) character set utf8 default NULL,
+ `flap1` varchar(20) collate utf8_unicode_ci default NULL,
+ `magyar` char(3) character set utf8 default NULL,
+ `flap2` varchar(20) collate utf8_unicode_ci default NULL,
+ `matek` char(3) character set utf8 default NULL,
+ `matek2` smallint(5) unsigned default NULL,
+ `ossz` int(11) default NULL,
+ `szuldt` date default NULL,
+ `szulvaros` varchar(30) character set utf8 default NULL,
+ `an` varchar(60) character set utf8 default NULL,
+ `oId` int(11) NOT NULL,
+ PRIMARY KEY (`oId`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `irasbeli_eredmenyek_2009`
+--
+
+LOCK TABLES `irasbeli_eredmenyek_2009` WRITE;
+/*!40000 ALTER TABLE `irasbeli_eredmenyek_2009` DISABLE KEYS */;
+/*!40000 ALTER TABLE `irasbeli_eredmenyek_2009` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2009-02-06 8:43:49
diff --git a/mayor-orig/mayor-felveteli/install/felveteli.sql b/mayor-orig/mayor-felveteli/install/felveteli.sql
new file mode 100644
index 00000000..2566483a
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/install/felveteli.sql
@@ -0,0 +1,142 @@
+-- MySQL dump 10.13 Distrib 5.1.31, for debian-linux-gnu (i486)
+--
+-- Host: localhost Database: mayor_felveteli
+-- ------------------------------------------------------
+-- Server version 5.1.31-1ubuntu2
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `adatok_2010`
+--
+
+DROP TABLE IF EXISTS `adatok_2010`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `adatok_2010` (
+ `id` int(10) unsigned NOT NULL,
+ `nev` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
+ `jelige` varchar(30) CHARACTER SET utf8 DEFAULT NULL,
+ `OM` varchar(7) CHARACTER SET utf8 DEFAULT NULL,
+ `diak` varchar(10) CHARACTER SET utf8 DEFAULT NULL,
+ `oktid` varchar(11) COLLATE utf8_hungarian_ci NOT NULL,
+ `szuldt` date DEFAULT NULL,
+ `fl` enum('fiú','lány') CHARACTER SET utf8 DEFAULT NULL,
+ `an` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
+ `irsz` varchar(5) CHARACTER SET utf8 DEFAULT NULL,
+ `varos` varchar(40) CHARACTER SET utf8 DEFAULT NULL,
+ `utca` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
+ `lirsz` varchar(5) CHARACTER SET utf8 DEFAULT NULL,
+ `lvaros` varchar(40) CHARACTER SET utf8 DEFAULT NULL,
+ `lutca` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
+ `atlag` decimal(4,2) DEFAULT NULL,
+ `magyar` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `matek` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `matek2` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `pontosatlag` decimal(6,4) NOT NULL DEFAULT '0.0000',
+ `pont` decimal(4,2) DEFAULT NULL,
+ `pontsum` decimal(4,2) DEFAULT NULL,
+ `evfolyam` enum('hat','négy') CHARACTER SET utf8 DEFAULT NULL,
+ `jelenleg` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
+ `joslat` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
+ `vegeredmeny` varchar(20) CHARACTER SET utf8 DEFAULT NULL,
+ `level1` enum('nincs értesítve','értesítve') CHARACTER SET utf8 DEFAULT NULL,
+ `level2` enum('nincs értesítve','nem kell értesíteni','értesítve') CHARACTER SET utf8 DEFAULT NULL,
+ `extra` varchar(100) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `oktid` (`oktid`,`nev`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+SET character_set_client = @saved_cs_client;
+
+
+--
+-- Table structure for table `eredmenyek_tagozatonkent_2010`
+--
+
+DROP TABLE IF EXISTS `eredmenyek_tagozatonkent_2010`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `eredmenyek_tagozatonkent_2010` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `jid` int(10) unsigned NOT NULL DEFAULT '0',
+ `tagozat` tinyint(3) unsigned DEFAULT NULL,
+ `rangsor` int(10) unsigned DEFAULT NULL,
+ `pont` decimal(4,2) DEFAULT NULL,
+ `szobeli` decimal(4,2) DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `jid` (`jid`),
+ CONSTRAINT `eredmenyek_tagozatonkent_2010_ibfk_1` FOREIGN KEY (`jid`) REFERENCES `adatok_2010` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB AUTO_INCREMENT=1637 DEFAULT CHARSET=utf8;
+SET character_set_client = @saved_cs_client;
+
+
+--
+-- Table structure for table `irasbeli_eredmenyek_2010`
+--
+
+DROP TABLE IF EXISTS `irasbeli_eredmenyek_2010`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `irasbeli_eredmenyek_2010` (
+ `kod` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `nev` varchar(80) COLLATE utf8_unicode_ci NOT NULL,
+ `evfolyam` varchar(4) CHARACTER SET utf8 DEFAULT NULL,
+ `ni1` char(1) CHARACTER SET utf8 DEFAULT NULL,
+ `ni2` char(1) CHARACTER SET utf8 DEFAULT NULL,
+ `flap1` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `magyar` char(3) CHARACTER SET utf8 DEFAULT NULL,
+ `flap2` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `matek` char(3) CHARACTER SET utf8 DEFAULT NULL,
+ `matek2` smallint(5) unsigned DEFAULT NULL,
+ `ossz` int(11) DEFAULT NULL,
+ `szuldt` date DEFAULT NULL,
+ `szulvaros` varchar(30) CHARACTER SET utf8 DEFAULT NULL,
+ `an` varchar(60) CHARACTER SET utf8 DEFAULT NULL,
+ `oId` varchar(11) COLLATE utf8_unicode_ci NOT NULL,
+ PRIMARY KEY (`oId`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+SET character_set_client = @saved_cs_client;
+
+
+--
+-- Table structure for table `szobeli_2010`
+--
+
+DROP TABLE IF EXISTS `szobeli_2010`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `szobeli_2010` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `jid` int(10) unsigned DEFAULT '0',
+ `szoveg` varchar(40) CHARACTER SET utf8 DEFAULT NULL,
+ `bizottsag` tinyint(3) unsigned DEFAULT '0',
+ `nap` varchar(10) CHARACTER SET utf8 DEFAULT NULL,
+ `napdt` date DEFAULT NULL,
+ `ido` time DEFAULT '00:00:00',
+ `tagozat` tinyint(3) unsigned DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `jid` (`jid`),
+ CONSTRAINT `szobeli_2010_ibfk_1` FOREIGN KEY (`jid`) REFERENCES `adatok_2010` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB AUTO_INCREMENT=470 DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+SET character_set_client = @saved_cs_client;
+
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2010-02-05 9:17:57
diff --git a/mayor-orig/mayor-felveteli/install/new.sql b/mayor-orig/mayor-felveteli/install/new.sql
new file mode 100644
index 00000000..0ab8ea89
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/install/new.sql
@@ -0,0 +1,107 @@
+-- MySQL dump 10.11
+--
+-- Host: localhost Database: mayor_felv_newonly
+-- ------------------------------------------------------
+-- Server version 5.0.38-Ubuntu_0ubuntu1.1-log
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `adatok_2008`
+--
+
+DROP TABLE IF EXISTS `adatok_2008`;
+CREATE TABLE `adatok_2008` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `nev` varchar(50) character set utf8 default NULL,
+ `jelige` varchar(30) character set utf8 collate utf8_bin default NULL,
+ `OM` varchar(7) character set utf8 default NULL,
+ `diak` varchar(10) character set utf8 default NULL,
+ `oktid` varchar(11) character set utf8 default NULL,
+ `szuldt` date default NULL,
+ `fl` enum('fiú','lány') character set utf8 default NULL,
+ `an` varchar(50) character set utf8 default NULL,
+ `irsz` varchar(5) character set utf8 default NULL,
+ `varos` varchar(40) character set utf8 default NULL,
+ `utca` varchar(50) character set utf8 default NULL,
+ `lirsz` varchar(5) character set utf8 default NULL,
+ `lvaros` varchar(40) character set utf8 default NULL,
+ `lutca` varchar(50) character set utf8 default NULL,
+ `atlag` decimal(4,2) default NULL,
+ `pontosatlag` decimal(6,4) NOT NULL default '0.0000',
+ `pont` decimal(4,2) default NULL,
+ `pontsum` decimal(4,2) default NULL,
+ `evfolyam` enum('hat','négy') character set utf8 default NULL,
+ `jelenleg` varchar(50) character set utf8 default NULL,
+ `joslat` varchar(50) character set utf8 default NULL,
+ `vegeredmeny` varchar(20) character set utf8 default NULL,
+ `level1` enum('nincs értesítve','értesítve') character set utf8 default NULL,
+ `level2` enum('nincs értesítve','nem kell értesíteni','értesítve') character set utf8 default NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE INDEX oktid (`oktid`)
+) ENGINE=InnoDb DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Dumping data for table `adatok_2008`
+--
+
+LOCK TABLES `adatok_2008` WRITE;
+/*!40000 ALTER TABLE `adatok_2008` DISABLE KEYS */;
+/*!40000 ALTER TABLE `adatok_2008` ENABLE KEYS */;
+UNLOCK TABLES;
+
+
+DROP TABLE IF EXISTS `szobeli_2008`;
+CREATE TABLE `szobeli_2008` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `jid` int(10) unsigned default '0',
+ `szoveg` varchar(40) default NULL,
+ `bizottsag` tinyint(3) unsigned default '0',
+ `nap` varchar(10) default NULL,
+ `napdt` date default NULL,
+ `ido` time default '00:00:00',
+ `tagozat` tinyint(3) unsigned default '0',
+ PRIMARY KEY (`id`),
+ FOREIGN KEY(jid)
+ REFERENCES adatok_2008(id)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ UNIQUE INDEX id (id)
+) ENGINE=InnoDb DEFAULT CHARSET=utf8;
+
+
+DROP TABLE IF EXISTS `eredmenyek_tagozatonkent_2008`;
+CREATE TABLE `eredmenyek_tagozatonkent_2008` (
+ `id` int(10) unsigned NOT NULL default '0',
+ `jid` int(10) unsigned NOT NULL default '0',
+ `kod` tinyint(3) unsigned default NULL,
+ `rangsor` int(10) unsigned default NULL,
+ `pont` decimal(4,2) default NULL,
+ `szobeli` decimal(4,2) default NULL,
+ PRIMARY KEY (`id`),
+ FOREIGN KEY(jid)
+ REFERENCES adatok_2008(id)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+
+) ENGINE=innoDb DEFAULT CHARSET=utf8;
+
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
diff --git a/mayor-orig/mayor-felveteli/install/phase2.sql b/mayor-orig/mayor-felveteli/install/phase2.sql
new file mode 100644
index 00000000..9ad25ad1
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/install/phase2.sql
@@ -0,0 +1,107 @@
+-- MySQL dump 10.11
+--
+-- Host: localhost Database: mayor_felveteli
+-- ------------------------------------------------------
+-- Server version 5.0.51a-24
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `adatok_2009`
+--
+
+DROP TABLE IF EXISTS `adatok_2009`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `adatok_2009` (
+ `id` int(10) unsigned NOT NULL,
+ `nev` varchar(50) character set utf8 default NULL,
+ `jelige` varchar(30) character set utf8 collate utf8_bin default NULL,
+ `OM` varchar(7) character set utf8 default NULL,
+ `diak` varchar(10) character set utf8 default NULL,
+ `oktid` varchar(11) collate utf8_hungarian_ci NOT NULL,
+ `szuldt` date default NULL,
+ `fl` enum('fiú','lány') character set utf8 default NULL,
+ `an` varchar(50) character set utf8 default NULL,
+ `irsz` varchar(5) character set utf8 default NULL,
+ `varos` varchar(40) character set utf8 default NULL,
+ `utca` varchar(50) character set utf8 default NULL,
+ `lirsz` varchar(5) character set utf8 default NULL,
+ `lvaros` varchar(40) character set utf8 default NULL,
+ `lutca` varchar(50) character set utf8 default NULL,
+ `atlag` decimal(4,2) default NULL,
+ `pontosatlag` decimal(6,4) NOT NULL default '0.0000',
+ `pont` decimal(4,2) default NULL,
+ `pontsum` decimal(4,2) default NULL,
+ `evfolyam` enum('hat','négy') character set utf8 default NULL,
+ `jelenleg` varchar(50) character set utf8 default NULL,
+ `joslat` varchar(50) character set utf8 default NULL,
+ `vegeredmeny` varchar(20) character set utf8 default NULL,
+ `level1` enum('nincs értesítve','értesítve') character set utf8 default NULL,
+ `level2` enum('nincs értesítve','nem kell értesíteni','értesítve') character set utf8 default NULL,
+ PRIMARY KEY (`id`),
+ KEY `oktid` (`oktid`,`nev`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `adatok_2009`
+--
+
+LOCK TABLES `adatok_2009` WRITE;
+/*!40000 ALTER TABLE `adatok_2009` DISABLE KEYS */;
+INSERT INTO `adatok_2009` VALUES (1,'Gipsz Jakab',NULL,NULL,NULL,'0',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'0.0000',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+/*!40000 ALTER TABLE `adatok_2009` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `szobeli_2009`
+--
+
+DROP TABLE IF EXISTS `szobeli_2009`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `szobeli_2009` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `jid` int(10) unsigned default '0',
+ `szoveg` varchar(40) character set utf8 default NULL,
+ `bizottsag` tinyint(3) unsigned default '0',
+ `nap` varchar(10) character set utf8 default NULL,
+ `napdt` date default NULL,
+ `ido` time default '00:00:00',
+ `tagozat` tinyint(3) unsigned default '0',
+ PRIMARY KEY (`id`),
+ KEY `jid` (`jid`),
+ CONSTRAINT `szobeli_2009_ibfk_1` FOREIGN KEY (`jid`) REFERENCES `adatok_2009` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `szobeli_2009`
+--
+
+LOCK TABLES `szobeli_2009` WRITE;
+/*!40000 ALTER TABLE `szobeli_2009` DISABLE KEYS */;
+INSERT INTO `szobeli_2009` VALUES (1,1,NULL,0,NULL,NULL,'00:00:00',0);
+/*!40000 ALTER TABLE `szobeli_2009` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2009-02-25 8:16:45
diff --git a/mayor-orig/mayor-felveteli/log/mayor-felveteli.rev b/mayor-orig/mayor-felveteli/log/mayor-felveteli.rev
new file mode 100644
index 00000000..ab5135de
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/log/mayor-felveteli.rev
@@ -0,0 +1 @@
+4455
diff --git a/mayor-orig/mayor-felveteli/www/include/menu/private/hu_HU/module-felveteli.php b/mayor-orig/mayor-felveteli/www/include/menu/private/hu_HU/module-felveteli.php
new file mode 100644
index 00000000..5fa2d29d
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/include/menu/private/hu_HU/module-felveteli.php
@@ -0,0 +1,38 @@
+<?php
+
+ $MENU['felveteli'] = array(
+ array('txt' => 'Felvételi', 'url' => 'index.php?page=felveteli')
+ );
+
+// if (_USERACCOUNT=='mayoradmin' || memberOf(_USERACCOUNT, 'felveteliadmin')) $NAV[1][] = array('page' => 'felveteli');
+
+// Csak akkor van __FELVETELIADMIN kondtans, ha $page=felveteli
+if (__FELVETELIADMIN===true) {
+ $MENU['modules']['felveteli'] = array(
+ 'szobeli' => array(array('txt' => 'Eredmények')),
+// 'import' => array(array('txt' => 'Import')),
+ 'level' => array(array('txt' => 'Levelek generálása')),
+ 'levelIgazgato' => array(array('txt' => 'Levelek (igazgató)')),
+ 'boritek' => array(array('txt' => 'Boríték')),
+ 'boritekIgazgato' => array(array('txt' => 'Boríték (igazgató)')),
+ 'print2009' => array(array('txt'=>'Nyomtatás 2009')),
+ 'sub' => array('print2009' => array(
+ 'igazgato' => array(array('txt' => 'Levelek generálása (igazgató)', 'url' => 'index.php?page=felveteli&sub=print2009&f=igazgato')),
+ 'etikett' => array(array('txt' => 'Etikett generálása', 'url' => 'index.php?page=felveteli&sub=print2009&f=etikett')),
+ 'etikettIG' => array(array('txt' => 'Etikett generálása (igazgató)', 'url' => 'index.php?page=felveteli&sub=print2009&f=etikettIG')),
+ ),
+ ),
+ );
+
+ global $NAV;
+ if ($page=='felveteli') {
+ if (is_array($MENU['modules']['felveteli'])) foreach ($MENU['modules']['felveteli'] as $_f => $M) {
+ foreach ($M as $index => $N) {
+ if ($_f != 'sub') $NAV['2'][] = array('page' => 'felveteli', 'f' => $_f, 'index' => $index);
+ }
+ }
+ }
+
+}
+
+?>
diff --git a/mayor-orig/mayor-felveteli/www/include/menu/public/hu_HU/module-felveteli.php b/mayor-orig/mayor-felveteli/www/include/menu/public/hu_HU/module-felveteli.php
new file mode 100644
index 00000000..c7534d0c
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/include/menu/public/hu_HU/module-felveteli.php
@@ -0,0 +1,48 @@
+<?php
+
+ if (__PORTAL_CODE=='kos' || $sub == 'kos') {
+ $MENU['felveteli'] = array(
+ array('txt' => 'Felvételi (általános iskola)', 'url' => 'index.php?page=felveteli&sub=kos')
+ );
+ $MENU['modules']['felveteli'] = array(
+ 'kos' => array(array('txt'=>'Felvételi (általános iskola)', 'url'=>'index.php?page=felveteli&sub=kos')),
+ 'jelentkezesilap' => array(array('txt' => 'Jelentkezési lap', 'url' => '')),
+ 'vmg' => array(array('txt'=>'Felvételi (gimnázium)', 'url'=>'index.php?page=felveteli&f=felveteli')),
+ );
+ } else {
+ $MENU['felveteli'] = array(
+ array('txt' => 'Felvételi', 'url' => 'index.php?page=felveteli')
+ );
+ $MENU['modules']['felveteli'] = array(
+ 'felveteli' => array(array('txt' => 'Kiemelt adatok', 'url' => 'index.php?page=felveteli&f=felveteli')),
+ 'felveteli-gyik' => array(array('txt' => 'Gy.I.K.','icon'=>'icon-info-sign')),
+ 'hatevfolyamos' => array(array('txt' => 'Hatévfolyamos szóbeli','icon'=>'icon-idea')),
+ 'otevfolyamos' => array(array('txt' => 'Német- és spanyol nyelvi előkészítő','icon'=>'icon-hand-right')),
+ 'biologia' => array(array('txt' => 'Biológia','icon'=>'icon-hand-right')),
+ 'enek' => array(array('txt' => 'Ének-zene','icon'=>'icon-hand-right')),
+ 'fizika' => array(array('txt' => 'Fizika','icon'=>'icon-hand-right')),
+ 'human' => array(array('txt' => 'Humán','icon'=>'icon-hand-right')),
+ 'informatika' => array(array('txt' => 'Informatika','icon'=>'icon-hand-right')),
+ 'matematika' => array(array('txt' => 'Matematika','icon'=>'icon-hand-right')),
+// 'kozponti' => array(array('txt' => 'Központi eredmények', 'url' => 'index.php?page=felveteli&sub=&f=kozponti')),
+ 'pontszamito' => array(array('txt' => 'Pontszámító segéd', 'url' => 'index.php?page=felveteli&sub=&f=pontszamito')),
+ 'szobeli' => array(array('txt' => 'Eredmények', 'url' => 'index.php?page=felveteli&sub=&f=szobeli')),
+// 'nyiltlevel2016' => array(array('txt' => 'Nyílt levél 2016', 'url' => 'index.php?page=felveteli&sub=&f=nyiltlevel2014')),
+ 'kos' => array(array('txt'=>'Felvételi (általános iskola)', 'url'=>'index.php?page=felveteli&sub=kos')),
+ );
+ }
+//echo '<pre style="margin-left: 140px; margin-top: 100px;">';
+//var_dump(__PORTAL_CODE, (__PORTAL_CODE=='kos'), $MENU['felveteli']);
+//echo '</pre>';
+/*
+// array('txt' => 'Felvételi tájékoztató', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=1'),
+ $MENU['modules']['felveteli']['felveteli/20082009'] = array(
+ array('txt' => '1.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=1'),
+ array('txt' => '2.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=2'),
+ array('txt' => '3.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=3'),
+ array('txt' => '4.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=4'),
+ array('txt' => '5.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=5'),
+ array('txt' => '6.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=6'),
+ );
+*/
+?>
diff --git a/mayor-orig/mayor-felveteli/www/include/modules/felveteli/base/rights.php b/mayor-orig/mayor-felveteli/www/include/modules/felveteli/base/rights.php
new file mode 100644
index 00000000..6c6dfff5
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/include/modules/felveteli/base/rights.php
@@ -0,0 +1,12 @@
+<?php
+
+ define('_CATEGORY','egyéb');
+
+ if (_USERACCOUNT=='mayoradmin' || (_POLICY=='private' && memberOf(_USERACCOUNT, 'felveteliadmin'))) {
+ $AUTH['my']['categories'][] = 'felveteliadmin';
+ define('__FELVETELIADMIN',true);
+ } else {
+ define('__FELVETELIADMIN',false);
+ }
+
+?>
diff --git a/mayor-orig/mayor-felveteli/www/include/modules/felveteli/boritek.php b/mayor-orig/mayor-felveteli/www/include/modules/felveteli/boritek.php
new file mode 100644
index 00000000..39082704
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/include/modules/felveteli/boritek.php
@@ -0,0 +1,49 @@
+<?php
+
+ function pdfBoritek($file, $ADAT) {
+
+ $TeX .= '
+% envelope.tex
+\documentclass{letter}'."\n";
+
+ $TeX .= '\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)'."\n";
+ $TeX .= '\usepackage{ucs} % Jobb UTF-8 támogatás'."\n";
+ $TeX .= '\usepackage{t1enc}'."\n";
+ $TeX .= '\usepackage[magyar]{babel} % magyar elválasztási szabályok'."\n";
+ $TeX .= '\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után'."\n";
+
+$TeX .= '\usepackage[margin=0.15in,papersize={11.4cm,16.2cm},landscape,twoside=false]{geometry}
+\setlength\parskip{0pt}
+\pagestyle{empty}
+
+\begin{document}
+'."\n";
+
+
+ for ($i=0; $i<count($ADAT); $i++) {
+ $D = $ADAT[$i];
+ $TeX .= '\setlength\parindent{0pt}'."\n\n";
+ $TeX .= 'Városmajori Gimnázium és Kós Károly Általános Iskola'."\n\n";
+ $TeX .= '1122 Budapest,'."\n\n";
+ $TeX .= 'Városmajor u. 71.'."\n\n";
+ $TeX .= '\vspace{1.8in}'."\n\n";
+ $TeX .= '\setlength\parindent{3.0in}'."\n\n";
+ $TeX .= '{\large '."\n";
+ $TeX .= $D['nev']." }\n\n";
+ $TeX .= '\vspace{1cm}'."\n\n";
+ $TeX .= '\setlength\parindent{3.6in}'."\n\n";
+ $TeX .= $D['lvaros']."\n\n";
+ $TeX .= $D['lutca']."\n\n";
+ $TeX .= $D['lirsz']."\n\n";
+ $TeX .= '\vspace{1cm}'."\n\n";
+ $TeX .= '\setlength\parindent{0pt}'."\n\n";
+ $TeX .= '{\tiny '.$D['id']."/".$D['OM']."}\n";
+ $TeX .= '\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%'."\n\n";
+ }
+ $TeX .= '\end{document}';
+
+ return pdfLaTeX($TeX, $file);
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-felveteli/www/include/modules/felveteli/boritekIgazgato.php b/mayor-orig/mayor-felveteli/www/include/modules/felveteli/boritekIgazgato.php
new file mode 100644
index 00000000..b70373ca
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/include/modules/felveteli/boritekIgazgato.php
@@ -0,0 +1,50 @@
+<?php
+
+ function pdfBoritek($file, $ADAT) {
+
+ $TeX .= '
+% envelope.tex
+\documentclass{letter}'."\n";
+
+ $TeX .= '\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)'."\n";
+ $TeX .= '\usepackage{ucs} % Jobb UTF-8 támogatás'."\n";
+ $TeX .= '\usepackage{t1enc}'."\n";
+ $TeX .= '\usepackage[magyar]{babel} % magyar elválasztási szabályok'."\n";
+ $TeX .= '\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után'."\n";
+
+$TeX .= '\usepackage[margin=0.15in,papersize={11.4cm,16.2cm},landscape,twoside=false]{geometry}
+\setlength\parskip{0pt}
+\pagestyle{empty}
+
+\begin{document}
+'."\n";
+
+
+ for ($i=0; $i<count($ADAT); $i++) {
+ $D = $ADAT[$i];
+ $TeX .= '\setlength\parindent{0pt}'."\n\n";
+ $TeX .= 'Városmajori Gimnázium és Kós Károly Általános Iskola'."\n\n";
+ $TeX .= '1122 Budapest,'."\n\n";
+ $TeX .= 'Városmajor u. 71.'."\n\n";
+ $TeX .= '\vspace{1.6in}'."\n\n";
+# $TeX .= '\setlength\parindent{0.8in}'."\n\n";
+ $TeX .= '{\begin{center}\large '."\n";
+ $TeX .= $D['nev']." \end{center}}\n\n";
+ $TeX .= '\vspace{1cm}'."\n\n";
+ $TeX .= '\setlength\parindent{3.6in}'."\n\n";
+ $TeX .= $D['telepules']."\n\n";
+ $TeX .= $D['cim']."\n\n";
+ $TeX .= '\vspace{0.5cm}'."\n\n";
+ $TeX .= $D['irsz']."\n\n";
+ $TeX .= '\vspace{1cm}'."\n\n";
+ $TeX .= '\setlength\parindent{0pt}'."\n\n";
+ $TeX .= '{\tiny '."MaYoR/".$D['omkod']."}\n";
+ $TeX .= '\newpage '."\n\n";
+ }
+ $TeX .= '\end{document}';
+
+ return pdfLaTeX($TeX, $file);
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-felveteli/www/include/modules/felveteli/kozponti.php b/mayor-orig/mayor-felveteli/www/include/modules/felveteli/kozponti.php
new file mode 100644
index 00000000..6d463bcd
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/include/modules/felveteli/kozponti.php
@@ -0,0 +1,132 @@
+<?php
+
+ function updateLevelToken($oktid) {
+ if ($oktid=='') return false;
+ $token = bin2hex(openssl_random_pseudo_bytes(20));
+ $ip = _clientIp();
+ $q = "INSERT INTO levelLog_"._FELVETELI_EVE." (oktid,generalasDt,ip,token) VALUES ('%s',NOW(),'%s','%s')";
+ $v = array($oktid,$ip,$token);
+ db_Query($q,array('modul'=>'felveteli','values'=>$v,'debug'=>false),$lr);
+ return $token;
+ }
+
+ function checkLevelToken($token) {
+
+ }
+
+ function getIrasbeliEredmeny($nev,$oId,$an=null,$szuldt=null) {
+ $lr = @db_connect('felveteli');
+ if ($oId != '') {
+ $q = "SELECT * FROM irasbeli_eredmenyek_"._EV." WHERE nev='%s' AND oId='%s'";
+ $RET = db_query($q,array('modul'=>'felveteli', 'result'=>'indexed','values'=>array($nev,$oId),'debug'=>false),$lr);
+ } else {
+ $q = "SELECT * FROM irasbeli_eredmenyek_"._EV." WHERE nev='%s' AND an='%s' AND szuldt='%s'";
+ $RET = db_query($q,array('modul'=>'felveteli', 'result'=>'indexed','values'=>array($nev,$an,$szuldt),'debug'=>false),$lr);
+ }
+ db_close($lr);
+ return $RET;
+ }
+
+ function getFelvetelizoAdatok($nev,$oktid) {
+ $lr = db_connect('felveteli');
+ $q = "SELECT count(*) AS db FROM adatok_"._EV." WHERE (nev='$nev' or jelige='$nev') AND oktid='$oktid'";
+ $c = db_query($q,array('result'=>'value'),$lr);
+ if ($c==1) {
+ $q = "SELECT *,(magyar+matek)*0.8+IF(atlag<4,0,(atlag-4)*10+10) AS hozottpont,IF(matek2>0,(magyar+matek2)*0.8+IF(atlag<4,0,(atlag-4)*10+10),0) AS hozottpont2 FROM adatok_"._EV." WHERE (nev='$nev' or jelige='$nev') AND oktid='$oktid'";
+ $Rtmp = db_query($q,array('result'=>'indexed'),$lr);
+ $R = $Rtmp[0];
+ $q = "SELECT * FROM iskolak WHERE omkod like '%".$R['OM']."' LIMIT 1";
+ $Rtmp = db_query($q,array('result'=>'indexed'),$lr);
+ $R['iskolaAdat'] = $Rtmp[0];
+ } else {
+ $_SESSION['alert'][] = 'info:none_or_multiple:'.$c;
+ }
+ if ($lr) db_close($lr);
+ return $R;
+ }
+
+ function getSzobeli($jid, $olr = '') {
+ if (!is_numeric($jid)) return false;
+ if ($olr=='') $lr = db_connect('felveteli'); else $lr=$olr;
+// 2012 // $q = "SELECT * FROM szobeli_"._EV." WHERE jid=$jid ORDER BY napdt,ido,tagozat";
+ $q = "SELECT * FROM szobeli_"._EV." AS sz LEFT JOIN jelentkezes"._EV." AS jel ON sz.id=jel.id AND sz.tagozat=jel.tid
+ WHERE sz.id=$jid ORDER BY napdt,ido,tagozat";
+ $R = db_query($q,array('result'=>'indexed'),$lr);
+ if ($olr=='') db_close($lr);
+ return $R;
+ }
+
+ function getIdeiglenesRangsor($oktid) {
+
+ if (!is_numeric($oktid)) return false;
+ if ($olr=='') $lr = db_connect('felveteli'); else $lr=$olr;
+ $q = "SELECT jid,tagozat,pont,szobeli,rangsor FROM eredmenyek_tagozatonkent_"._EV." WHERE oktid=$oktid";
+ $R = db_query($q,array('result'=>'indexed'),$lr);
+ if ($olr=='') db_close($lr);
+var_dump($R);
+ return $R;
+
+ }
+
+ function getIdeiglenesRangsor_old($jid) {
+
+ if (!is_numeric($jid)) return false;
+ if ($olr=='') $lr = db_connect('felveteli'); else $lr=$olr;
+ $q = "SELECT jid,tagozat,szobeli,rangsor FROM eredmenyek_tagozatonkent_"._EV." WHERE jid=$jid";
+ $R = db_query($q,array('result'=>'indexed'),$lr);
+ if ($olr=='') db_close($lr);
+ return $R;
+
+ }
+
+
+ //-- RÉGI!!!
+/*
+ function getFelvetelizoAdatok($nev,$diak = '',$oktid = '') {
+ if ($diak!='') $W = "diak='$diak'";
+ elseif($oktid!='') $W = "oktid='$oktid'";
+ else return false;
+ $lr = @db_connect('felveteli');
+ if (_CATEGORY=='admin')
+ $query = "SELECT * FROM adatok_"._EV." WHERE (nev='$nev' or jelige='$nev')";
+ else $query = "SELECT * FROM adatok_"._EV." WHERE (nev='$nev' or jelige='$nev') AND ".$W;
+
+ $result = @mysql_query($query,$lr);
+ if (($db=@mysql_num_rows($result))==0) {
+ $ret = false;
+ } elseif ($db==2) {
+ $ret = 'multi';
+ } else {
+ $ret = @mysql_fetch_assoc($result);
+ }
+
+ $r = @mysql_query("SELECT * FROM iskolak WHERE omkod='".$ret['OM']."' LIMIT 1",$lr);
+ if (@mysql_num_rows($r)==1) {
+ $ret['iskolaAdat'] = @mysql_fetch_assoc($r);
+ }
+ @mysql_close($lr);
+ return $ret;
+
+ }
+
+
+ function getSzobeliEredmeny($jid) {
+ $lr = @db_connect('felveteli');
+
+// $query = "SELECT * FROM szobeli_"._EV." WHERE jid=$jid ORDER BY napdt,ido";
+//2. $query = "SELECT jid,kod as tagozat, eredmeny,pont FROM jelentkezok_tagozatok WHERE jid=$jid";
+ $query = "SELECT jid,kod as tagozat,rangsor as eredmeny,pont,szobeli FROM eredmenyek_tagozatonkent_"._EV." WHERE jid=$jid";
+ $result = @mysql_query($query,$lr);
+ if (($db=@mysql_num_rows($result))==0) {
+ $ret = false;
+ } else {
+ while ($sor = @mysql_fetch_assoc($result)) {
+ $ret[] = $sor;
+ }
+ }
+ @mysql_close($lr);
+ return $ret;
+ }
+*/
+
+?>
diff --git a/mayor-orig/mayor-felveteli/www/include/modules/felveteli/level.php b/mayor-orig/mayor-felveteli/www/include/modules/felveteli/level.php
new file mode 100644
index 00000000..f3c7838c
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/include/modules/felveteli/level.php
@@ -0,0 +1,188 @@
+<?php
+
+ function pdfLevel($file, $ADAT) {
+
+ global $V2L, $OSZTALYABA;
+ global $IKTSZ;
+
+ $TeX = '\documentclass[8pt]{article}'."\n\n";
+ $TeX .= '\usepackage[a4paper]{geometry} % A4-os méret'."\n";
+ $TeX .= '\usepackage{graphicx}'."\n";
+// $TeX .= '\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás'."\n";
+ $TeX .= '\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)'."\n";
+ $TeX .= '\usepackage{ucs} % Jobb UTF-8 támogatás'."\n";
+ $TeX .= '\usepackage{t1enc}'."\n";
+ $TeX .= '\usepackage[magyar]{babel} % magyar elválasztási szabályok'."\n";
+ $TeX .= '\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után'."\n";
+ $TeX .= '\usepackage{booktabs} % táblázatok magasabb szintű formázása'."\n";
+// $TeX .= '\usepackage{soul} % Ritkítás'."\n";
+ $TeX .= '\usepackage{fancyhdr} % Ritkítás'."\n";
+// $TeX .= '\pagestyle{empty}'."\n";
+ $TeX .= '\pagestyle{fancy}'."\n";
+
+ $TeX .= '\def\mayor{%'."\n";
+// $TeX .= '\font\mayorfnt=cmsl6%'."\n";
+// $TeX .= '\font\Mayorfnt=cmsl9'."\n";
+ $TeX .= '\font\mayorfnt=cmsl4%'."\n";
+ $TeX .= '\font\Mayorfnt=cmsl6'."\n";
+ $TeX .= '{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}'."\n";
+
+ $TeX .= '\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}'."\n";
+ $TeX .= '\addtolength{\skip\footins}{2mm}'."\n";
+// $TeX .= '\addtolength{\textheight}{10mm}'."\n";
+ $TeX .= '\parindent 0mm'."\n";
+# $TeX .= '\linespread{1.3}'."\n";
+ $TeX .= '\setlength{\footskip}{16pt}'."\n";
+ $TeX .= '\setlength{\headsep}{20pt}'."\n"; // 14pt helyett
+
+ $TeX .= '\cfoot{\tiny \copyright\mayor\ elektronikus adminisztráció - Nyomtatva: '.date('Y.m.d').'}'."\n";
+ $TeX .= '\setlength{\voffset}{0mm}'."\n";
+ $TeX .= '\setlength{\headheight}{40mm}'."\n";
+ $TeX .= '\renewcommand{\headrulewidth}{0pt}'."\n";
+ $TeX .= '\chead{\includegraphics[width=160mm]{/var/mayor/www/skin/classic/module-felveteli/img/fejlec.png}}'."\n";
+# $TeX .= '\lhead{\includegraphics[width=160mm]{/var/mayor/www/skin/classic/module-felveteli/img/iskola.png}}'."\n";
+# $TeX .= '\rhead{\tiny Felvételi értesítő}';
+
+
+ $TeX .= '\begin{document}'."\n";
+# $TeX .= ''."\n";
+ $TeX .= '\newpage'."\n";
+ for ($i = 0; $i < count($ADAT['level']); $i++) {
+
+ $D = $ADAT['level'][$i];
+ $eredmeny = $V2L[$D['vegeredmeny']];
+ $nev = $D['nev'];
+ $kernev = $nev;
+ $tagozatId = $eredmeny;
+ $D['iktsz'] = $IKTSZ[$eredmeny].' ['.$eredmeny.']';
+ $TeX .= '\begin{flushleft}'."\n";
+
+ $TeX .= putTeXLevelFejlec($D);
+
+ $TeX .= '\end{flushleft}'."\n";
+
+# $TeX .= '\parskip'."\n";
+ $TeX .= '\vspace{40pt}'."\n";
+ $TeX .= '\vspace{20pt}'."\n";
+
+ $TeX .= '\noindent '.'Kedves Kisdiák! Tisztelt Szülő!'."\n\n";
+
+ $TeX .= '\vspace{20pt}'."\n";
+
+ $TeX .= '{\baselineskip16pt'."\n";
+
+ if ($eredmeny>2) {
+
+ $TeX .= 'Örömmel értesítem, hogy '.$nev.' tanuló az általános iskolai eredménye és a felvételi vizsgán mutatott teljesítménye alapján (a Felvételi Központ által megküldött végleges listák sze\-rint)'."\n\n";
+ $TeX .= '\begin{center}'."\n";
+ $TeX .= ' felvételt nyert '."\n\n";
+ $TeX .= '\end{center}'."\n";
+ $TeX .= '\begin{center}'."\n";
+ $TeX .= ' a Városmajori Gimnázium '.$OSZTALYABA[$tagozatId].".\n\n";
+ $TeX .= '\end{center}'."\n\n";
+ $TeX .= 'Tájékoztatom, hogy az első szülői értekezlet '._SZULOI_ERTEKEZLET_IDOPONTBAN.' lesz, amelyre ezúton hívom meg a Szülőket.'."\n";
+ if (in_array($tagozatId,array(1,2,11,12,3,4,5,6))) {
+ $TeX .= 'A szülői értekezlet ideje alatt a tanulók nyelvi szintfelmérőt írnak.\footnote{Amennyiben a tanuló az első idegen nyelvet nem tanulta, a szintfelmérőt nem szükséges megírnia.} ';
+ }
+ $TeX .= 'A beiratkozással és tankönyvrendeléssel kapcsolatos aktuális teendőkért kérjük ne felejtsék rendszeresen felkeresni honlapunkat.'." ";
+ $TeX .= 'Hogy a család számára a nyári programtervezést megkönnyítsük, előre jelezzük, hogy a gólyatábor várható időpontja '._GOLYATABOR_IDOPONT.' lesz.'."\n\n";
+ $TeX .= '\vspace{14pt}'."\n";
+ $TeX .= 'Remélem, az iskolánkban eltöltött évek hasznosak és eredményesek lesznek.'."\n\n";
+
+ } elseif ($eredmeny==2) {
+
+ $TeX .= 'Sajnálattal vettük tudomásul, hogy '.$kernev.' másik iskolát választott, ezért nem vehettük fel a Városmajori Gimnáziumba.'."\n\n";
+ $TeX .= '\vspace{14pt}'."\n";
+ $TeX .= 'Remélem, hogy a választása jó döntésnek fog bizonyulni. Sikeres tanulmányi éveket és minden jót kívánok!'."\n\n";
+
+ } elseif ($eredmeny==1) {
+
+ $TeX .= 'Sajnálattal értesítem, hogy '.$nev.' tanuló a felvételi vizsgán megfelelt, de helyhiány miatt nem nyert felvételt gimnáziumunkba.'."\n\n";
+ $TeX .= '\vspace{14pt}'."\n";
+ $TeX .= 'A Szülő e döntés ellen jogorvoslati lehetőséggel (a kézhezvételtől számított 15 napon belül) akkor élhet, ha az utolsó helyen megjelölt iskola elutasító értesítése megérkezett. Jogorvoslati kérelmét az általános iskola igazgatójának kell benyújtani. '
+ .'Felhívom figyelmét arra, hogy gyermeke tankötelezettségének teljesítésére vonatkozó kérelemmel a lakóhely szerinti önkormányzat jegyzőjéhez fordulhat.'."\n\n";
+
+ } elseif ($eredmeny==0) {
+
+ $TeX .= 'Sajnálattal értesítem, hogy '.$nev.' tanuló - a Felvételi Központ által megküldött végleges listák szerint, nem nyert felvételt gimnáziumunkba.'."\n\n";
+ $TeX .= '\vspace{14pt}'."\n\n";
+ $TeX .= 'A Szülő e döntés ellen jogorvoslati lehetőséggel (a kézhezvételtől számított 15 napon belül) akkor élhet, ha az utolsó helyen megjelölt iskola elutasító értesítése megérkezett. Jogorvoslati kérelmét az általános iskola igazgatójának kell benyújtani. '
+ .'Felhívom figyelmét arra, hogy gyermeke tankötelezettségének teljesítésére vonatkozó kérelemmel a lakóhely szerinti önkormányzat jegyzőjéhez fordulhat.'."\n\n";
+
+ } else {
+
+ }
+ $TeX .= '}'."\n";
+ $TeX .= '\vspace{20pt}'."\n";
+ $TeX .= '\noindent Budapest, '._ERTESITES_DT.' \par%'."\n";
+
+
+ $TeX .= '\vspace{14pt}'."\n\n";
+ if ($eredmeny > 2 ) $TeX .= '\vspace{14pt}'."\n\n";
+
+ $TeX .= '\begin{flushright}'."\n";
+
+
+
+$TeX .= '\begin{tabular}{ccc}'."\n";
+
+//if ($eredmeny <= 2 ) {
+ $TeX .= '&&\includegraphics[width=30mm]{/var/mayor/www/skin/classic/module-felveteli/img/tasai.png}\\\\ '."\n";
+//}
+$TeX .= '&&\rule{4cm}{0.1pt}\\\\ '."\n";
+$TeX .= '&&Dr. Szebedy Tas\\\\ '."\n";
+$TeX .= '&&igazgató\\\\ '."\n";
+$TeX .= '\end{tabular}'."\n";
+
+
+ $TeX .= '\end{flushright}'."\n";
+
+
+
+ $TeX .= '\newpage'."\n\n";
+ $TeX .= '\setcounter{footnote}{0}'."\n\n";
+
+ }
+
+ // dokumentum lezárása
+ $TeX .= '\end{document}'."\n";
+ return pdfLaTeX($TeX, $file);
+
+ }
+
+ function putTeXLevelFejlec($ADAT) {
+
+
+
+ $TeX.= "Cím: ".$ADAT['lvaros'].', '.$ADAT['lirsz'].' '.$ADAT['lutca']."\n\n";
+ if ($ADAT['varos']!='') $TeX.= "Levelezési cím: ".$ADAT['varos'].', '.$ADAT['irsz'].' '.$ADAT['utca']."\n\n";
+# $TeX.= "Cím: ".$ADAT['varos'].', '.$ADAT['irsz'].' '.$ADAT['utca']."\n\n";
+# if ($ADAT['lvaros']!='') $TeX.= "Levelezési cím: ".$ADAT['lvaros'].', '.$ADAT['lirsz'].' '.$ADAT['lutca']."\n\n";
+ $TeX.= "Oktatási azonosító: ".$ADAT['oktid']."\n\n";
+ $TeX.= "MaYoR azonosító: ".$ADAT['id'].'/'.$ADAT['OM']."\n\n";
+ $TeX.= "Iktatószám: ".$ADAT['iktsz']."\n\n";
+ $TeX.= "Tárgy: Értesítés ".$ADAT['nev']." (".str_replace('_','',$ADAT['an'])." ".str_replace('-','.',$ADAT['szuldt']).".) felvételi eredményéről\n\n";
+
+# $TeX.= '\hrule%'."\n";
+
+# $TeX.= '%'."\n";
+
+# $TeX.= '\vskip2cm\alap';
+
+# $TeX.= '\item{}C.mzett: '.$nev.' .s Sz.lei';
+# $TeX.= '\item{}Postai c.m: '.$cim;
+# $TeX.= '\item{}Iktat.sz.m: '.$IKTSZ[$eredmeny].' ('.$id.')%'."\n";
+# $TeX.= '\vskip0.8cm';
+# $TeX.= '{{Tárgy}: {Értesítés '.$nev.' (';
+# if ($an!="") $TeX.= 'a.n.: '.$an.', ';
+# $TeX.= 'sz.l.: '.str_replace('-','.',$szul_dt).'.) felv.teli eredm.ny.r.l}}';
+
+# $TeX.= '%'."\n";
+
+ return $TeX;
+
+ }
+
+
+
+?>
diff --git a/mayor-orig/mayor-felveteli/www/include/modules/felveteli/levelIgazgato.php b/mayor-orig/mayor-felveteli/www/include/modules/felveteli/levelIgazgato.php
new file mode 100644
index 00000000..d97d72a3
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/include/modules/felveteli/levelIgazgato.php
@@ -0,0 +1,171 @@
+<?php
+
+ function pdfLevel($file, $ADAT) {
+
+ global $V2L, $OSZTALYABA;
+ global $IKTSZ;
+
+ for ($i=0; $i<count($ADAT['diak']); $i++) {
+ $OM = $ADAT['diak'][$i]['OM'];
+ if ($V2L[$ADAT['diak'][$i]['vegeredmeny']]>2) $DATA[$OM]['ok'][] = $ADAT['diak'][$i];
+ else $DATA[$OM]['nemok'][] = $ADAT['diak'][$i];
+ }
+
+
+ $TeX = '\documentclass[8pt]{article}'."\n\n";
+ $TeX .= '\usepackage[a4paper]{geometry} % A4-os méret'."\n";
+ $TeX .= '\usepackage{graphicx}'."\n";
+// $TeX .= '\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás'."\n";
+ $TeX .= '\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)'."\n";
+ $TeX .= '\usepackage{ucs} % Jobb UTF-8 támogatás'."\n";
+ $TeX .= '\usepackage{t1enc}'."\n";
+ $TeX .= '\usepackage[magyar]{babel} % magyar elválasztási szabályok'."\n";
+ $TeX .= '\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után'."\n";
+ $TeX .= '\usepackage{booktabs} % táblázatok magasabb szintű formázása'."\n";
+// $TeX .= '\usepackage{soul} % Ritkítás'."\n";
+ $TeX .= '\usepackage{fancyhdr} % Ritkítás'."\n";
+// $TeX .= '\pagestyle{empty}'."\n";
+ $TeX .= '\pagestyle{fancy}'."\n";
+
+ $TeX .= '\def\mayor{%'."\n";
+// $TeX .= '\font\mayorfnt=cmsl6%'."\n";
+// $TeX .= '\font\Mayorfnt=cmsl9'."\n";
+ $TeX .= '\font\mayorfnt=cmsl4%'."\n";
+ $TeX .= '\font\Mayorfnt=cmsl6'."\n";
+ $TeX .= '{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}'."\n";
+
+ $TeX .= '\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}'."\n";
+ $TeX .= '\addtolength{\skip\footins}{2mm}'."\n";
+# $TeX .= '\addtolength{\textheight}{10mm}'."\n";
+ $TeX .= '\parindent 0mm'."\n";
+# $TeX .= '\linespread{1.3}'."\n";
+ $TeX .= '\setlength{\footskip}{16pt}'."\n";
+ $TeX .= '\setlength{\headsep}{0pt}'."\n"; // 14pt helyett
+
+ $TeX .= '\cfoot{\tiny \copyright\mayor\ elektronikus adminisztráció - Nyomtatva: '.date('Y.m.d').'}';
+ $TeX .= '\setlength{\voffset}{0mm}'."\n";
+ $TeX .= '\setlength{\headheight}{40mm}'."\n";
+ $TeX .= '\renewcommand{\headrulewidth}{0pt}'."\n";
+ $TeX .= '\chead{\includegraphics[width=160mm]{/var/mayor/www/skin/classic/module-felveteli/img/fejlec.png}}'."\n";
+# $TeX .= '\lhead{\includegraphics[width=160mm]{/var/mayor/www/skin/classic/module-felveteli/img/iskola.png}}'."\n";
+# $TeX .= '\rhead{\tiny Felvételi értesítő}';
+
+
+ $TeX .= '\begin{document}'."\n\n";
+
+ foreach ($DATA as $OM => $DA) {
+
+ $TeX .= '\begin{flushleft}'."\n";
+
+ $TeX .= putTeXIgLevelFejlec($ADAT['iskola'][$OM],$IKTSZ['igazgatói']);
+
+ $TeX .= '\end{flushleft}'."\n";
+
+# $TeX .= '\parskip'."\n";
+ $TeX .= '\vspace{40pt}'."\n";
+
+ $TeX .= '{'."\n";
+ $TeX .= 'Kedves Igazgató Kolléga!'."\n\n";
+
+ $TeX .= '\vspace{20pt}'."\n\n";
+
+ if (count($DA['ok'])==1) { $vanfelvett=true;
+ $TeX .= 'Értesítem, hogy az Önök iskolájából az alábbi tanuló nyert felvételt gimnáziumunkba:'."\n\n";
+ } elseif (count($DA['ok'])>1) { $vanfelvett=true;
+ $TeX .= 'Értesítem, hogy az Önök iskolájából az alábbi tanulók nyertek felvételt gimnáziumunkba:'."\n\n";
+ } else {
+ $vanfelvett=false;
+ }
+
+ if ($vanfelvett) {
+ $TeX .= '\begin{itemize}'."\n";
+ for ($i=0; $i<count($DA['ok']); $i++) {
+ $TeX .= '\item '.$DA['ok'][$i]['nev'].' - {\small '.
+ $OSZTALYABA[$V2L[$DA['ok'][$i]['vegeredmeny']]]. '} '."\n";
+ }
+ $TeX .= '\end{itemize}'."\n";
+ $TeX .= '\vspace{14pt}'."\n\n";
+ }
+
+
+ if (count($DA['nemok'])>0) {
+ if ($vanfelvett) { $TeX .= 'Egyúttal s'; $kieg=' iskolánkba'; }
+ else { $TeX .= 'S'; $kieg = ' gimnáziumunkba';}
+ if (count($DA['nemok'])==1)
+ $TeX .= 'ajnálattal tájékoztatom, hogy a következő tanuló nem nyert felvételt'.$kieg.':'."\n\n";
+ else
+ $TeX .= 'ajnálattal tájékoztatom, hogy a következő tanulók nem nyertek felvételt'.$kieg.':'."\n\n";
+
+ $TeX .= '\vspace{14pt}'."\n\n";
+
+ $TeX .= '\begin{itemize}'."\n";
+ for ($i=0; $i<count($DA['nemok']); $i++) {
+ $TeX .= '\item '.$DA['nemok'][$i]['nev']."\n";
+ }
+ $TeX .= '\end{itemize}'."\n";
+
+ }
+
+ $TeX .= '}'."\n";
+ $TeX .= '\vspace{20pt}'."\n";
+ $TeX .= '\noindent Budapest, '._ERTESITES_DT.' \par%'."\n";
+
+ $TeX .= '\vspace{14pt}'."\n\n";
+ if ($eredmeny > 2 ) $TeX .= '\vspace{14pt}'."\n\n";
+
+ $TeX .= '\begin{flushright}'."\n";
+
+
+$TeX .= '\begin{tabular}{ccc}'."\n";
+$TeX .= '&&\includegraphics[width=30mm]{/var/mayor/www/skin/classic/module-felveteli/img/tasai.png}\\\\ '."\n";
+$TeX .= '&&\rule{4cm}{0.1pt}\\\\ '."\n";
+$TeX .= '&&Dr. Szebedy Tas\\\\ '."\n";
+$TeX .= '&&igazgató\\\\ '."\n";
+$TeX .= '\end{tabular}'."\n";
+
+ $TeX .= '\end{flushright}'."\n";
+
+
+
+ $TeX .= '\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%'."\n\n";
+
+ }
+
+ // dokumentum lezárása
+ $TeX .= '\end{document}'."\n";
+ return pdfLaTeX($TeX, $file);
+
+ }
+
+ function putTeXIgLevelFejlec($ADAT,$iktsz) {
+
+
+ $TeX.= "Intézmény: ".$ADAT['nev']."\n\n";
+ $TeX.= "Cím: ".$ADAT['telepules'].', '.$ADAT['irsz'].' '.$ADAT['cim']."\n\n";
+ $TeX.= "OM kód: ".$ADAT['omkod']."\n\n";
+ $TeX.= "Iktatószám: ".$iktsz."\n\n";
+ $TeX.= "Tárgy: Értesítés felvételi eredményről\n\n";
+
+# $TeX.= '\hrule%'."\n";
+
+# $TeX.= '%'."\n";
+
+# $TeX.= '\vskip2cm\alap';
+
+# $TeX.= '\item{}C.mzett: '.$nev.' .s Sz.lei';
+# $TeX.= '\item{}Postai c.m: '.$cim;
+# $TeX.= '\item{}Iktat.sz.m: '.$IKTSZ[$eredmeny].' ('.$id.')%'."\n";
+# $TeX.= '\vskip0.8cm';
+# $TeX.= '{{Tárgy}: {Értesítés '.$nev.' (';
+# if ($an!="") $TeX.= 'a.n.: '.$an.', ';
+# $TeX.= 'sz.l.: '.str_replace('-','.',$szul_dt).'.) felv.teli eredm.ny.r.l}}';
+
+# $TeX.= '%'."\n";
+
+ return $TeX;
+
+ }
+
+
+
+?>
diff --git a/mayor-orig/mayor-felveteli/www/include/modules/felveteli/szobeli.php b/mayor-orig/mayor-felveteli/www/include/modules/felveteli/szobeli.php
new file mode 100644
index 00000000..f57d3fe5
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/include/modules/felveteli/szobeli.php
@@ -0,0 +1,81 @@
+<?php
+
+ function getIrasbeliEredmeny($nev,$oId) {
+ $lr = @db_connect('felveteli');
+ $q = "SELECT * FROM irasbeli_eredmenyek_"._EV." WHERE nev='%s' AND oId='%s'";
+ $RET = db_query($q,array('modul'=>'felveteli', 'result'=>'indexed','values'=>array($nev,$oId),'debug'=>false),$lr);
+ db_close($lr);
+ return $RET;
+ }
+
+ function getFelvetelizoAdatok($nev,$oktid) {
+ $lr = db_connect('felveteli');
+ $q = "SELECT count(*) AS db FROM adatok_"._EV." WHERE (nev='$nev' or jelige='$nev') AND oktid='$oktid'";
+ $c = db_query($q,array('result'=>'value','modul'=>'felveteli'),$lr);
+ if ($c==1) {
+ $q = "SELECT *,
+ (magyar+matek)*0.8+IF(atlag<3.75,-5,(atlag-4)*20+0) AS hozottpont,
+ IF(matek2>0,(magyar+matek2)*0.8+IF(atlag<3.75,-5,(atlag-4)*20+0),0) AS hozottpont_mat,
+ IF(magyar2>0,(magyar2+matek)*0.8+IF(atlag<3.75,-5,(atlag-4)*20+0),0) AS hozottpont_magy
+ FROM adatok_"._EV." WHERE (nev='$nev' or jelige='$nev') AND oktid='$oktid'";
+ $Rtmp = db_query($q,array('result'=>'indexed','modul'=>'felveteli'),$lr);
+ $R = $Rtmp[0];
+ if ($R['OM'] != '') {
+ $q = "SELECT * FROM iskolak WHERE omkod like '%".$R['OM']."' LIMIT 1";
+ $Rtmp = db_query($q,array('result'=>'indexed'),$lr);
+ $R['iskolaAdat'] = $Rtmp[0];
+ } else {
+ $R['iskolaAdat'] = array();
+ }
+ } else {
+ $_SESSION['alert'][] = 'info:none_or_multiple:'.$c;
+ }
+ if ($lr) db_close($lr);
+ return $R;
+ }
+
+ function getSzobeli($jid, $olr = '') {
+ if (!is_numeric($jid)) return false;
+ if ($olr=='') $lr = db_connect('felveteli'); else $lr=$olr;
+ //$q = "SELECT * FROM szobeli_"._EV." WHERE jid=$jid ORDER BY napdt,ido,tagozat";
+ $q = "SELECT * FROM szobeli_"._EV." WHERE id=$jid ORDER BY napdt,ido,tagozat";
+ // 2012
+// $q = "SELECT * FROM szobeli_"._EV." AS sz LEFT JOIN jelentkezok_tagozatok"._EV." AS jel ON sz.id=jel.id AND sz.tagozat=jel.tid
+// WHERE sz.id=$jid ORDER BY napdt,ido,tagozat";
+ $R = db_query($q,array('result'=>'indexed'),$lr);
+ if ($olr=='') db_close($lr);
+ return $R;
+ }
+
+ function getSzobeliByOktid($oktid, $olr = '') {
+ if (!is_numeric($oktid)) return false;
+ if ($olr=='') $lr = db_connect('felveteli'); else $lr=$olr;
+ $q = "SELECT * FROM szobeli_"._EV." WHERE `oktid`='$oktid' ORDER BY napdt,ido,tagozat";
+ $R = db_query($q,array('result'=>'indexed'),$lr);
+ if ($olr=='') db_close($lr);
+ return $R;
+ }
+
+ function getJelentkezes($jid, $olr = '') {
+ if (!is_numeric($jid)) return false;
+ if ($olr=='') $lr = db_connect('felveteli'); else $lr=$olr;
+ $q = "SELECT * FROM jelentkezok_tagozatok_"._EV." WHERE jid=$jid ORDER BY rangsor";
+ $R = db_query($q,array('result'=>'indexed'),$lr);
+ if ($olr=='') db_close($lr);
+ return $R;
+ }
+
+ function getIdeiglenesRangsor($oktid) {
+
+ if (!is_numeric($oktid)) return false;
+ if ($olr=='') $lr = db_connect('felveteli'); else $lr=$olr;
+ $q = "SELECT tagozat,rangsor,pont,szobeli FROM eredmenyek_tagozatonkent_"._EV." WHERE oktid='$oktid'";
+ $R = db_query($q,array('result'=>'indexed'),$lr);
+ if ($olr=='') db_close($lr);
+ return $R;
+
+ }
+
+
+
+?>
diff --git a/mayor-orig/mayor-felveteli/www/lang/hu_HU/module-felveteli/base.php b/mayor-orig/mayor-felveteli/www/lang/hu_HU/module-felveteli/base.php
new file mode 100644
index 00000000..53631578
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/lang/hu_HU/module-felveteli/base.php
@@ -0,0 +1,35 @@
+<?php
+
+ define('_NEV','Név');
+ define('_OKTID','Oktatási azonosító (11 jegy)');
+ define('_LEKERDEZES','Lekérdezés');
+ define('_LEKERDEZ','Lekérdez');
+
+ define('_ADATOK','Adatok');
+ define('_AN','Édesanyja neve');
+ define('_CIM','Lakcím');
+ define('_ERTESITESI_CIM','Értesítési cím');
+ define('_SZULETETT','Született');
+
+ define('_HIBAS_HIANYOS_ADAT','Hibás, nem pontos vagy hiányos adat!');
+
+ define('_BIZOTTSAG','Bizottság');
+ define('_PLEASE_WAIT','Kérem várjon...');
+ define('_BEHIVOTTAK','Behívottak');
+
+ define('_HIBAS','Hibás!');
+ define('_NINCS_BEHIVVA','Nincs behívva');
+
+ define('_EREDMENY','Eredmények');
+ define('_EVFOLYAM','évfolyam');
+
+ define('_MAGYAR','Magyar');
+ define('_MAGYARPLUSZ','Magyar (tehetséggondozó)');
+ define('_MATEK','Matematika');
+ define('_MATEKPLUSZ','Matematika (tehetséggondozó)');
+
+ define('_ATLAG','Átlag');
+ define('_IRASBELI','Írásbeli');
+
+ define('_PONT','pont');
+?>
diff --git a/mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritek-pre.php b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritek-pre.php
new file mode 100644
index 00000000..809705d7
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritek-pre.php
@@ -0,0 +1,23 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (
+ _USERACCOUNT != 'mayoradmin' && __FELVETELIADMIN !== true
+ ) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/share/print/pdf.php');
+
+ $q = "SELECT * FROM adatok_"._EV." ORDER BY evfolyam,nev";
+ $r = db_query($q, array('modul'=>'felveteli','result'=>'indexed'));
+ $ADAT = $r;
+
+ $file = 'boritekok';
+ if (pdfBoritek($file, $ADAT))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=felveteli/boritek&file='.$file.'.pdf'));
+ else
+ $_SESSION['alert'][] = 'nem sikerült';
+ }
+?>
diff --git a/mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritek.php b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritek.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritek.php
diff --git a/mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritekIgazgato-pre.php b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritekIgazgato-pre.php
new file mode 100644
index 00000000..45a1dcc2
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritekIgazgato-pre.php
@@ -0,0 +1,25 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (
+ _USERACCOUNT != 'mayoradmin' && __FELVETELIADMIN !== true
+ ) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/share/print/pdf.php');
+
+ $q = "select distinct omkod, nev, megye, telepules, cim, irsz
+ from iskolak where omkod in (select distinct OM from adatok_"._EV." where level2 != 'nem kell értesíteni')
+ order by omkod";
+ $r = db_query($q, array('modul'=>'felveteli','result'=>'indexed'));
+ $ADAT = $r;
+
+ $file = 'boritekokIgazgato';
+ if (pdfBoritek($file, $ADAT))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=felveteli/boritekIgazgato&file='.$file.'.pdf'));
+ else
+ $_SESSION['alert'][] = 'nem sikerült';
+ }
+?>
diff --git a/mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritekIgazgato.php b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritekIgazgato.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/boritekIgazgato.php
diff --git a/mayor-orig/mayor-felveteli/www/policy/private/felveteli/kozponti-pre.php b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/kozponti-pre.php
new file mode 100644
index 00000000..58fcf086
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/kozponti-pre.php
@@ -0,0 +1,68 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ $action = readVariable($_POST['action'],'strictstring',array('lekerdezes'));
+ $stamp = mktime();
+
+ if (strtotime(_IRASBELI_PUBLIKALAS_DT)<=$stamp && strtotime(_IRASBELI_PUBLIKALAS_ENDDT)>$stamp)
+ define('_IDOSZAK','irasbeli');
+ elseif (strtotime(_IDEIGLENES_PUBLIKALAS_DT)<=$stamp && strtotime(_IDEIGLENES_PUBLIKALAS_ENDDT)>$stamp)
+ define('_IDOSZAK','ideiglenes');
+ elseif (strtotime(_VEGEREDMENY_PUBLIKALAS_DT)<=$stamp && strtotime(_VEGEREDMENY_PUBLIKALAS_ENDDT)>$stamp)
+ define('_IDOSZAK','vegeredmeny');
+ elseif (strtotime(_SZOBELI_PUBLIKALAS_DT)<=$stamp && strtotime(_SZOBELI_PUBLIKALAS_ENDDT)>$stamp)
+ define('_IDOSZAK','szobeliEredmeny');
+ else
+ define('_IDOSZAK',false);
+
+ if ( _CATEGORY == 'admin' || __FELVETELIADMIN===true ||
+ (strtotime(_IRASBELI_PUBLIKALAS_DT)<=$stamp
+ &&
+ strtotime(_IRASBELI_PUBLIKALAS_ENDDT)>$stamp
+ ) ||
+ (strtotime(_SZOBELI_PUBLIKALAS_DT)<=$stamp
+ &&
+ strtotime(_SZOBELI_PUBLIKALAS_ENDDT)>$stamp
+ ) ||
+ (strtotime(_VEGEREDMENY_PUBLIKALAS_DT)<=$stamp
+ &&
+ strtotime(_VEGEREDMENY_PUBLIKALAS_ENDDT)>$stamp
+ ) ||
+ (strtotime(_IDEIGLENES_PUBLIKALAS_DT)<=$stamp
+ &&
+ strtotime(_IDEIGLENES_PUBLIKALAS_ENDDT)>$stamp
+ )
+ ) {
+ define('_LEKERDEZHETO',true);
+ } else {
+ define('_LEKERDEZHETO',false);
+ }
+
+ if ($action=='lekerdezes' && _LEKERDEZHETO === true) {
+ $nev = readVariable($_POST['nev'],'sql');
+ $oktid = readVariable($_POST['oktid'],'strictstring');
+ $an = readVariable($_POST['an'],'sql');
+ $szuldt = readVariable($_POST['szuldt'], 'date');
+ if (
+ __FELVETELIADMIN==true
+ || ($nev != ''
+ && ($oktid !='' || ($szuldt != '' && $an != ''))
+ )
+ ) {
+ if (_IDOSZAK!='irasbeli') $ADATOK = getFelvetelizoAdatok($nev,$oktid); // ez név nélkül nem ad vissza eredményt - adminnak sem...
+ if (is_array($ADATOK)) {
+ if (_IDOSZAK==='szobeliBeosztas') $SZOBELI = getSzobeli(intval($ADATOK['id']));
+ if (_IDOSZAK==='ideiglenes') $EREDMENY = getIdeiglenesRangsor(intval($ADATOK['oktid']));
+ }
+//2012// if (_IDOSZAK==='szobeliEredmeny') $EREDMENY = getSzobeliEredmeny($ADATOK['id']);
+ if (_IDOSZAK==='szobeliEredmeny') $SZOBELI = getSzobeli($ADATOK['id']);
+ if (_IDOSZAK==='irasbeli') $EREDMENY = getIrasbeliEredmeny($nev,$oktid, $an, $szuldt); // ha nincs oktid, akkor a másik kettő...
+ if (_IDOSZAK==='vegeredmeny' && $ADATOK['oktid']!='') {
+ // token generálás
+ $ADATOK['token'] = updateLevelToken($ADATOK['oktid']);
+ }
+ }
+ }
+
+?>
diff --git a/mayor-orig/mayor-felveteli/www/policy/private/felveteli/kozponti.php b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/kozponti.php
new file mode 100644
index 00000000..5133429e
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/kozponti.php
@@ -0,0 +1,47 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $EREDMENY,$ADATOK,$SZOBELI,$nev,$oktid;
+
+ putEredmenyKereso($nev,$diak,$oktid);
+
+if (_LEKERDEZHETO) {
+ if (_IDOSZAK==='irasbeli' && is_array($EREDMENY[0])) putIrasbeliEredmeny($EREDMENY[0]);
+ elseif(_IDOSZAK==='ideiglenes' && is_array($ADATOK)) {
+ putFelvetelizoAdatok($ADATOK);
+ putIdeiglenesEredmeny($EREDMENY,$ADATOK);
+ }
+ elseif(_IDOSZAK==='vegeredmeny' && is_array($ADATOK)) {
+ putFelvetelizoAdatok($ADATOK);
+ putVegeredmeny($ADATOK);
+ }
+ elseif (_IDOSZAK==='szobeliEredmeny' && is_array($ADATOK)) {
+ putFelvetelizoAdatok($ADATOK);
+ putSzobeliEredmeny($SZOBELI,$ADATOK);
+ }
+
+/*
+ if (is_array($ADATOK)) {
+ putFelvetelizoAdatok($ADATOK);
+ //if ($ADATOK['evfolyam']!='hat')
+ if (_IDOSZAK==='szobeliEredmeny') putSzobeliEredmeny($SZOBELI,$ADATOK);
+ $stamp = time();
+ if ( _IDOSZAK==='vegeredmeny') {
+ putVegeredmeny($ADATOK);
+ } elseif (_IDOSZAK==='ideiglenesEredmeny') {
+
+ }
+ } elseif ($nev!='') {
+ //if (count($EREDMENY)==1 && $nev!='' && (_CATEGORY=='admin' || $oktid!='') ) {
+ // putIrasbeliEredmeny($EREDMENY[0]);
+ //putFelvetelizoAdatok($ADATOK);
+ //putSzobeliEredmeny($EREDMENY,$ADATOK);
+ //} elseif ($nev!='') {
+ // putFelveteliError();
+ //}
+ }
+*/
+
+}
+?>
diff --git a/mayor-orig/mayor-felveteli/www/policy/private/felveteli/level-pre.php b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/level-pre.php
new file mode 100644
index 00000000..abebfde8
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/level-pre.php
@@ -0,0 +1,57 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ require_once('include/share/date/names.php');
+ require_once('include/share/print/pdf.php');
+
+ $token = readVariable($_GET['token'],'strictstring');
+ if (
+ (_USERACCOUNT === 'mayoradmin' || __FELVETELIADMIN === true) && $token==''
+ ) {
+ $q = "SELECT * FROM adatok_"._EV." ORDER BY evfolyam,nev";
+ $r = db_query($q, array('modul'=>'felveteli','result'=>'indexed'));
+ $ADAT['level'] = $r;
+ $file = 'VarosmajoriGimnazium_'._EV.'_teljes';
+ if (pdfLevel($file, $ADAT)) {
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=felveteli/level&file='.$file.'.pdf'));
+ } else {
+ $_SESSION['alert'][] = 'info::Hiba a file-generáláskor!';
+ }
+
+ } else {
+
+ if (strlen($token)==40) {
+
+ $q = "SELECT oktid FROM levelLog_"._EV." WHERE token='%s' AND generalasDt>= NOW() - interval 10 MINUTE";
+ $v = array($token);
+ $oktid = db_query($q, array('modul'=>'felveteli','result'=>'value','values'=>$v,'debug'=>false));
+
+ if ($oktid=='') {
+ $_SESSION['alert'][] = 'info::Ez a token már nem érvényes!';
+ } else {
+ //$q = "SELECT * FROM adatok_"._EV." ORDER BY evfolyam,nev";
+ $q = "SELECT * FROM adatok_"._EV." WHERE oktid='%s'";
+ $v = array($oktid);
+ $r = db_query($q, array('modul'=>'felveteli','result'=>'indexed','values'=>$v));
+ $ADAT['level'] = $r;
+
+ $file = "VarosmajoriGimnazium"._EV.'_'.$oktid.$token;
+ if (pdfLevel($file, $ADAT)) {
+ $q = "UPDATE levelLog_"._EV." SET letoltesDt=NOW() WHERE token='%s'";
+ $v = array($token);
+ db_query($q, array('modul'=>'felveteli','values'=>$v,'debug'=>false));
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=felveteli/level&file='.$file.'.pdf'));
+ exit;
+ } else {
+ $_SESSION['alert'][] = 'info::Hiba a file-generáláskor!';
+ }
+ }
+ } else {
+ $_SESSION['alert'][] = 'info::Nem adtál meg érvényes kulcsot a letöltéshez!';
+ }
+ }
+ // ha eljutottunk idáig, visszairányíthatnánk a lekérdező oldalra
+ //header('Location: '.location('index.php?page=felveteli&f=kozponti'));
+
+?>
diff --git a/mayor-orig/mayor-felveteli/www/policy/private/felveteli/level.php b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/level.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/level.php
diff --git a/mayor-orig/mayor-felveteli/www/policy/private/felveteli/levelIgazgato-pre.php b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/levelIgazgato-pre.php
new file mode 100644
index 00000000..f157dead
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/levelIgazgato-pre.php
@@ -0,0 +1,59 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (
+ _USERACCOUNT != 'mayoradmin' && __FELVETELIADMIN !== true
+ ) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/share/print/pdf.php');
+ require_once('include/share/net/class.smtp.php');
+ require_once('include/share/net/phpmailer.php');
+
+ $ADAT['generatePDF'] = readVariable($_POST['generatePDF'],'id',null);
+ $ADAT['sendMAIL'] = readVariable($_POST['sendMAIL'],'strictstring',null);
+
+ $q = "SELECT * FROM iskolak";
+ $ADAT['iskola'] = db_query($q, array('modul'=>'felveteli','result'=>'assoc','keyfield'=>'omkod'));
+
+ $q = "SELECT distinct OM FROM adatok_"._EV." WHERE level2 != 'nem kell értesíteni' AND OM != '' ORDER BY OM ";
+ $ADAT['OM'] = $R = db_query($q, array('modul'=>'felveteli','result'=>'idonly'));
+ for ($i=0; $i<count($R); $i++) {
+ $ADAT['diak'] = array();
+ $_om = $R[$i]; // iskola OM kódja
+ $q = "SELECT * FROM adatok_"._EV." WHERE level2 != 'nem kell értesíteni' AND OM='%s' ORDER BY OM,nev";
+ $ADAT['diak'] = db_query($q, array('modul'=>'felveteli','result'=>'indexed','values'=>array($_om)));
+ $file = _EV.'_'.$_om;
+ if ($ADAT['generatePDF']==true) pdfLevel($file, $ADAT);
+ if (is_array($ADAT['sendMAIL']) && in_array($_om,$ADAT['sendMAIL'])) {
+ //echo $ADAT['iskola'][$_om]['email'];
+ $mail = new PHPMailer;
+// $mail->isSMTP();
+// $mail->Host = 'smtp.gmail.com';
+// $mail->Port = 587;
+// $mail->SMTPSecure = 'tls';
+// $mail->SMTPAuth = true;
+// $mail->Username = _FELVETELI_SMTP_USERNAME;
+// $mail->Password = _FELVETELI_SMTP_PASSWORD;
+ $mail->setFrom(_FELVETELI_SMTP_USERNAME, 'Városmajori Gimnázium');
+ $mail->addReplyTo('support@vmg.sulinet.hu', 'Városmajori Gimnázium IT Support');
+ $mail->addAddress($ADAT['iskola'][$_om]['email'], 'Igazgató');
+// $mail->addAddress('konczy@gmail.com', 'Igazgató'); //echo $ADAT['iskola'][$_om]['email'];
+ $mail->Subject = 'Értesítés felvételi eredményekről - 2018/2019-es beiskolázás';
+ $mail->msgHTML("A levelet a MaYoR elektronikus napló generálta PDF csatolmány tartalmazza.");
+ $mail->AltBody="A levelet a MaYoR elektronikus napló generálta PDF csatolmány tartalmazza.";
+ $mail->addAttachment(_DOWNLOADDIR."/private/felveteli/levelIgazgato/".$file.'.pdf');
+ if (!$mail->send()) {
+ echo "Mailer Error: " . $mail->ErrorInfo;
+ } else {
+ echo "Message sent! " . $ADAT['iskola'][$_om]['email'];
+ $qr = "UPDATE adatok_"._EV." SET level2='értesítve' WHERE OM='%s'";
+ db_query($qr, array('modul'=>'felveteli','values'=>array($_om)));
+ }
+ }
+ // header('Location: '.location('index.php?page=session&f=download&download=true&dir=felveteli/levelIgazgato&file='.$file.'.pdf'));
+ }
+ }
+?>
diff --git a/mayor-orig/mayor-felveteli/www/policy/private/felveteli/levelIgazgato.php b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/levelIgazgato.php
new file mode 100644
index 00000000..4af4893d
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/levelIgazgato.php
@@ -0,0 +1,28 @@
+<?php
+ global $ADAT;
+
+ putLevelIgazgato($ADAT);
+
+ // phtml
+ function putLevelIgazgato($ADAT) {
+ formBegin();
+ echo '<h1>PDF generálás?</h1>Generáljunk pdf-eket? (Lassan fut!)<input type="checkbox" name="generatePDF" value="1" /><br/>';
+ echo '<h1>Email küldés</h1>';
+ echo '<input type="submit" />';
+ for ($i=0; $i<count($ADAT['OM']); $i++) {
+ $_om = $ADAT['OM'][$i];
+// echo '<input type="checkbox" name="sendMAIL[]" value="'.$_om.'" checked="checked" />';
+ echo $i.". ";
+ echo '<input type="checkbox" name="sendMAIL[]" value="'.$_om.'" />';
+ echo $_om;
+ var_dump($ADAT['iskola'][$_om]['email']);
+ $file= $file = _EV.'_'.$_om;
+ echo '<a href="'.href('index.php?page=session&f=download&download=true&dir=felveteli/levelIgazgato&file='.$file.'.pdf').'">PDF</a>';
+ echo '<br/>';
+ if ($i%5==0) echo '<hr/>';
+ }
+ echo '<input type="submit" />';
+ formEnd();
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/policy/private/felveteli/szobeli-pre.php b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/szobeli-pre.php
new file mode 100644
index 00000000..c8325078
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/szobeli-pre.php
@@ -0,0 +1,38 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ $action = readVariable($_POST['action'],'strictstring',array('lekerdezes'));
+ $stamp = mktime();
+ if ( _CATEGORY == 'admin' || __FELVETELIADMIN===true ||
+ (strtotime(_SZOBELI_PUBLIKALAS_DT)<=$stamp
+ &&
+ strtotime(_SZOBELI_PUBLIKALAS_ENDDT)>$stamp
+ )
+||
+ (strtotime(_IDEIGLENES_PUBLIKALAS_DT)<=$stamp
+ &&
+ strtotime(_IDEIGLENES_PUBLIKALAS_ENDDT)>$stamp
+ )
+ ) {
+ define('_LEKERDEZHETO',true);
+ } else {
+ define('_LEKERDEZHETO',false);
+ }
+
+ if ($action=='lekerdezes' && _LEKERDEZHETO === true) {
+ $nev = readVariable($_POST['nev'],'sql');
+ $oktid = readVariable($_POST['oktid'],'strictstring');
+ if (__FELVETELIADMIN==true || $oktid !='') {
+ $ADATOK = getFelvetelizoAdatok($nev,$oktid);
+ if (is_array($ADATOK)) {
+ $SZOBELI = getSzobeliByOktid(intval($ADATOK['oktid']));
+ $EREDMENY = getIdeiglenesRangsor(intval($ADATOK['oktid']));
+ //$JEL = getJelentkezes(intval($ADATOK['id']));
+ }
+ //$EREDMENY = getSzobeliEredmeny($ADATOK['id']);
+ //$EREDMENY = getIrasbeliEredmeny($nev,$oktid);
+ }
+ }
+
+?>
diff --git a/mayor-orig/mayor-felveteli/www/policy/private/felveteli/szobeli.php b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/szobeli.php
new file mode 100644
index 00000000..49ea8a96
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/policy/private/felveteli/szobeli.php
@@ -0,0 +1,36 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $EREDMENY,$ADATOK,$SZOBELI,$nev,$oktid, $JEL;
+
+
+ putEredmenyKereso($nev,$diak,$oktid);
+
+if (_LEKERDEZHETO) {
+// if (is_array($EREDMENY[0])) putIrasbeliEredmeny($EREDMENY[0]);
+ if (is_array($ADATOK) && (__FELVETELIADMIN===true || $nev!='')) {
+ putFelvetelizoAdatok($ADATOK);
+ //if ($ADATOK['evfolyam']!='hat')
+// putJelentkezes($JEL,$ADATOK);
+// putSzobeliEredmeny($SZOBELI,$ADATOK);
+ putIdeiglenesEredmeny($EREDMENY,$ADATOK,$JEL);
+ $stamp = time();
+ if (
+ strtotime(_VEGEREDMENY_PUBLIKALAS_DT)<=$stamp
+ && strtotime(_VEGEREDMENY_PUBLIKALAS_ENDDT)>$stamp
+ ) {
+ putVegeredmeny($ADATOK);
+ }
+ } elseif ($nev!='') {
+ //if (count($EREDMENY)==1 && $nev!='' && (_CATEGORY=='admin' || $oktid!='') ) {
+ // putIrasbeliEredmeny($EREDMENY[0]);
+ //putFelvetelizoAdatok($ADATOK);
+ //putSzobeliEredmeny($EREDMENY,$ADATOK);
+ //} elseif ($nev!='') {
+ putFelveteliError();
+ //}
+ }
+
+}
+?>
diff --git a/mayor-orig/mayor-felveteli/www/policy/public/felveteli/pontszamito-pre.php b/mayor-orig/mayor-felveteli/www/policy/public/felveteli/pontszamito-pre.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/policy/public/felveteli/pontszamito-pre.php
diff --git a/mayor-orig/mayor-felveteli/www/policy/public/felveteli/pontszamito.php b/mayor-orig/mayor-felveteli/www/policy/public/felveteli/pontszamito.php
new file mode 100644
index 00000000..7175c352
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/policy/public/felveteli/pontszamito.php
@@ -0,0 +1,5 @@
+<?php
+
+ putFelveteliPontszamito();
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/2007N.css b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/2007N.css
new file mode 100644
index 00000000..73acd651
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/2007N.css
@@ -0,0 +1,2 @@
+h4 {margin-left: 2em; }
+p{ margin-left:3em; } \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/eredmenyek.css b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/eredmenyek.css
new file mode 100644
index 00000000..5a0a44e7
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/eredmenyek.css
@@ -0,0 +1,125 @@
+@media screen {
+
+ table.lekerdezes {
+ background-color: #667760; width:300px;
+ margin-top:20px;
+ margin-bottom:20px;
+ }
+ table.lekerdezes thead th { background-color: #eeeee0;
+ padding-top:5px;
+ padding-bottom: 4px;
+ border-style: none none solid none;
+ border-width: 2px;
+ border-color: #aaaaa0;
+ }
+ table.lekerdezes tbody th {
+ color: white;
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: left;
+ }
+ table.lekerdezes tbody input {
+ border: solid 1px #eeeee0;
+ }
+ table.lekerdezes tfoot th {
+ color: #888880;
+ }
+ table.lekerdezes tfoot th input {
+ color: white;
+ background-color: #889980;
+ border: solid 1px #aaaaa0;
+ font-size: smaller;
+ }
+
+ #felvierr { margin-left: auto; margin-right:auto;
+ margin-top:20px; margin-bottom: 50px;
+ width:300px;
+ background-color: #770000;
+ border: solid 1px red;
+ color: white;
+ padding:5px;
+ text-align: center;
+ }
+
+ table.irasbeliEredmeny {
+ margin-top:10px; margin-bottom: 50px;
+ width:300px;
+ background-color:#556670;
+ }
+ table.irasbeliEredmeny thead th { background-color: #eeeee0;
+ padding-top:5px;
+ padding-bottom: 4px;
+ border-style: none none solid none;
+ border-width: 2px;
+ border-color: #aaaaa0;
+ }
+ table.irasbeliEredmeny tbody th {
+ color: white;
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: left;
+ border-style: none none solid none;
+ border-width: 1px;
+ border-color: #aaaaa0;
+
+ }
+ table.irasbeliEredmeny tbody td {
+ color: white;
+ text-align: right;
+ margin-right:10px;
+ border-style: none none solid none;
+ border-width: 1px;
+ border-color: #aaaaa0;
+ }
+ table.irasbeliEredmeny tbody th.nincsbehivva {
+ border-style: none none none solid;
+ border-width:3px;
+ border-color:red;
+ }
+ table.irasbeliEredmeny tbody th.behivva {
+ border-style: none none none solid;
+ border-width:3px;
+ border-color: #33ff00;
+ }
+
+ table.felveteliAdatok {
+ margin-top:10px; margin-bottom: 0px;
+ width:300px;
+ background-color:#556670;
+ }
+ table.felveteliAdatok thead th { background-color: #eeeee0;
+ padding-top:5px;
+ padding-bottom: 4px;
+ border-style: none none solid none;
+ border-width: 2px;
+ border-color: #aaaaa0;
+ }
+ table.felveteliAdatok tbody th {
+ color: white;
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: left;
+ }
+ table.felveteliAdatok tbody td {
+ color: white;
+ text-align: right;
+ margin-right:10px;
+ }
+
+ div#felviWait {
+ padding-top: 5px;
+ padding-bottom: 5px;
+ margin:10px auto;
+ width:300px;
+ border: solid 2px #667780;
+ display: none;
+ }
+ div#felviWait img {
+ vertical-align: baseline;
+ }
+
+}
+@media print {
+ table.irasbeliEredmeny { display: none; }
+ table.lekerdezes { display: none; }
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/felveteli-gyik.css b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/felveteli-gyik.css
new file mode 100644
index 00000000..9e066a03
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/felveteli-gyik.css
@@ -0,0 +1,9 @@
+
+ dl { margin: 20px;}
+ dt { font-style:italic;;}
+ dd { padding: 14px; line-height:1.5; }
+
+ dt span { font-size: x-small; color: #ee0d78; padding-right:4px;}
+ dl dd a { color: #ee0d78; text-decoration: none;}
+ dl dd a:hover { text-decoration: underline;}
+
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/felveteli.css b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/felveteli.css
new file mode 100644
index 00000000..8ce9fbe6
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/felveteli.css
@@ -0,0 +1,60 @@
+@media screen {
+
+div.felveteli h1 { text-align: center; margin:0px;}
+div.felveteli h2 { text-align: center; margin:0px;}
+
+div.felveteli h3 {
+ border-style: none none dotted none;
+ border-width: 1px;
+ border-color: #444444;
+ margin: 20px;
+ }
+div.felveteli p { margin-left: 30px; margin-right:30px; line-height:1.5em; text-align: justify;}
+
+div.felveteli a { color: #06a; font-weight: normál; }
+
+
+div.felveteli div.ft h1 { text-align: left; margin:0px;
+ border-style: none none dotted none;
+ border-width: 1px;
+ border-color: #444444;
+ margin: 30px 30px 0px 30px;
+ font-size: 24px;
+ }
+div.felveteli div.ft h2 { text-align: left; margin:50px 30px 10px 30px; font-size:18px;}
+div.felveteli div.ft h3 { text-align: left; margin:30px 30px 10px 30px; border: none; text-decoration: underline; font-size:14px;}
+
+div.felveteli div.ft table.tagozat { background-color: #eeeeee; }
+div.felveteli div.ft table.tagozat th { text-align: center; }
+div.felveteli div.ft table.tagozat td { background-color: #ffffff; text-align: center; }
+
+
+
+div.felveteli dl { margin: 20px;}
+div.felveteli dt { font-style:italic;}
+div.felveteli dd { padding: 4px; }
+
+div.felveteli dt.old,
+div.felveteli dd.old { color:#777777; display: none;}
+div.felveteli code { padding-left:10px; padding-right:10px; font-style: normal; font-weight: bold;
+ border-style: none none solid none; border-color: orange; border-width: 1px;
+ padding-top:1px;
+ background-color: #00C0FF; color: white;
+ }
+div.felveteli code.hat { background-color: purple; color: orange; }
+div.felveteli code.ot { background-color: green; color: orange; }
+div.felveteli code.negy { background-color: navy; color: orange; }
+div.felveteli code.hatarido { background-color: #ff0066; }
+
+div.felveteli div#tszulok {
+ margin-left:50px;
+ margin-right:50px;
+ }
+div.felveteli div#tszulok p {
+ line-height:1.5em;
+ }
+
+div.felveteli a.gyik { color: #00c0ff;}
+div.felveteli a.gyik:hover { text-decoration: underline;}
+
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/irasbeli.css b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/irasbeli.css
new file mode 100644
index 00000000..52764cb3
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/irasbeli.css
@@ -0,0 +1,84 @@
+@media screen {
+
+ table.lekerdezes {
+ background-color: #667760; width:300px;
+ margin-top:20px;
+ margin-bottom:20px;
+ }
+ table.lekerdezes thead th { background-color: #eeeee0;
+ padding-top:5px;
+ padding-bottom: 4px;
+ border-style: none none solid none;
+ border-width: 2px;
+ border-color: #aaaaa0;
+ }
+ table.lekerdezes tbody th {
+ color: white;
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: left;
+ }
+ table.lekerdezes tbody input {
+ border: solid 1px #eeeee0;
+ }
+ table.lekerdezes tfoot th {
+ color: #888880;
+ }
+ table.lekerdezes tfoot th input {
+ color: white;
+ background-color: #889980;
+ border: solid 1px #aaaaa0;
+ font-size: smaller;
+ }
+
+ #felvierr { margin-left: auto; margin-right:auto;
+ margin-top:20px; margin-bottom: 50px;
+ width:300px;
+ background-color: #770000;
+ border: solid 1px red;
+ color: white;
+ padding:5px;
+ text-align: center;
+ }
+
+ table.irasbeliEredmeny {
+ margin-top:20px; margin-bottom: 50px;
+ width:300px;
+ background-color:#556670;
+ }
+ table.irasbeliEredmeny thead th { background-color: #eeeee0;
+ padding-top:5px;
+ padding-bottom: 4px;
+ border-style: none none solid none;
+ border-width: 2px;
+ border-color: #aaaaa0;
+ }
+ table.irasbeliEredmeny tbody th {
+ color: white;
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: left;
+ }
+ table.irasbeliEredmeny tbody td {
+ color: white;
+ text-align: right;
+ margin-right:10px;
+ }
+
+ div#felviWait {
+ padding-top: 5px;
+ padding-bottom: 5px;
+ margin:10px auto;
+ width:300px;
+ border: solid 2px #667780;
+ display: none;
+ }
+ div#felviWait img {
+ vertical-align: baseline;
+ }
+
+}
+@media print {
+ table.irasbeliEredmeny { display: none; }
+ table.lekerdezes { display: none; }
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/kozponti.css b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/kozponti.css
new file mode 100644
index 00000000..e7fdcbaf
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/kozponti.css
@@ -0,0 +1,144 @@
+@media screen {
+
+ table.lekerdezes {
+ background-color: #667760; width:300px;
+ margin-top:20px;
+ margin-bottom:20px;
+ }
+ table.lekerdezes thead th { background-color: #eeeee0;
+ padding-top:5px;
+ padding-bottom: 4px;
+ border-style: none none solid none;
+ border-width: 2px;
+ border-color: #aaaaa0;
+ }
+ table.lekerdezes tbody th {
+ color: white;
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: left;
+ }
+ table.lekerdezes tbody input {
+ border: solid 1px #eeeee0;
+ }
+ table.lekerdezes tfoot th {
+ color: #888880;
+ }
+ table.lekerdezes tfoot th input {
+ color: white;
+ background-color: #889980;
+ border: solid 1px #aaaaa0;
+ font-size: smaller;
+ }
+
+ #felvierr { margin-left: auto; margin-right:auto;
+ margin-top:20px; margin-bottom: 50px;
+ width:300px;
+ background-color: #770000;
+ border: solid 1px red;
+ color: white;
+ padding:5px;
+ text-align: center;
+ }
+
+ table.irasbeliEredmeny {
+ margin-top:10px; margin-bottom: 50px;
+ width:600px;
+ background-color:#556670;
+ }
+ table.irasbeliEredmeny thead th { background-color: #eeeee0;
+ padding-top:5px;
+ padding-bottom: 4px;
+ border-style: none none solid none;
+ border-width: 2px;
+ border-color: #aaaaa0;
+ }
+ table.irasbeliEredmeny tbody th {
+ color: white;
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: left;
+ border-style: none none solid none;
+ border-width: 1px;
+ border-color: #aaaaa0;
+
+ }
+ table.irasbeliEredmeny tbody td {
+ color: white;
+ text-align: right;
+ margin-right:10px;
+ padding: 8px;
+ border-style: none none solid none;
+ border-width: 1px;
+ border-color: #aaaaa0;
+ }
+ table.irasbeliEredmeny tbody th.nincsbehivva {
+ border-style: none none none solid;
+ border-width:3px;
+ border-color:red;
+ }
+ table.irasbeliEredmeny tbody th.behivva {
+ border-style: none none none solid;
+ border-width:3px;
+ border-color: #33ff00;
+ }
+
+ table.felveteliAdatok {
+ margin-top:10px; margin-bottom: 20px;
+ width:430px;
+ background-color:#556670;
+ }
+ table.felveteliAdatok thead th { background-color: #eeeee0;
+ padding-top:5px;
+ padding-bottom: 4px;
+ border-style: none none solid none;
+ border-width: 2px;
+ border-color: #aaaaa0;
+ }
+ table.felveteliAdatok tfoot th {
+ background-color: #eeeee0;
+ font-size:10px;
+
+ }
+
+ table.felveteliAdatok tbody th {
+ color: white;
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: left;
+ background-color: #667780;
+ }
+ table.felveteliAdatok tbody td {
+ color: white;
+ text-align: left;
+ margin-right:10px;
+ background-color: #667780;
+ }
+ table.felveteliAdatok tbody tr.joslat td { background-color: #807766; }
+ table.felveteliAdatok tbody tr.joslat th { background-color: #807766; }
+
+ table.vegeredmeny tr td {
+ height: 3em;
+ background-color: #223344;
+ text-align: center;
+ font-size:14px;
+ }
+ table.vegeredmeny tr td a { color:white; }
+
+ div#felviWait {
+ padding-top: 5px;
+ padding-bottom: 5px;
+ margin:10px auto;
+ width:300px;
+ border: solid 2px #667780;
+ display: none;
+ }
+ div#felviWait img {
+ vertical-align: baseline;
+ }
+
+}
+@media print {
+ table.irasbeliEredmeny { display: none; }
+ table.lekerdezes { display: none; }
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/szobeli.css b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/szobeli.css
new file mode 100644
index 00000000..df604e33
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/szobeli.css
@@ -0,0 +1,140 @@
+@media screen {
+
+ table.lekerdezes {
+ background-color: #667760; width:300px;
+ margin-top:20px;
+ margin-bottom:20px;
+ }
+ table.lekerdezes thead th { background-color: #eeeee0;
+ padding-top:5px;
+ padding-bottom: 4px;
+ border-style: none none solid none;
+ border-width: 2px;
+ border-color: #aaaaa0;
+ }
+ table.lekerdezes tbody th {
+ color: white;
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: left;
+ }
+ table.lekerdezes tbody input {
+ border: solid 1px #eeeee0;
+ }
+ table.lekerdezes tfoot th {
+ color: #888880;
+ }
+ table.lekerdezes tfoot th input {
+ color: white;
+ background-color: #889980;
+ border: solid 1px #aaaaa0;
+ font-size: smaller;
+ }
+
+ #felvierr { margin-left: auto; margin-right:auto;
+ margin-top:20px; margin-bottom: 50px;
+ width:300px;
+ background-color: #770000;
+ border: solid 1px red;
+ color: white;
+ padding:5px;
+ text-align: center;
+ }
+
+ table.irasbeliEredmeny {
+ margin-top:10px; margin-bottom: 50px;
+ width:300px;
+ background-color:#556670;
+ }
+ table.irasbeliEredmeny thead th { background-color: #eeeee0;
+ padding-top:5px;
+ padding-bottom: 4px;
+ border-style: none none solid none;
+ border-width: 2px;
+ border-color: #aaaaa0;
+ }
+ table.irasbeliEredmeny tbody th {
+ color: white;
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: left;
+ border-style: none none solid none;
+ border-width: 1px;
+ border-color: #aaaaa0;
+
+ }
+ table.irasbeliEredmeny tbody td {
+ color: white;
+ text-align: right;
+ margin-right:10px;
+ border-style: none none solid none;
+ border-width: 1px;
+ border-color: #aaaaa0;
+ }
+ table.irasbeliEredmeny tbody th.nincsbehivva {
+ border-style: none none none solid;
+ border-width:3px;
+ border-color:red;
+ }
+ table.irasbeliEredmeny tbody th.behivva {
+ border-style: none none none solid;
+ border-width:3px;
+ border-color: #33ff00;
+ }
+
+ table.felveteliAdatok {
+ margin-top:10px; margin-bottom: 20px;
+ width:430px;
+ background-color:#556670;
+ }
+ table.felveteliAdatok thead th { background-color: #eeeee0;
+ padding-top:5px;
+ padding-bottom: 4px;
+ border-style: none none solid none;
+ border-width: 2px;
+ border-color: #aaaaa0;
+ }
+ table.felveteliAdatok tfoot th {
+ background-color: #eeeee0;
+ font-size:10px;
+
+ }
+
+ table.felveteliAdatok tbody th {
+ color: white;
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: left;
+ background-color: #667780;
+ }
+ table.felveteliAdatok tbody td {
+ color: white;
+ text-align: left;
+ margin-right:10px;
+ background-color: #667780;
+ }
+
+ table.vegeredmeny tr td {
+ height: 3em;
+ background-color: #223344;
+ text-align: center;
+ }
+
+
+ div#felviWait {
+ padding-top: 5px;
+ padding-bottom: 5px;
+ margin:10px auto;
+ width:300px;
+ border: solid 2px #667780;
+ display: none;
+ }
+ div#felviWait img {
+ vertical-align: baseline;
+ }
+
+}
+@media print {
+ table.irasbeliEredmeny { display: none; }
+ table.lekerdezes { display: none; }
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/tajekoztato/tajekoztato.css b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/tajekoztato/tajekoztato.css
new file mode 100644
index 00000000..10bb4376
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/css/tajekoztato/tajekoztato.css
@@ -0,0 +1,32 @@
+@media screen {
+
+ h1 { text-align: left; margin:0px;
+ border-style: none none dotted none;
+ border-width: 1px;
+ border-color: #444444;
+ margin: 30px 30px 0px 30px;
+ font-size: 24px;
+ }
+ h2 { text-align: left; margin:50px 30px 10px 30px; font-size:18px;}
+ h3 { text-align: left; margin:30px 30px 10px 30px; border: none; text-decoration: underline; font-size:14px;}
+
+ p { margin-left: 30px; margin-right:30px; line-height:1.5em; text-align: justify;}
+
+ ol { margin-left: 50px; }
+ li { padding: 5px; }
+
+ a { color: black }
+
+ table.tagozat { background-color: #eeeeee; }
+ table.tagozat th { text-align: center; }
+ table.tagozat td { background-color: #ffffff; text-align: center; }
+
+}
+@media print {
+ .felveteliNavi { display: none }
+ table.tagozat td { text-align: center; }
+ table.tagozat th { text-align: center; border-top: solid 1px #888888; border-bottom: solid 2px #555555; }
+ table.tagozat td { border: solid 1px #555555; }
+
+ p { line-height:1.5em; text-align: justify;}
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/kozponti.phtml b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/kozponti.phtml
new file mode 100644
index 00000000..b6af78bd
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/kozponti.phtml
@@ -0,0 +1,352 @@
+<?php
+
+
+ function putEredmenyKereso($nev,$diak,$oktid) {
+
+ if (!_LEKERDEZHETO) {
+ echo '<div align="center" style="margin:100px;border: solid 2px #aabbc0; background-color:darkcyan; padding:12px;">
+ A lekérdezés ebben az időszakban nem aktív, kérjük látogasson vissza ';
+ echo 'később!';
+ //echo date('Y. M. d. H:i:s',strtotime(_IRASBELI_PUBLIKALAS_DT));
+ //echo '-kor.';
+ echo '</div>';
+ }
+
+ if (_LEKERDEZHETO===false) $_DIS = 'disabled="disabled" readonly="readonly"';
+// echo '<form id="fform" name="fform" method="post" action="" onsubmit="xt=document.fform.gomb;xt.value=\''._PLEASE_WAIT.'\';xt.disabled=true">'."\n";
+ formBegin(array('id'=>'fform','name'=>'fform','method'=>'post','action'=>'','onsubmit'=>"xt=document.fform.gomb;xt.value=\''._PLEASE_WAIT.'\';xt.disabled=true"));
+ echo '<input type="hidden" name="action" id="action" value="lekerdezes" />';
+ echo '<table align="center" class="lekerdezes">';
+ echo '<thead><tr><th colspan="2">';
+ echo _LEKERDEZES;
+ echo '</th></tr></thead>'."\n";
+ echo '<tfoot>';
+ echo '<tr><th colspan="2">';
+ echo '<input type="submit" id="gomb" value="'._LEKERDEZ.'" '.$_DIS.' />';
+ echo '</th></tr>';
+ echo '<tr><th colspan="2">';
+ //echo _BEHIVOTTAK.': '.date('Y. M. d. H:i:s',strtotime(_BEHIVOTTAK_PUBLIKALAS_DT));
+ echo '</th></tr>';
+ echo '</tfoot>'."\n";
+ echo '<tbody>';
+ echo '<tr>';
+ echo '<th><label for="nev">'._NEV.'</label></th>'."\n";
+ echo '<td>';
+ echo '<input type="text" name="nev" id="nev" value="'.$nev.'" '.$_DIS.' />';
+ echo '</td>'."\n";
+/*
+ echo '</tr><tr>';
+ echo '<th><label for="an">'._AN.'</label></th>'."\n";
+ echo '<td>';
+ echo '<input type="text" name="an" id="an" value="'.$an.'" '.$_DIS.' />';
+ echo '</td>'."\n";
+ echo '</tr><tr>';
+ echo '<th><label for="szuldt">'._SZULETETT.'</label></th>'."\n";
+ echo '<td>';
+ echo '<input type="text" name="szuldt" id="szuldt" value="'.$szuldt.'" '.$_DIS.' />';
+ echo '</td>'."\n";
+*/
+ echo '</tr><tr>';
+ echo '<th><label for="oktid">'._OKTID.'</label></th>'."\n";
+ echo '<td>';
+ echo '<input type="password" name="oktid" size="11" id="oktid" value="' . $oktid .'" '.$_DIS.' />';
+ echo '</td>'."\n";
+
+ echo '</tr>';
+ echo '</tbody>';
+ echo '</table>';
+ // echo '</form>';
+ formEnd();
+ }
+
+ function putFelvetelizoAdatok($DATA) {
+
+ global $JOSLAT;
+
+ echo '<table align="center" class="felveteliAdatok" cellspacing="1" cellpadding="1">';
+ echo '<thead><tr><th colspan="3">'._ADATOK.'</th></tr></thead>'."\n";
+ echo '<tfoot><tr><th colspan="3">';
+ echo date('Y.m.d. H:i:s');
+ echo '</th></tr></tfoot>'."\n";
+ echo '<tbody>';
+
+ echo '<tr>';
+ echo '<th>'._NEV.'</th>'."\n";
+ echo '<td colspan="2">'.$DATA['nev'].'</td>'."\n";
+ echo '</tr>';
+
+
+ echo '<tr>';
+ echo '<th>'._SZULETETT.'</th>'."\n";
+ echo '<td colspan="2">'.$DATA['szuldt'].'</td>'."\n";
+ echo '</tr>';
+
+ echo '<tr>';
+ echo '<th>'._AN.'</th>'."\n";
+ echo '<td colspan="2">'.$DATA['an'].'</td>'."\n";
+ echo '</tr>';
+if ($DATA['lvaros']!='') {
+ echo '<tr>';
+ echo '<th>'._CIM.'</th>'."\n";
+ echo '<td colspan="2">'.$DATA['lirsz'].' '.$DATA['lvaros'].', '.$DATA['lutca'].'</td>'."\n";
+ echo '</tr>';
+}
+if ($DATA['varos']!='') {
+ echo '<tr>';
+ echo '<th>'._ERTESITESI_CIM.'</th>'."\n";
+ echo '<td colspan="2">'.$DATA['irsz'].' '.$DATA['varos'].', '.$DATA['utca'].'</td>'."\n";
+ echo '</tr>';
+}
+ echo '<tr>';
+ echo '<th>Szülő/diák:</th>'."\n";
+ echo '<td colspan="2">'.$DATA['level1'].' levélben</td>'."\n";
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>Iskola OM kódja:</th>'."\n";
+ if (is_array($DATA['iskolaAdat'])) {
+ echo '<td colspan="2">'.$DATA['OM'].'</td>'."\n";
+ } else {
+ echo '<td colspan="2" style="background-color: red; color:white">'.$DATA['OM'].' ('._HIBAS.')</td>'."\n";
+ }
+ echo '</tr>';
+ if (is_array($DATA['iskolaAdat'])) {
+ echo '<tr>';
+ echo '<th>Iskola adatai:</th>'."\n";
+ echo '<td colspan="2">'.$DATA['iskolaAdat']['nev'].', '.$DATA['iskolaAdat']['telepules'].'</td>'."\n";
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>Iskola:</th>'."\n";
+ echo '<td colspan="2">'.$DATA['level2'].' levélben</td>'."\n";
+ echo '</tr>';
+ }
+
+ if ($DATA['jelenleg']!='') {
+ echo '<tr>';
+ echo '<th>Jelenleg:</th>'."\n";
+ echo '<td>'.$DATA['jelenleg'].'</td>'."\n";
+ echo '</tr>';
+ }
+ if ($DATA['joslat']!='' && $DATA['vegeredmeny']=='') {
+ echo '<tr class="joslat" style="background-color:#668899; height:2em;">';
+ echo '<th>Jóslat:</th>'."\n";
+ echo '<td>'.$JOSLAT[$DATA['joslat']].'</td>'."\n";
+ echo '</tr>';
+ }
+
+ if ($DATA['vegeredmeny']!='') {
+ global $VEGEKOD2STR ;
+ $VEGE = $VEGEKOD2STR;
+ echo '<tr style="background-color:#448877; height:2em;">';
+ echo '<th>Végeredmény:</th>'."\n";
+ echo '<td>'.ucfirst($VEGE[$DATA['vegeredmeny']]).'</td>'."\n";
+ echo '</tr>';
+ }
+
+ echo '</tbody>';
+ echo '</table>';
+
+
+
+ }
+
+ function putSzobeliEredmeny($DATA,$DATA2) {
+
+ global $TAGOZATOK;
+ global $TAGOZATOK_SZOBELI_MEGJEGYZES;
+ global $TAGOZATOK_SZOBELI_AJANLAT;
+ $hozottpont = ($DATA2['atlag']-4)*20;
+
+ if ($DATA===false) {
+ echo '<div align="center" id="felvierr">';
+ echo _HIBAS_HIANYOS_ADAT;
+ echo '</div>';
+ } elseif ($DATA == 'multi') {
+ echo '<div align="center" id="felvierr">';
+ echo _MULTI_USER;
+ echo '</div>';
+ } elseif (is_array($DATA)) {
+ echo '<table align="center" class="irasbeliEredmeny">';
+ echo '<thead><tr><th colspan="5">Szóbeli tagozatonként</th></tr></thead>'."\n";
+ echo '<tfoot><tr><th colspan="5">';
+ echo '</th></tr></tfoot>'."\n";
+ echo '<tbody>';
+
+ if (!is_array($DATA) || count($DATA)==0) {
+ echo '<tr>';
+ echo '<td colspan="2">';
+ echo _NINCS_BEHIVVA;
+ echo '</td></tr>';
+ }
+
+ for($i=0; $i<count($DATA); $i++) {
+ $D = $DATA[$i];
+ #if ($D['bizottsag']==0) $_class='nincsbehivva';
+ #else $_class='behivva';
+ echo '<tr>';
+ echo '<th class="'.$_class.'">'.$TAGOZATOK[$D['tagozat']].':</th>'."\n";
+ echo '<td>';
+ echo 'Szóbeli:&nbsp;'.$D['szobeli'].'&nbsp;pont';
+ echo '</td>';
+ echo '<td>';
+ echo 'Összesen:&nbsp;'.$D['pont'].'&nbsp;pont';
+ echo '</td>';
+ echo '<td>';
+ echo $D['rangsor'].'.&nbsp;hely';
+ echo '</td>';
+/*
+ echo '<td>';
+ if ($D['eredmeny']=='') {
+ if ($D['bizottsag']==0 && stristr($D['szoveg'],'Felajánl')===false) {
+ echo $D['szoveg'].', ';
+ echo _NINCS_BEHIVVA;
+ } else {
+
+ if (stristr($D['szoveg'],'Felajánl')!==false) {
+ echo '<p style="text-align: justify; font-style:italic">';
+ //$__tag = substr($D['szoveg'],strpos($D['szoveg'],':')+2);
+ $__tag = 'a';
+ echo str_replace('%1%','<span style="text-decoration:underline">'.$__tag.'</span>',$TAGOZATOK_SZOBELI_AJANLAT);
+ echo '</p>';
+ } else {
+
+ echo $D['bizottsag'].'. '._BIZOTTSAG.'<br/>';
+ echo $D['napdt'].' ('.$D['nap'].') ';
+ echo substr($D['ido'],0,-3);
+
+ if ($TAGOZATOK_SZOBELI_MEGJEGYZES[$D['tagozat']]!='') {
+ echo '<p style="border-top:dotted 1px #ffffff; margin:0px; width:100%; text-align: justify; font-style:italic; font-size:x-small">'.$TAGOZATOK_SZOBELI_MEGJEGYZES[$D['tagozat']].'</p>';
+ }
+ }
+
+ }
+ } else {
+ if ($D['eredmeny']!=0) echo $D['eredmeny'].'. hely';
+ if ($D['tagozat'] == 12) echo ' (egyesített rangsor)';
+
+ if (intval($D['pont'])>0) echo '; '.$D['pont'].'%';
+ if (intval($D['szobeli'])>0) {
+ if (in_array($D['tagozat'],Array(4,5,6))) {
+ //$D['szobeli'] = number_format((($D['szobeli'])*2/3),2);
+ //$D['szobeli'] = number_format((($D['szobeli'])*2/3),2);
+ $max=20;
+ } elseif (in_array($D['tagozat'],Array(0,1,2))) {
+ $max=30;
+ } else {
+ $max=40;
+ }
+// echo '<br />Szóbeli: '.$D['szobeli'].'/'.$max.' pont';
+ echo '<br />A szóbeli bizottság pontszáma: '.$D['szobeli'].' pont';
+ }
+
+ }
+ echo '</td>'."\n";
+*/
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ echo '</table>';
+ } else { }
+
+ }
+
+
+
+ function putFelveteliError() {
+ echo '<div align="center" id="felvierr">';
+ echo _HIBAS_HIANYOS_ADAT;
+ echo '</div>';
+ }
+
+ // ** 2009
+ function putIrasbeliEredmeny($DATA) {
+
+ echo '<table align="center" class="felveteliAdatok">';
+ echo '<thead><tr><th colspan="3">'._EREDMENY.' ('._EVFOLYAM.': '.$DATA['evfolyam'].')</th></tr></thead>'."\n";
+ echo '<tfoot><tr><th colspan="3">';
+ echo date('Y.m.d. H:i:s');
+ echo '</th></tr></tfoot>'."\n";
+ echo '<tbody>';
+
+ echo '<tr>';
+ echo '<th>'._MAGYAR.'</th>'."\n";
+ echo '<td>'.$DATA['flap1'].'</td>'."\n";
+ echo '<td>'.$DATA['magyar'].' '._PONT.'</td>'."\n";
+ echo '</tr>';
+
+ echo '<tr>';
+ echo '<th>'._MATEK.'</th>'."\n";
+ echo '<td>'.$DATA['flap2'].'</td>'."\n";
+ echo '<td>'.$DATA['matek'].' '._PONT.'</td>'."\n";
+ echo '</tr>';
+ if ($DATA['magyar2']>0) {
+ echo '<tr>';
+ echo '<th>'._MAGYARPLUSZ.'</th>'."\n";
+ echo '<td>'.'</td>'."\n";
+ echo '<td>'.$DATA['magyar2'].' '._PONT.'</td>'."\n";
+ echo '</tr>';
+ }
+ if ($DATA['matek2']>0) {
+ echo '<tr>';
+ echo '<th>'._MATEKPLUSZ.'</th>'."\n";
+ echo '<td>'.'</td>'."\n";
+ echo '<td>'.$DATA['matek2'].' '._PONT.'</td>'."\n";
+ echo '</tr>';
+ }
+ echo '</tbody></table>';
+ }
+
+ function putIdeiglenesEredmeny($DATA,$DATA2) {
+ global $TAGOZATOK,$JOSLAT;
+
+ echo '<table align="center" class="felveteliAdatok">';
+ echo '<thead><tr><th colspan="3">'._EREDMENY.'</th></tr></thead>'."\n";
+ if ($DATA2['joslat']!='') {
+ echo '<tfoot><tr><th>Jóslat:</th><th colspan="2">';
+ echo $JOSLAT[$DATA2['joslat']];
+ echo '</th></tr></tfoot>'."\n";
+ }
+ echo '<tbody>';
+ for ($i=0; $i<count($DATA); $i++) {
+
+ echo '<tr>';
+ echo '<th>'.$TAGOZATOK[$DATA[$i]['tagozat']].'</th>'."\n";
+ if ($DATA[$i]['rangsor']<500) {
+ echo '<td>'.($DATA[$i]['rangsor']>150?'>150':$DATA[$i]['rangsor']).'. hely</td>'."\n";
+ echo '<td>';
+ if ($DATA[$i]['pont'] > 0) echo $DATA[$i]['pont'].' pont (';
+ if ($DATA[$i]['szobeli']>0)
+ echo 'szóbeli: '.$DATA[$i]['szobeli'].' pont';
+ else
+ echo 'nem szóbelizett';
+ if ($DATA[$i]['pont'] > 0) echo ')';
+ echo '</td>'."\n";
+
+ } else {
+ echo '<td>nem tudjuk felvenni</td>'."\n";
+ }
+ echo '</tr>';
+
+ }
+
+ echo '</tbody></table>';
+ }
+
+ function putVegeredmeny($DATA) {
+ global $VEGEREDMENY;
+
+ echo '<table align="center" class="felveteliAdatok vegeredmeny">';
+ echo '<thead><tr><th>'._EREDMENY.'</th></tr></thead>'."\n";
+ echo '<tfoot><tr><th>'.date('Y.m.d. H:i:s').'</th></tr></thead>'."\n";
+ echo '<tbody>';
+ echo '<tr>';
+ echo '<td>'.$VEGEREDMENY[$DATA['vegeredmeny']].'</td>'."\n";
+ echo '</tr>';
+ echo '<tr><td id="download">';
+ echo '<span class="icon-download-alt"></span> ';
+ echo '<a href="'.href('index.php?page=felveteli&sub=&f=level&token='.$DATA['token']).'">Hivatalos értesítő letöltése</a> (.pdf)';
+ echo '</td></tr>';
+ echo '</tbody></table>';
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/level.phtml b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/level.phtml
new file mode 100644
index 00000000..57457ff4
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/level.phtml
@@ -0,0 +1,512 @@
+<?php
+ ## /texmf/fonts/tfm/jknappen/ec
+ function putTeXLapdobas() {
+ $return ='\\vfil\\eject';
+ return $return;
+ }
+ function TeX2($szoveg) {
+ /*o3=u3=O3=U3=*/
+ $trans = array(
+ '' => "",'' => "",
+ '' => "",'' => "");
+ return strtr($szoveg,$trans);
+ }
+
+
+ function putTeXTESZT() {
+ $return = '\font\kiskapitalis=eccc1000\nopagenumbers'."\n";
+ $return = '\font\jegy=ecrm0500';
+ $return .= '\font\monot=ectt0600'."\n"; ##bx cc rm ss sx ti tt
+ $return .= '\hsize=21truecm\vsize=29.7truecm'."\n"; ## default 6.5 x 8.5in
+ $return .= '\hoffset=-2.54cm\voffset=-1in%'."\n"; ## default 1in, 2.54cm
+ $return .= '\pretolerance=10000%'."\n";
+ $return .= '\parindent=0pt\headline{}\footline{}%'."\n";
+
+ $T = Array(1,2,3,4,5,'2/3','3/4','4/5');
+ $return .= '\halign{';
+
+ $return .= '\hbox to 4cm{#}&\hbox to 1.5cm{#}&#&#&#&#&#&#&#&#&#&#&#&#\cr%'."\n";
+ for($j=1; $j<30; $j++) {
+ $return .= $j.'szmtstechnika\ &';
+ for ($i=1; $i<=10; $i++) {
+ $return .= '\vbox{';
+ for ($k=1; $k<=3; $k++) {
+ $dex = rand(0,7);
+ $return .= '\hbox{\jegy\hfil\ ';
+ $return .= $T[$dex].' ';
+ $dex = rand(0,7);
+ $return .= $T[$dex].' ';
+ $dex = rand(0,7);
+ $return .= $T[$dex];
+ $return .= '\ \hfil}\hrule height0pt';
+ }
+ $return .= '\hrule}';
+ $return .= '\vrule&';
+ }
+ $return .= '\cr';
+ }
+ $return .= '}%'."\n";
+ $return .= 'HELLO --- ...';
+ return $return;
+ }
+
+ function putTeXEtikett($ADATOK) {
+ $return = '\font\kiskapitalis=eccc1000\nopagenumbers'."\n";
+ $return .= '\font\monot=ectt0800'."\n"; ##bx cc rm ss sx ti tt
+ $return .= '\hsize=21truecm\vsize=29.7truecm'."\n"; ## default 6.5 x 8.5in
+ $return .= '\hoffset=-2.54truecm\voffset=-3.4truecm%'."\n"; ## default 1in, 2.54cm
+ $return .= '\pretolerance=10000%'."\n";
+ $return .= '\parindent=0pt\headline{}\footline{}%'."\n";
+
+ for ($j=0; $j<ceil(count($ADATOK) / 16); $j++) {
+ $return .= '\halign{\hbox to 105mm{#}&\hbox to 105mm{#}\cr%'."\n";
+ $return .= '\noalign{\hrule}%'."\n";
+ for($i=0;$i<16;$i++) {
+ $index = $j*16 + $i;
+ $return .= '\vbox to 37mm{\vfill';
+ $return .= '\hbox to 105mm{{\monot\ \ '.$ADATOK[$index]['OM'].'-'.$ADATOK[$index]['id'].'}}';
+ $return .= '\hbox to 105mm{\hfill{\bf '.$ADATOK[$index]['nev'];
+ if ($ADATOK[$index]['nev']!='') $return .= ' s Szlei'.'}\hfill}';
+ else $return .= '}\hfill}';
+ $return .= '\vskip3mm';
+ #$return .= '\hbox to 85mm{\hbox to 10mm{}{\monot'.$ADATOK[$index]['OM'].'}\hfill{'.$ADATOK[$index]['varos'].'}}';
+ $return .= '\hbox to 85mm{\hfill{'.$ADATOK[$index]['varos'] .'}}';
+ $return .= '\hbox to 85mm{\hfill{'.$ADATOK[$index]['utca'] .'}}';
+ $return .= '\hbox to 85mm{\hfill{'.$ADATOK[$index]['irsz'] .'}}';
+ #$return .= '\vskip4mm';
+ $return .= '\vfill}';
+ if ($i%2==1) $return .= '\cr%'."\n" . '\noalign{\hrule height0pt}%'."\n";
+ else $return .= '&';
+ }
+ $return .= '}';
+ $return .= '\vfill\eject%'."\n"; ## ezt kell kiszedni hogy ne legyen lapdobs
+ }
+
+ return $return;
+ }
+ function putTeXEtikettIG($ADATOK) {
+ $return = '\font\kiskapitalis=eccc1000\nopagenumbers'."\n";
+ $return .= '\font\monot=ectt0800'."\n"; ##bx cc rm ss sx ti tt
+ $return .= '\hsize=21truecm\vsize=29.7truecm'."\n"; ## default 6.5 x 8.5in
+ $return .= '\hoffset=-2.54truecm\voffset=-3.4truecm%'."\n"; ## default 1in, 2.54cm
+ $return .= '\pretolerance=10000%'."\n";
+ $return .= '\parindent=0pt\headline{}\footline{}%'."\n";
+
+ for ($j=0; $j<ceil(count($ADATOK) / 16); $j++) {
+ $return .= '\halign{\hbox to 105mm{#}&\hbox to 105mm{#}\cr%'."\n";
+ $return .= '\noalign{\hrule}%'."\n";
+ for($i=0;$i<16;$i++) {
+ $index = $j*16 + $i;
+ $return .= '\vbox to 37mm{\vfill';
+ ###$return .= '\hbox to 105mm{{\monot\ \ '.$ADATOK[$index]['OM'].' '.$ADATOK[$index]['id'].'}}';
+ ###$return .= '\hbox to 105mm{\hfill{\bf '.$ADATOK[$index]['nev'];
+ ###if ($ADATOK[$index]['nev']!='') $return .= ' s Szlei'.'}\hfill}';
+ $return .= '\hbox to 105mm{\hbox to 10mm{}\vbox{\hsize=85mm\noindent{{\bf ';
+ if (substr($ADATOK[$index]['nev'],-2)=='ja') $return .= substr($ADATOK[$index]['nev'],0,-2).'jnak';
+ elseif (substr($ADATOK[$index]['nev'],-2)=='ma') $return .= substr($ADATOK[$index]['nev'],0,-2).'mnak';
+ else $return .= $ADATOK[$index]['nev'];
+ if ($ADATOK[$index]['nev']!='') $return .= ' Igazgatja'.'}}}}';
+ else $return .= '}}}}';
+ $return .= '\vskip3mm';
+ $return .= '\hbox to 85mm{\hbox to 10mm{}{\monot'.$ADATOK[$index]['OM'].'}\hfill{'.$ADATOK[$index]['varos'].'}}';
+ $return .= '\hbox to 85mm{\hfill{'.$ADATOK[$index]['utca'] .'}}';
+ $return .= '\hbox to 85mm{\hfill{'.$ADATOK[$index]['irsz'] .'}}';
+ #$return .= '\vskip4mm';
+ $return .= '\vfill}';
+ if ($i%2==1) $return .= '\cr%'."\n" . '\noalign{\hrule height0pt}%'."\n";
+ else $return .= '&';
+ }
+ $return .= '}';
+ $return .= '\vfill\eject%'."\n"; ## ezt kell kiszedni hogy ne legyen lapdobs
+ }
+
+ return $return;
+ }
+
+
+ function putTeXLevel($ADATOK) {
+
+ $return = '\font\kover=ecbx1200\font\alap=ecrm1200\font\kisebb=ecrm1000\font\kiskapitalis=eccc1200\nopagenumbers%'."\n";
+ ####$return .= '\font\kover=ectt1000%'."\n"; ##bx cc rm ss sx ti tt
+ $return .= '\hsize=6.5in\vsize=29.7truecm%'."\n"; ## default 6.5 x 8.5in
+ $return .= '\hoffset=-0in\voffset=-0.6in%'."\n";
+ $return .= '\pretolerance=10000'."\n";
+ $return .= '\parindent=0pt'."\n";
+ $return .= '\input epsf%'."\n";
+# $return .= '\def\vmglogo{\epsfxsize=150pt\epsffile{/var/www-ssl-devel/img/ps/iskola.eps}}%'."\n";
+ $return .= '\def\tasai{\epsfxsize=100pt\epsffile{/var/www-ssl-devel/img/ps/tasaismall.eps}}%'."\n";
+
+ for($i=0;$i<count($ADATOK);$i++) {
+ $cim_str = $ADATOK[$i]['varos'].' '.$ADATOK[$i]['irsz'].', '.$ADATOK[$i]['utca'];
+ $return .= putTeXLevelFejlec($ADATOK[$i]['nev'], $ADATOK[$i]['an'], $ADATOK[$i]['szuldt'],$cim_str, $ADATOK[$i]['eredmeny'],$ADATOK[$i]['id']);
+ $return .= putTeXLevelTorzs($ADATOK[$i]['nev'],$ADATOK[$i]['eredmeny'],$ADATOK[$i]['tagozatId']);
+ $return .= putTexLapdobas();
+ }
+ return $return;
+ }
+
+
+ function putTeXIGlevel($ADATOK,$TANULOK) {
+
+ $return = '\font\kover=ecbx1200\font\alap=ecrm1200\font\kisebb=ecrm1000\font\kiskapitalis=eccc1200\nopagenumbers%'."\n";
+ ####$return .= '\font\kover=ectt1000%'."\n"; ##bx cc rm ss sx ti tt
+ $return .= '\hsize=6.5in\vsize=29.7truecm%'."\n"; ## default 6.5 x 8.5in
+ $return .= '\hoffset=0in\voffset=-0.6in%'."\n";
+ $return .= '\pretolerance=10000'."\n";
+ $return .= '\parindent=0pt'."\n";
+ $return .= '\input epsf%'."\n";
+ $return .= '\def\tasai{\epsfxsize=100pt\epsffile{/var/www-ssl-devel/img/ps/tasaismall.eps}}%'."\n";
+
+ for($i=0;$i<count($ADATOK);$i++) {
+ $cim_str = $ADATOK[$i]['varos'].' '.$ADATOK[$i]['irsz'].', '.$ADATOK[$i]['utca'];
+ $db = $TANULOK[$ADATOK[$i]['OM']][0]['count']+$TANULOK[$ADATOK[$i]['OM']][1]['count'];
+if ($db == 0) {
+ echo 'Hiba: '.$ADATOK[$i]['OM'].'<hr>';
+ flush();
+ continue;
+}
+echo $ADATOK[$i]['OM'].'<hr>'; flush();
+ $return .= putTeXIGLevelFejlec($ADATOK[$i]['nev'],$cim_str,$ADATOK[$i]['OM'],$db);
+ $return .= putTeXIGLevelTorzs($TANULOK[$ADATOK[$i]['OM']],$db);
+ $return .= putTexLapdobas();
+ }
+ return $return;
+
+
+ }
+
+ function putTeXIGLevelFejlec($nev,$cim,$iskola_kod,$db) {
+
+ global $IKTSZ;
+
+ $return .= '\centerline{\epsfxsize=150pt\epsffile{/var/www-ssl-devel/img/ps/iskola.eps}}%'."\n";
+# $return .= '\centerline{\vmglogo}}%'."\n";
+
+ $return .= '\centerline{\kiskapitalis Vrosmajori Gimnzium Budapest 1122, Vrosmajor u. 71.}%'."\n";
+ $return .= '\centerline{\kisebb Tel.: 214-1554, Fax: 214-1479, http://www.vmg.sulinet.hu/ e-mail: titkarsag@vmg.sulinet.hu}%'."\n";
+ $return .= '\hrule%'."\n";
+
+ $return .= '%'."\n";
+
+ if ($db>10) $return .= '\vskip0.8cm';
+ else $return .= '\vskip2cm';
+ $return .= '\alap';
+
+ $return .= '\item{}Cmzett: '.$nev.' Igazgatja';
+ $return .= '\item{}Postai cm: '.$cim;
+ $return .= '\item{}Iktatszm: '.$IKTSZ['igazgati'].' ('.$iskola_kod.')%'."\n";
+ $return .= '\vskip0.8cm';
+ $return .= '{{\kover Trgy}: {\sl rtests '.$db.' tanul felvteli eredmnyrl}}';
+
+ $return .= '%'."\n";
+
+ return $return;
+
+ }
+
+ function putTeXIGLevelTorzs($TANULOK,$db) {
+
+ global $OSZTALY;
+
+ if ($TANULOK[1]['count']>0) {
+ $ok=true;
+ if ($TANULOK[1]['count']>1) {$ok_str='k nyertek';} else {$ok_str=' nyert';}
+ } else { $ok= false; }
+ if ($TANULOK[0]['count']>0) {
+ $nem=true;
+ if ($TANULOK[0]['count']>1) {$nem_str='k nem nyertek';} else {$nem_str=' nem nyert';}
+ } else { $nem= false; }
+
+ if ($db>10) { $return = '\vskip0cm';
+ $return .= '{\parskip=20pt%'."\n";
+ } else {
+ $return = '\vskip1cm';
+ $return .= '{\parskip=30pt%'."\n";
+ }
+ $return .= '\baselineskip=16pt%'."\n";
+
+ $return .= '\par '.'Kedves Igazgat Kollga!\par%'."\n";
+
+ if ($ok) {
+ $return .= 'rtestem, hogy az nk iskoljbl az albbi tanul'.$ok_str.' felvtelt gimnziumunkba:\par%'."\n";
+
+ ########## Felvettek:
+ $return .= '\vskip0.5cm';
+ $return .= '\halign{\hbox to 2cm{\hfill#}&{\kisebb\ #\hfil}&{\ #\hfill}&{\ #\hfill}\cr';
+ for($i=0; $i<$TANULOK[1]['count']; $i++) {
+ $return .= '&';
+ $return .= $TANULOK[1][$i]['nev'].'&';
+ $return .= '{\tt ('.str_replace('-','.',$TANULOK[1][$i]['szul']).'.)}&';
+ $return .= '{\sl '.$OSZTALY[$TANULOK[1][$i]['tagozatId']].'}';
+ $return .= '\cr%'."\n";
+ }
+ $return .= '}';
+
+ ### Ennl bonyolultabban mr nehezen lehettett volna csinlni...
+ if ($nem) $return .= 'Egyttal s';
+ } elseif ($nem) {
+ $return .= 'S';
+ }
+
+ if ($nem) {
+ $return .= 'ajnlattal tjkoztatom, hogy az albbi tanul'.$nem_str.' felvtelt:\par%'."\n";
+ ########### Fel nem vettek:
+ $return .= '\vskip0.5cm';
+ $return .= '\halign{\hbox to 2cm{\hfill#}&{\kisebb\ #\hfil}&{\ #\hfill}\cr';
+ for($i=0; $i<$TANULOK[0]['count']; $i++) {
+ $return .= '&';
+ $return .= $TANULOK[0][$i]['nev'].'&';
+ $return .= '({\tt '.str_replace('-','.',$TANULOK[0][$i]['szul']).'.})';
+ $return .= '\cr%'."\n";
+ }
+ $return .= '}';
+
+ ##------------------------
+ }
+
+ $return .= 'Budapest, '._ERTESITES_DT.'}\par%'."\n";
+
+ if ($db>10) $return .= '\vskip0.8cm';
+ else $return .= '\vskip1.5cm';
+ $return .= '\vbox{\hfill\hbox{\vbox{';
+ $return .= '\halign to 4cm{\hbox to 4cm{\hfil#\hfil}\cr';
+ $return .= '\noalign{\hrule}\cr Szebedy Tas\cr{\kisebb\sl igazgat}\cr';
+ #BP# $return .= '\noalign{\hrule}\cr Brnkopf Pter\cr{\kisebb\sl igazgathelyettes}\cr';
+ $return .= '}';
+ $return .= '}\hbox to 2cm{}}}';
+
+ $return .= '%'."\n";
+
+ return $return;
+
+ }
+
+ function putTeXLevelFejlec($nev,$an,$szul_dt,$cim,$eredmeny,$id) {
+
+ // config-bl
+ global $IKTSZ;
+
+ $return .= '\centerline{\epsfxsize=150pt\epsffile{/var/www-ssl-devel/img/ps/iskola.eps}}%'."\n";
+# $return .= '\centerline{\vmglogo}}%'."\n";
+
+ $return .= '\centerline{\kiskapitalis Vrosmajori Gimnzium Budapest 1122, Vrosmajor u. 71.}%'."\n";
+ $return .= '\centerline{\kisebb Tel.: 214-1554, Fax: 214-1479, http://www.vmg.sulinet.hu/ e-mail: titkarsag@vmg.sulinet.hu}%'."\n";
+ $return .= '\hrule%'."\n";
+
+ $return .= '%'."\n";
+
+ $return .= '\vskip2cm\alap';
+
+ $return .= '\item{}Cmzett: '.$nev.' s Szlei';
+ $return .= '\item{}Postai cm: '.$cim;
+ $return .= '\item{}Iktatszm: '.$IKTSZ[$eredmeny].' ('.$id.')%'."\n";
+ $return .= '\vskip0.8cm';
+ $return .= '{{\kover Trgy}: {\sl rtests '.$nev.' (';
+ if ($an!="") $return .= 'a.n.: '.$an.', ';
+ $return .= 'szl.: '.str_replace('-','.',$szul_dt).'.) felvteli eredmnyrl}}';
+
+ $return .= '%'."\n";
+
+ return $return;
+
+ }
+
+
+ function putTeXLevelTorzs($nev,$eredmeny,$tagozatId) {
+
+ global $OSZTALYABA;
+
+ list($veznev,$kernev,$kernev2) = explode(' ',$nev);
+
+ $return = '\vskip1cm';
+ $return .= '{\parskip=30pt%'."\n";
+ $return .= '\baselineskip=16pt%'."\n";
+
+
+ $return .= '\par '.'Kedves Kisdik! Tisztelt Szl!\par%'."\n";
+
+ if ($eredmeny>=3) {
+ $return .= '%
+
+\par rmmel rtestem, hogy '.$nev.' tanul az ltalnos iskolai eredmnye s a felvteli vizsgn mutatott teljestmnye alapjn (az OKV ltal megkldtt vgleges listk szerint)
+\par \hfil {felvtelt nyert}\hfill%
+\par a Vrosmajori Gimnzium {\kover '.$OSZTALYABA[$tagozatId].'}.
+\par Tjkoztatom, hogy az els szli rtekezlet '._SZULOI_ERTEKEZLET_IDOPONBAN.' lesz, amelyre ezton hvom meg a Szlket.
+\par Hogy a csald szmra a nyri programtervezst megknnytsk, elre jelezzk, hogy a glyatbor vrhat idpontja '._GOLYATABOR_IDOPONT.' lesz.
+\par Remlem, az iskolnkban eltlttt vek hasznosak s eredmnyesek lesznek.\par%'."\n";
+
+ } elseif ($eredmeny==2) {
+
+ $return .= 'Sajnlattal vettk tudomsul, hogy '.$kernev.' msik iskolt vlasztott, ezrt nem vehettk fel %
+a Vrosmajori Gimnziumba.\par%'."\n";
+ $return .= 'Remlem, hogy a vlasztsa j dntsnek fog bizonyulni. Sikeres tanulmnyi veket s minden jt kvnok! \par%'."\n";
+
+ } elseif ($eredmeny==1) {
+
+ $return .= 'Sajnlattal rtestem, hogy '.$nev.' tanul a felvteli vizsgn megfelelt, de helyhiny miatt nem nyert felvtelt gimnziumunkba.\par%'."\n";
+ $return .= 'A Szl e dnts ellen jogorvoslati lehetsggel (a kzhezvteltl szmtott 15 napon bell) akkor lhet, ha az utols helyen megjellt iskola elutast rtestse megrkezett. Jogorvoslati krelmt az ltalnos iskola igazgatjnak kell benyjtani. Felhvom figyelmt arra, hogy ebben az esetben clszer elhelyezsi krelmet benyjtani a Fvrosi nkormnyzat Oktatsi gyosztlyn a Beiskolzsi Irodban. (Budapest, V. Vroshz u. 9-11.)\par%'."\n";
+
+ } elseif ($eredmeny==0) {
+
+ $return .= 'Sajnlattal rtestem, hogy '.$nev.' tanul az ltalnos iskolai eredmnye s a felvteli vizsgn mutatott teljestmnye alapjn (az OKV ltal megkldtt vgleges listk szerint) nem nyert felvtelt gimnziumunkba.\par%'."\n";
+ $return .= 'A Szl e dnts ellen jogorvoslati lehetsggel (a kzhezvteltl szmtott 15 napon bell) akkor lhet, ha az utols helyen megjellt iskola elutast rtestse megrkezett. Jogorvoslati krelmt az ltalnos iskola igazgatjnak kell benyjtani. Felhvom figyelmt arra, hogy ebben az esetben clszer elhelyezsi krelmet benyjtani a Fvrosi nkormnyzat Oktatsi gyosztlyn a Beiskolzsi Irodban. (Budapest, V. Vroshz u. 9-11.)\par%'."\n";
+
+ } else {
+
+ }
+
+ $return .= 'Budapest, '._ERTESITES_DT.'}\par%'."\n";
+
+ $return .= '\vskip1.5cm\vbox{\hfill\hbox{\vbox{';
+ $return .= '\halign to 4cm{\hbox to 4cm{\hfil#\hfil}\cr';
+ if ($eredmeny<3) {
+ $return .= '\tasai\cr';
+ $return .= '\noalign{\hrule}\cr Szebedy Tas\cr{\kisebb\sl igazgat}\cr';
+ } else {
+ ###$return .= '\noalign{\hrule}\cr Brnkopf Pter\cr{\kisebb\sl igazgathelyettes}\cr';
+ $return .= '\noalign{\hrule}\cr Szebedy Tas\cr{\kisebb\sl igazgat}\cr';
+ }
+ $return .= '}';
+ $return .= '}\hbox to 2cm{}}}';
+
+ $return .= '%'."\n";
+
+ return $return;
+ }
+
+
+
+
+
+
+
+
+
+ function putTeXIGiktatas($ADATOK,$TANULOK) {
+
+ $return = '\font\kover=ecbx1200\font\alap=ecrm1200\font\kisebb=ecrm1000\font\kiskapitalis=eccc1200\nopagenumbers%'."\n";
+ ####$return .= '\font\kover=ectt1000%'."\n"; ##bx cc rm ss sx ti tt
+ $return .= '\hsize=6.5in\vsize=29.0truecm%'."\n"; ## default 6.5 x 8.5in
+ $return .= '\hoffset=-0.8in\voffset=-0.8in%'."\n"; ## -0.6
+ $return .= '\pretolerance=10000'."\n";
+ $return .= '\parindent=0pt'."\n";
+ $return .= '\input epsf%'."\n";
+
+ $return .= '\kover{Igazgati levelek '._FELVETELI_EVE.'.}\bigskip'."\n";
+
+ $return .= '\kisebb\halign{{#\ }&#\ \hfil&#\hfil&#\hfil\cr%'."\n";
+ $return .= '\kover OM-kd&\kover Megnevezs&\kover Cm&\cr%'."\n";
+
+ for($i=0;$i<count($ADATOK);$i++) {
+ $cim_str = $ADATOK[$i]['varos'].' '.$ADATOK[$i]['irsz'].', '.$ADATOK[$i]['utca'];
+ $db = $TANULOK[$ADATOK[$i]['OM']][0]['count']+$TANULOK[$ADATOK[$i]['OM']][1]['count'];
+
+ #$return .= putTeXIGLevelFejlec($ADATOK[$i]['nev'],$cim_str,$ADATOK[$i]['OM'],$db);
+ $return .= $ADATOK[$i]['OM'];
+ $return .='&';
+ $return .= substr($ADATOK[$i]['nev'],0,50);
+ $return .='&';
+ $return .= $cim_str;
+ $return .='&';
+ $return .='\cr%'."\n";
+ }
+ $return .='}';
+
+ return $return;
+
+
+ }
+
+
+
+ function putTeXiktatas($ADATOK) {
+
+ $KODOK = Array(11=>'+A+angol',
+ 12=>'+B+nmet',
+ 3=>'+C+nek-zene',
+ 4=>'+C+magyar',
+ 5=>'+D+matematika',
+ 6=>'+D+szt/bio',
+ 0=>'-NEM',
+ 1=>'-HH-NEM',
+ 2=>'*ms'
+ );
+
+ $return = '\font\kover=ecbx1200\font\alap=ecrm1200\font\kisebb=ecrm1000\font\kiskapitalis=eccc1200\nopagenumbers%'."\n";
+ ####$return .= '\font\kover=ectt1000%'."\n"; ##bx cc rm ss sx ti tt
+ #$return .= '\hsize=6.5in\vsize=29.7truecm%'."\n"; ## default 6.5 x 8.5in
+ $return .= '\hsize=6.5in\vsize=29.0truecm%'."\n"; ## default 6.5 x 8.5in
+ $return .= '\hoffset=-0.8in\voffset=-0.8in%'."\n"; ## -0.6
+ $return .= '\pretolerance=10000'."\n";
+ $return .= '\parindent=0pt'."\n";
+ $return .= '\input epsf%'."\n";
+
+ $return .= '\kisebb\halign{{#\ }&\ #\ &#\ \hfil&#\hfil&#\ &#\hfil\cr%'."\n";
+
+ for($i=0;$i<count($ADATOK);$i++) {
+ $cim_str = $ADATOK[$i]['varos'].' '.$ADATOK[$i]['irsz'].', '.$ADATOK[$i]['utca'];
+ $db = $TANULOK[$ADATOK[$i]['OM']][0]['count']+$TANULOK[$ADATOK[$i]['OM']][1]['count'];
+
+ $return .= $KODOK[$ADATOK[$i]['vegeredmeny']];
+ $return .='&';
+ $return .= $ADATOK[$i]['evfolyam'];
+ $return .='&';
+ $return .= $ADATOK[$i]['nev'];
+ $return .='&';
+ $return .= $ADATOK[$i]['an'];
+ $return .='&';
+ $return .= $ADATOK[$i]['OM'];
+ $return .='&';
+ $return .= $cim_str;
+ $return .='\cr%'."\n";
+ }
+ $return .='}';
+
+ return $return;
+
+
+ }
+
+
+
+
+
+
+
+
+
+
+/*
+
+Budapest, 2003. mjus 6.
+
+Kedves Kisdik! Tisztelt Szl!
+
+*/
+
+ /* MANUAL
+ TeX bekezdsek:
+ \par vagy legalbb egy res sor j bekezdst krel
+ \parindent=<dimen> j bekezds els sornak behzsa a szedstkrtl
+ \noindent
+ \parindent=0pt egsz dokumentumra nincs behzs
+ \baselineskip=12pt plus<> minus<> bekezdsen belli sorok baseline tvolsga
+ \lineskiplimit=0pt ha ennl kisebb a tvolsg, akkor \lineskip mret ragaszt lesz beszrva
+ \lineskip=1pt minimlis kt sor kzti tvolsg
+
+ \parskip=0pt plus1pt minus<> minden bekezds kzti sortvolsg a \baselineskip-hez kpest
+ mennyivel legyen nagyobb (baselineok tvolsga)
+ \leftskip=<> egy bekezdst hz beljebb
+ === \narrower pl {\narrower Ez egy bekezds\par}
+ \item{<jel>}<szveg> \parindenttel lesz beljebb
+ \itemitem{<jel>}<szveg>
+
+ \centerline{}, \rightline{}
+
+ \input epsf
+ \epsfxsize=<dimen>
+ \epsffile{filename.ps}
+ */
+
+
+?>
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/pontszamito.phtml b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/pontszamito.phtml
new file mode 100644
index 00000000..c2350f28
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/pontszamito.phtml
@@ -0,0 +1,66 @@
+<?php
+
+function putFelveteliPontszamito() {
+
+ $TARGYAK = array(
+ 'irodalom',
+ 'magyar nyelv',
+ 'történelem',
+ 'matematika',
+ 'term.ism./fizika',
+ 'id. nyelv'
+ );
+
+ echo '<style type="text/css">
+ h1 { text-align: center }
+ table.pontszamitoOsszegzo tr th { text-align: right; }
+ table.pontszamito tr th { height: 2em; border-bottom: solid 1px #999;}
+ table.pontszamito tr td { border-bottom: solid 1px #aaa;}
+ </style>';
+
+ echo '<h1>Városmajori Gimnázium Pontszámító</h1>';
+
+ echo '<form id="felviPontszamito"action="return false">';
+ echo '<table align="center" class="pontszamito" style="margin: 2em auto 2em auto;" >';
+ for ($evfolyam = 5; $evfolyam<=8; $evfolyam++) {
+ echo '<tr><th>'.$evfolyam.'. évfolyam</th>';
+ echo '<td>';
+ echo '<button type="button" id="btn_'.$evfolyam.'_5" >mind jeles</button>';
+ echo '<button type="button" id="btn_'.$evfolyam.'_4" >mind jó</button>';
+ echo '</td>';
+ foreach ($TARGYAK as $t => $t2) {
+ echo '<td>';
+ echo $t2;
+ echo '</td>';
+ echo '<td>';
+ _putFPSelect('p_'.$evfolyam.'_'.$t);
+ echo '</td>';
+ }
+ echo '</tr>';
+ }
+ echo '</table>';
+ echo '</form>';
+
+
+ echo '<table class="pontszamitoOsszegzo" align="center" >';
+ echo '<tr><th>Átlagod:</th><td><input type="text" id="targyAtlagok" readonly="readonly" /></td></tr>';
+ echo '<tr><th>Hozott tanulmányi pontjaid:</th><td></td><td><input type="text" id="hozottPont" readonly="readonly" />pont (max:20)</td></tr>';
+ echo '<tr><th>Központi magyar dolgozatod eredménye:</th><td><input type="number" id="magyar" class="pontszamitoUpdate" min="0" max="50" />pont (max:50)</td><td><input type="number" value="0" id="magyarSzamitott" readonly="readonly" >pont (max: 40)</td></tr>';
+ echo '<tr><th>Központi matematika dolgozatod eredménye:</th><td><input type="number" id="matek" class="pontszamitoUpdate" min="0" max="50" />pont (max:50)</td><td><input type="number" value="0" id="matekSzamitott" readonly="readonly" >pont (max: 40)</td></tr>';
+ echo '<tr><th>Számított majoros felvételi pontod:</th><td></td><td><input type="text" id="osszpont" readonly="readonly" />pont (max:100)</td></tr>';
+ echo '</table>';
+
+}
+
+function _putFPSelect($name) {
+
+ echo '
+ <select name="'.$name.'" id="'.$name.'" class="pontszamitoSelect pontszamitoUpdate">
+ <option value="0">-</option>
+ <option value="5">5</option><option value="4">4</option>
+ <option value="3">3</option><option value="3">3</option>
+ <option value="2">2</option>
+ </select>';
+
+}
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/szobeli.phtml b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/szobeli.phtml
new file mode 100644
index 00000000..504fe947
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/html/szobeli.phtml
@@ -0,0 +1,504 @@
+<?php
+
+
+ function putEredmenyKereso($nev,$diak,$oktid) {
+
+ if (!_LEKERDEZHETO) {
+ echo '<div align="center" style="margin:100px;border: solid 2px #aabbc0; background-color:darkcyan; padding:12px;">
+ A lekérdezés ebben az időszakban nem aktív, kérjük látogasson vissza ';
+ echo 'később!';
+ //echo date('Y. M. d. H:i:s',strtotime(_IRASBELI_PUBLIKALAS_DT));
+ //echo '-kor.';
+ echo '</div>';
+ }
+
+ if (_LEKERDEZHETO===false) $_DIS = 'disabled="disabled" readonly="readonly"';
+ //echo '<form id="fform" name="fform" method="post" action="" onsubmit="xt=document.fform.gomb;xt.value=\''._PLEASE_WAIT.'\';xt.disabled=true">'."\n";
+ echo formBegin(array('id'=>'fform', 'name'=>'fform'));
+ echo '<input type="hidden" name="action" id="action" value="lekerdezes" />';
+ echo '<table align="center" class="lekerdezes">';
+ echo '<thead><tr><th colspan="2">';
+ echo _LEKERDEZES;
+ echo '</th></tr></thead>'."\n";
+ echo '<tfoot>';
+ echo '<tr><th colspan="2">';
+ echo '<input type="submit" id="gomb" value="'._LEKERDEZ.'" '.$_DIS.' />';
+ echo '</th></tr>';
+ echo '<tr><th colspan="2">';
+ //echo _BEHIVOTTAK.': '.date('Y. M. d. H:i:s',strtotime(_BEHIVOTTAK_PUBLIKALAS_DT));
+ echo '</th></tr>';
+ echo '</tfoot>'."\n";
+ echo '<tbody>';
+ echo '<tr>';
+ echo '<th><label for="nev">'._NEV.'</label></th>'."\n";
+ echo '<td>';
+ echo '<input type="text" name="nev" id="nev" value="'.$nev.'" '.$_DIS.' />';
+ echo '</td>'."\n";
+ echo '</tr><tr>';
+ echo '<th><label for="oktid">'._OKTID.'</label></th>'."\n";
+ echo '<td>';
+ echo '<input type="password" name="oktid" size="11" id="oktid" value="' . $oktid .'" '.$_DIS.' />';
+ echo '</td>'."\n";
+ echo '</tr>';
+ echo '</tbody>';
+ echo '</table>';
+ formEnd();
+ }
+
+ function putFelvetelizoAdatok($DATA) {
+
+ global $JOSLAT;
+
+ echo '<table align="center" class="felveteliAdatok" cellspacing="1" cellpadding="1" style="width:600px">';
+ echo '<thead><tr><th colspan="3">'._ADATOK.'</th></tr></thead>'."\n";
+ echo '<tfoot><tr><th colspan="3">';
+ echo date('Y.m.d. H:i:s');
+ echo '</th></tr></tfoot>'."\n";
+ echo '<tbody>';
+
+ echo '<tr>';
+ echo '<th>'._NEV.'</th>'."\n";
+ echo '<td colspan="2">'.$DATA['nev'].'</td>'."\n";
+ echo '</tr>';
+
+
+ echo '<tr>';
+ echo '<th>'._SZULETETT.'</th>'."\n";
+ echo '<td colspan="2">'.$DATA['szuldt'].'</td>'."\n";
+ echo '</tr>';
+
+ echo '<tr>';
+ echo '<th>'._AN.'</th>'."\n";
+ echo '<td colspan="2">'.$DATA['an'].'</td>'."\n";
+ echo '</tr>';
+if ($DATA['lvaros']!='') {
+ echo '<tr>';
+ echo '<th>'._CIM.'</th>'."\n";
+ echo '<td colspan="2">'.$DATA['lirsz'].' '.$DATA['lvaros'].', '.$DATA['lutca'].'</td>'."\n";
+ echo '</tr>';
+}
+if ($DATA['varos']!='') {
+ echo '<tr>';
+ echo '<th>'._ERTESITESI_CIM.'</th>'."\n";
+ echo '<td colspan="2">'.$DATA['irsz'].' '.$DATA['varos'].', '.$DATA['utca'].'</td>'."\n";
+ echo '</tr>';
+}
+ echo '<tr>';
+ echo '<th>Szülő/diák:</th>'."\n";
+ echo '<td colspan="2">'.$DATA['level1'].' levélben</td>'."\n";
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>Iskola OM kódja:</th>'."\n";
+ if (is_array($DATA['iskolaAdat'])) {
+ echo '<td colspan="2">'.$DATA['OM'].'</td>'."\n";
+ } else {
+ echo '<td colspan="2" style="background-color: red; color:white">'.$DATA['OM'].' ('._HIBAS.')</td>'."\n";
+ }
+ echo '</tr>';
+ if (is_array($DATA['iskolaAdat'])) {
+ echo '<tr>';
+ echo '<th>Iskola adatai:</th>'."\n";
+ echo '<td colspan="2">'.$DATA['iskolaAdat']['nev'].', '.$DATA['iskolaAdat']['telepules'].'</td>'."\n";
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>Iskola:</th>'."\n";
+ echo '<td colspan="2">'.$DATA['level2'].' levélben</td>'."\n";
+ echo '</tr>';
+ }
+
+
+ echo '<tr>';
+ echo '<th>'._ATLAG.'</th>'."\n";
+ echo '<td colspan="2">'.$DATA['atlag'].'</td>'."\n";
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'._IRASBELI.' eredmény (magyar):</th>'."\n";
+ echo '<td>'.$DATA['magyar'].'/50</td>'."\n";
+ echo '<td>'.(($DATA['magyar2']!=0)?($DATA['magyar2'].'/50'):'').'</td>'."\n";
+ //echo '<td>'.'</td>'."\n";
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'._IRASBELI.' eredmény (matematika):</th>'."\n";
+ echo '<td>'.$DATA['matek'].'/50</td>'."\n";
+ echo '<td>'.(($DATA['matek2']!=0)?($DATA['matek2'].'/50'):'').'</td>'."\n";
+ echo '</tr>';
+
+// Ez már értelmetlen, mert minden tagozaton más-más pontszám van...
+//if ($DATA['pont']!=$DATA['hozottpont']) {
+// echo '<tr style="background-color:red;">';
+// echo '<th>Hozott pont (!!hibás adat!!)</th>'."\n";
+// echo '<td colspan="2">'.$DATA['pont'].'/100</td>'."\n";
+// echo '</tr>';
+//}
+//if ($DATA['hozottpont']>0) {
+// echo '<tr>';
+// echo '<th>Hozott pont (általános) kalkuláció</th>'."\n";
+// echo '<td colspan="2">'.$DATA['hozottpont'].'/100</td>'."\n";
+// echo '</tr>';
+//}
+/*
+if ($DATA['pont_mat']!=$DATA['hozottpont_mat']) {
+ echo '<tr style="background-color:red;">';
+ echo '<th>Hozott pont (!!hibás adat - matematika!!)</th>'."\n";
+ echo '<td colspan="2">'.$DATA['pont_mat'].'/100</td>'."\n";
+ echo '</tr>';
+}
+if ($DATA['hozottpont-mat']>0) {
+ echo '<tr>';
+ echo '<th>Hozott pont (matematika tagozat) kalkuláció</th>'."\n";
+ echo '<td colspan="2">'.$DATA['hozottpont_mat'].'/100</td>'."\n";
+ echo '</tr>';
+}
+*/
+if ($DATA['pont_mat']>0) {
+ echo '<tr>';
+ echo '<th>Hozott pont (matematika tagozat) kalkuláció</th>'."\n";
+ echo '<td colspan="2">'.$DATA['pont_mat'].'/100</td>'."\n";
+ echo '</tr>';
+}
+/*if ($DATA['pont_magy']!=$DATA['hozottpont_magy']) {
+ echo '<tr style="background-color:red;">';
+ echo '<th>Hozott pont (!!hibás adat - magyar!!)</th>'."\n";
+ echo '<td colspan="2">'.$DATA['pont_magy'].'/100'.'</td>'."\n";
+ echo '</tr>';
+}
+if ($DATA['hozottpont_magy']>0) {
+ echo '<tr>';
+ echo '<th>Hozott pont (magyar tagozat) kalkuláció</th>'."\n";
+ echo '<td colspan="2">'.$DATA['hozottpont_magy'].'/100</td>'."\n";
+ echo '</tr>';
+}
+*/
+if ($DATA['pont_magy']>0) {
+ echo '<tr>';
+ echo '<th>Hozott pont (magyar tagozat) kalkuláció</th>'."\n";
+ echo '<td colspan="2">'.$DATA['pont_magy'].'/100</td>'."\n";
+ echo '</tr>';
+}
+
+/*
+$hozottpont = ($DATA['atlag']-4)*20;
+ echo '<tr>';
+ echo '<th>Hozott pont:</th>'."\n";
+ echo '<td>'.$hozottpont.'/20</td>'."\n";
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'._IRASBELI.' eredmény:</th>'."\n";
+ echo '<td>'.$DATA['pont'].'/100</td>'."\n";
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>Írásbeli eredményre kapott pont:</th>'."\n";
+ echo '<td>'.($DATA['pontsum']-$hozottpont).'/80</td>'."\n";
+ echo '</tr>';
+*/
+
+if ($DATA['pontsum']!='' && $DATA['pontsum']!=0) {
+ echo '<tr>';
+ echo '<th>Eddig elért pontszám:</th>'."\n";
+ echo '<td>'.($DATA['pontsum']).'/100</td>'."\n";
+ echo '</tr>';
+}
+
+
+ if ($DATA['jelenleg']!='') {
+ echo '<tr>';
+ echo '<th>Jelenleg:</th>'."\n";
+ echo '<td>'.$DATA['jelenleg'].'</td>'."\n";
+ echo '</tr>';
+ }
+ if ($DATA['joslat']!='' && $DATA['vegeredmeny']=='') {
+ echo '<tr style="background-color:#668899; height:2em;">';
+ echo '<th>Jóslat:</th>'."\n";
+ echo '<td colspan="2">'.$DATA['joslat'].'</td>'."\n";
+ echo '</tr>';
+ }
+
+/*
+__MÉG VÉLETLENÜL SE KERÜLJÖN ILYEN ADAT
+
+ if ($DATA['vegeredmeny']!='') {
+ global $VEGEKOD2STR ;
+ $VEGE = $VEGEKOD2STR;
+ echo '<tr style="background-color:#448877; height:2em;">';
+ echo '<th>Végeredmény:</th>'."\n";
+ echo '<td>'.ucfirst($VEGE[$DATA['vegeredmeny']]).'</td>'."\n";
+ echo '</tr>';
+ }
+
+*/
+
+ echo '</tbody>';
+ echo '</table>';
+
+
+
+ }
+
+ function putSzobeliEredmeny($DATA,$DATA2) {
+
+ global $TAGOZATOK;
+ global $TAGOZATOK_SZOBELI_MEGJEGYZES;
+ global $TAGOZATOK_SZOBELI_AJANLAT;
+
+ $hozottpont = ($DATA2['atlag']-4)*20;
+
+ if ($DATA===false) {
+ echo '<div align="center" id="felvierr">';
+ echo _HIBAS_HIANYOS_ADAT;
+ echo '</div>';
+ } elseif ($DATA == 'multi') {
+ echo '<div align="center" id="felvierr">';
+ echo _MULTI_USER;
+ echo '</div>';
+ } elseif (is_array($DATA)) {
+ echo '<table align="center" class="irasbeliEredmeny" style="width:600px">';
+ echo '<thead><tr><th colspan="3">Szóbeli tagozatonként</th></tr></thead>'."\n";
+ echo '<tfoot><tr><th colspan="3">';
+ echo '</th></tr></tfoot>'."\n";
+ echo '<tbody>';
+
+ if (!is_array($DATA) || count($DATA)==0) {
+ echo '<tr>';
+ echo '<td colspan="2">';
+ //echo _NINCS_BEHIVVA;
+ echo 'Nincs behívva - vagy - Nem kell szóbeliznie';
+ echo '</td></tr>';
+ }
+
+ for($i=0; $i<count($DATA); $i++) {
+ $D = $DATA[$i];
+ //if ($D['bizottsag']==0) $_class='nincsbehivva';
+ //else $_class='behivva';
+ echo '<tr>';
+ echo '<th class="'.$_class.'">'.$TAGOZATOK[$D['tagozat']].':</th>'."\n";
+ echo '<td>';
+//echo $D['pont'].' pont';
+//echo '<br />'.$D['rangsor'].'. hely';
+ echo '</td>';
+ echo '<td>';
+ if ($D['eredmeny']=='') {
+ if ($D['bizottsag']==0 && stristr($D['szoveg'],'Felajánl')===false) {
+ echo $D['szoveg'];
+ //echo _NINCS_BEHIVVA;
+ } else {
+
+ if (stristr($D['szoveg'],'Felajánl')!==false || stristr($D['nap'],'felaj')!==false) {
+ echo '<p style="text-align: justify; font-style:italic">';
+ //$__tag = substr($D['szoveg'],strpos($D['szoveg'],':')+2);
+ $__tag = 'a';
+ echo str_replace('%1%','<span style="text-decoration:underline">'.$__tag.'</span>',$TAGOZATOK_SZOBELI_AJANLAT);
+ echo '</p>';
+ } else {
+
+ echo $D['bizottsag'].'. '._BIZOTTSAG.' ('.$D['szoveg'].')<br/>';
+ echo $D['napdt'].' ('.$D['nap'].') ';
+ echo substr($D['ido'],0,-3);
+
+ if ($TAGOZATOK_SZOBELI_MEGJEGYZES[$D['tagozat']]!='') {
+ echo '<p style="border-top:dotted 1px #ffffff; margin:0px; width:100%; text-align: justify; font-style:italic; font-size:x-small">'.$TAGOZATOK_SZOBELI_MEGJEGYZES[$D['tagozat']].'</p>';
+ }
+ }
+
+ }
+ } else {
+ if ($D['rangsor']!=0) echo $D['rangsor'].'. hely';
+ //if ($D['eredmeny']!=0) echo $D['eredmeny'].'. hely';
+ //if ($D['tagozat'] == 12) echo ' (egyesített rangsor)';
+
+ if (intval($D['pont'])>0) echo '; '.$D['pont'].'%';
+ if (intval($D['szobeli'])>0) {
+ if (in_array($D['tagozat'],Array(4,5,6))) {
+ //$D['szobeli'] = number_format((($D['szobeli'])*2/3),2);
+ //$D['szobeli'] = number_format((($D['szobeli'])*2/3),2);
+ $max=20;
+ } elseif (in_array($D['tagozat'],Array(0,1,2))) {
+ $max=30;
+ } else {
+ $max=40;
+ }
+// echo '<br />Szóbeli: '.$D['szobeli'].'/'.$max.' pont';
+ echo '<br />A szóbeli bizottság pontszáma: '.$D['szobeli'].' pont';
+ }
+
+ }
+ echo '</td>'."\n";
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ echo '</table>';
+ } else {}
+
+ }
+
+
+//2013
+ function putJelentkezes($DATA,$DATA2) {
+
+ global $TAGOZATOK;
+ global $TAGOZATOK_SZOBELI_MEGJEGYZES;
+ global $TAGOZATOK_SZOBELI_AJANLAT;
+
+ if ($DATA===false) {
+ echo '<div align="center" id="felvierr">';
+ echo _HIBAS_HIANYOS_ADAT;
+ echo '</div>';
+ } elseif ($DATA == 'multi') {
+ echo '<div align="center" id="felvierr">';
+ echo _MULTI_USER;
+ echo '</div>';
+ } elseif (is_array($DATA)) {
+ echo '<table align="center" class="irasbeliEredmeny" style="width:600px">';
+ echo '<thead><tr><th colspan="3">Tagozatonként</th></tr></thead>'."\n";
+ echo '<tfoot><tr><th colspan="3">';
+ echo '</th></tr></tfoot>'."\n";
+ echo '<tbody>';
+
+ if (!is_array($DATA) || count($DATA)==0) {
+ echo '<tr>';
+ echo '<td colspan="2">';
+ echo '</td></tr>';
+ }
+
+ for($i=0; $i<count($DATA); $i++) {
+ $D = $DATA[$i];
+ echo '<tr>';
+ echo '<th class="'.$_class.'">'.$TAGOZATOK[$D['kod']].':</th>'."\n";
+ echo '<td>';
+// echo $D['rangsor'].'. hely';
+ echo '</td>';
+ echo '<td>';
+ echo $D['eredmeny'];
+ echo '</td>'."\n";
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ echo '</table>';
+ } else {}
+
+ }
+
+
+
+
+
+ function putFelveteliError() {
+ echo '<div align="center" id="felvierr">';
+ echo _HIBAS_HIANYOS_ADAT;
+ echo '</div>';
+ }
+
+ // ** 2009
+ function putIrasbeliEredmeny($DATA) {
+
+ echo '<table align="center" class="felveteliAdatok">';
+ echo '<thead><tr><th colspan="3">'._EREDMENY.' ('._EVFOLYAM.': '.$DATA['evfolyam'].')</th></tr></thead>'."\n";
+ echo '<tfoot><tr><th colspan="3">';
+ echo date('Y.m.d. H:i:s');
+ echo '</th></tr></tfoot>'."\n";
+ echo '<tbody>';
+
+ echo '<tr>';
+ echo '<th>'._MAGYAR.'</th>'."\n";
+ echo '<td>'.$DATA['flap1'].'</td>'."\n";
+ echo '<td>'.$DATA['magyar'].' '._PONT.'</td>'."\n";
+ echo '</tr>';
+
+ echo '<tr>';
+ echo '<th>'._MATEK.'</th>'."\n";
+ echo '<td>'.$DATA['flap2'].'</td>'."\n";
+ echo '<td>'.$DATA['matek'].' '._PONT.'</td>'."\n";
+ echo '</tr>';
+ if ($DATA['magyar2']>0) {
+ echo '<tr>';
+ echo '<th>'._MAGYARPLUSZ.'</th>'."\n";
+ echo '<td>'.'</td>'."\n";
+ echo '<td>'.$DATA['magyar2'].' '._PONT.'</td>'."\n";
+ echo '</tr>';
+ }
+ if ($DATA['matek2']>0) {
+ echo '<tr>';
+ echo '<th>'._MATEKPLUSZ.'</th>'."\n";
+ echo '<td>'.'</td>'."\n";
+ echo '<td>'.$DATA['matek2'].' '._PONT.'</td>'."\n";
+ echo '</tr>';
+ }
+ echo '</tbody></table>';
+ }
+
+ function putIdeiglenesEredmeny($DATA,$DATA2,$OLDDATA) {
+ global $TAGOZATOK,$JOSLAT;
+
+ echo '<table align="center" class="felveteliAdatok">';
+ echo '<thead><tr><th colspan="4">'._EREDMENY.'</th></tr></thead>'."\n";
+ if ($DATA2['joslat']!='') {
+ echo '<tfoot><tr><th>Jóslat:</th><th colspan="3">';
+ echo $DATA2['joslat'];
+ echo '</th></tr></tfoot>'."\n";
+ }
+ echo '<tbody>';
+
+ for ($i=0; $i<count($OLDDATA); $i++) {
+ $TAG[$OLDDATA[$i]['kod']]=$OLDDATA[$i]['rangsor'];
+ }
+
+ for ($i=0; $i<count($DATA); $i++) {
+
+ echo '<tr>';
+ echo '<th>'.$TAGOZATOK[$DATA[$i]['tagozat']].'</th>'."\n";
+ if ($DATA[$i]['rangsor']<500) {
+ //echo '<td style="text-align: right">'.$DATA[$i]['pont'].' pont</td>'."\n";
+ echo '<td style="text-align: right">';
+/* eredeti 2018
+ if (intval($DATA[$i]['pont'])>0)
+ echo $DATA[$i]['pont'].' pont (szóbeli pontszám)';
+ else
+ echo 'nem szóbelizett';
+*/
+ if ($DATA[$i]['pont'] > 0) echo $DATA[$i]['pont'].' pont (';
+ if (intval($DATA[$i]['szobeli'])>0)
+ echo 'szóbeli: '.$DATA[$i]['szobeli'].' pont';
+ else
+ echo 'nem szóbelizett';
+ if ($DATA[$i]['pont'] > 0) echo ')';
+ echo '</td>'."\n";
+ echo '<td style="text-align: right">';
+/* if (
+ $DATA[$i]['szobeli']==0 &&
+ ($DATA[$i]['rangsor'] - $TAG[$DATA[$i]['tagozat']])<4
+ )
+ echo $TAG[$DATA[$i]['tagozat']];
+ else
+*/
+ if ($DATA[$i]['rangsor'] == 0) echo 'sajnos nem';
+ else {
+ if ($DATA[$i]['rangsor'] <= 150) echo $DATA[$i]['rangsor'];
+ else echo '>150';
+ echo '. <span title="'.$DATA[$i]['rangsor'].$TAG[$DATA[$i]['tagozat']].'">hely</span>';
+ }
+ echo '</td>'."\n";
+ } else {
+ echo '<td colspan="2" style="text-align: right">nem tudjuk felvenni</td>'."\n";
+ }
+ echo '</tr>';
+
+ }
+
+ echo '</tbody></table>';
+
+ }
+
+ function putVegeredmeny($DATA) {
+ global $VEGEREDMENY;
+
+ echo '<table align="center" class="felveteliAdatok vegeredmeny">';
+ echo '<thead><tr><th>'._EREDMENY.'</th></tr></thead>'."\n";
+ echo '<tfoot><tr><th>'.date('Y-m-d H:i:s').'</th></tr></thead>'."\n";
+ echo '<tbody>';
+ echo '<tr>';
+ echo '<td>'.$VEGEREDMENY[$DATA['vegeredmeny']].'</td>'."\n";
+ echo '</tr>';
+ echo '</tbody></table>';
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/fejlec.png b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/fejlec.png
new file mode 100644
index 00000000..aa0855d3
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/fejlec.png
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/iskola.eps b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/iskola.eps
new file mode 100644
index 00000000..8ca1670e
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/iskola.eps
@@ -0,0 +1,2979 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner
+%%Title: /home/konczy/logk/iskola.eps
+%%CreationDate: Thu Apr 22 11:47:52 2004
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 14 14 543 181
+%%EndComments
+%%BeginProlog
+% Use own dictionary to avoid conflicts
+10 dict begin
+%%EndProlog
+%%Page: 1 1
+% Translate for offset
+14.173228 14.173228 translate
+% Translate to begin of first scanline
+0.000000 166.500000 translate
+528.000000 -166.500000 scale
+% Image geometry
+704 222 8
+% Transformation matrix
+[ 704 0 0 222 0 0 ]
+% Strings to hold RGB-samples per scanline
+/rstr 704 string def
+/gstr 704 string def
+/bstr 704 string def
+{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
+true 3
+%%BeginData: 198711 ASCII Bytes
+colorimage
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$VZ-nks8VWhs7,W1s+13Gs*t~>
+JcC<$VZ-nks8VWhs7,W1s+13Gs*t~>
+JcC<$VZ-nks8VWhs7,W1s+13Gs*t~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$V>g\glK[3crr2ugJcC<$VZ2/~>
+JcC<$V>g\glK[3crr2ugJcC<$VZ2/~>
+JcC<$V>g\glK[3crr2ugJcC<$VZ2/~>
+JcC<$VZ-kVL*@$G?bh6mJcDMFJ,~>
+JcC<$VZ-kVL*@$G?bh6mJcDMFJ,~>
+JcC<$VZ-kVL*@$G?bh6mJcDMFJ,~>
+JcC<$VZ-kjL)'mp.DUN7JcDMFJ,~>
+JcC<$VZ-kjL)'mp.DUN7JcDMFJ,~>
+JcC<$VZ-kjL)'mp.DUN7JcDMFJ,~>
+\,QHnJcC<$n,EJi":W(ss+13Es*t~>
+\,QHnJcC<$n,EJi":W(ss+13Es*t~>
+\,QHnJcC<$n,EJi":W(ss+13Es*t~>
+aT)80JcC<$j8T>Rs8Q(%%)@GoJcDJEJ,~>
+aT)80JcC<$j8T>Rs8Q(%%)@GoJcDJEJ,~>
+aT)80JcC<$j8T>Rs8Q(%%)@GoJcDJEJ,~>
+Z2XgoJcC<$p&>+o";\e(s+13Es*t~>
+Z2XgoJcC<$p&>+o";\e(s+13Es*t~>
+Z2XgoJcC<$p&>+o";\e(s+13Es*t~>
+a8ZOkQGBeoQC4DO^p:9FT`;;!L;<>1s+14@rrZ7(*5MRRs7([?JcDYJJ,~>
+a8ZOkQGBeoQC4DO^p:9FT`;;!L;<>1s+14@rrZ7(*5MRRs7([?JcDYJJ,~>
+a8ZOkQGBeoQC4PS^p:9FV#R_%L;<>1s+14@rrZ7(*5MRRs7([?JcDYJJ,~>
+aSu:b?h"7#$te+Bs+14@rrlC*"G#+[JcC<$V#Pr~>
+aSu:b?h"7#$te+Bs+14@rrlC*"G#+[JcC<$V#Pr~>
+aSu:b?h"7#$te+Bs+14@rrlC*"G#+[JcC<$V#Pr~>
+aSut>G6A=Sbl?s_+q-K)nc.mI9a"h`JcC<$r;QceqYprnl9YUV$liWun`oXqs+13Ks*t~>
+aSut>G6A=Sbl?s_+q-K)nc.mI9a"h`JcC<$r;QceqYprnl9YUV$liWun`oXqs+13Ks*t~>
+aSut>G6A=Sbl?s_+q-K-nc.mM9a"h`JcC<$r;QceqYprnl9YUV$liWun`oXqs+13Ks*t~>
+bl7_6q#:9qAcr5\rr3,,#Qt:9rVum#!',W1L&V/Cqu6cgs7,.Jrr^K<Ai'5c#omQC_!:t"nc/.V
+s8VV?s+13Zs*t~>
+bl7_6q#:9qAcr5\rr3,,#Qt:9rVum#!',W1L&V/Cqu6cgs7,.Jrr^K<Ai'5c#omQC_!:t"nc/.V
+s8VV?s+13Zs*t~>
+bl7_6q#:9qAcr5\rr3,,#Qt:9rVum#!',W1L&V/Cqu6cgs7,.Jrr^K@Ai'5c#omQC_!:t"nc/.V
+s8VV?s+13Zs*t~>
+bl7_6q#:9qAcr5\rr3,,$j6^=rVum#!',W1JcGQG"5TV^(B+FA,#*TnZA([SrWE?D6@cl-r;Zfe
+JcC<$[/YX~>
+bl7_6q#:9qAcr5\rr3,,$j6^=rVum#!',W1JcGQG"5TV^(B+FA,#*TnZA([SrWE?D6@cl-r;Zfe
+JcC<$[/YX~>
+bl7_6q#:9qAcr5\rr3,,$j6^=rVum#!',W1JcGQG"5Tbb(B+FA,#*TnZA([SrWE?D6@cl-r;Zfe
+JcC<$[/YX~>
+bl7_6q#:9qAcr5\rr3,,#RCR=rVum#!',W1K)bl@rr3Arf9T,H"9],^JACIJrrhktG<$ZB"9T&]
+GD:\KJcDqRJ,~>
+bl7_6q#:9qAcr5\rr3,,#RCR=rVum#!',W1K)bl@rr3Arf9T,H"9],^JACIJrrhktG<$ZB"9T&]
+GD:\KJcDqRJ,~>
+bl7_6q#:9qAcr5\rr3,,#RCR=rVum#!',W1K)bl@rr3Arf9T,H"9],^JACIJrrhktG<$ZB"9T&]
+GD:\KJcDqRJ,~>
+bl7_6q#:9qAcr5\rr3+o#Qt:9rVum#!',W1JcGcM$LrX@('FaU9m<o!r;QfXlM^_cn^jFG*;p!B
+<JJ<LJcC<$Zi>O~>
+bl7_6q#:9qAcr5\rr3+o#Qt:9rVum#!',W1JcGcM$LrX@('FaU9m<o!r;QfXlM^_cn^jFG*;p!B
+<JJ<LJcC<$Zi>O~>
+bl7_6q#:9qAcr5\rr3+s#Qt:9rVum#!',W1JcGcM$LrX@('FaU9m<o!r;QfXlM^_cn^jRK*;p!B
+<JJ<LJcC<$Zi>O~>
+bl7_6q#:9qAcr5\rr3,,$j[!ArVum#!',W1K`;GM^kQ2P*!?C#GI$'#rrDTarrhlJb_BL("9f2i
+?\ZAdJcC<$\,Us~>
+bl7_6q#:9qAcr5\rr3,,$j[!ArVum#!',W1K`;GM^kQ2P*!?C#GI$'#rrDTarrhlJb_BL("9f2i
+?\ZAdJcC<$\,Us~>
+bl7_6q#:9qAcr5\rr3,,$j[!ArVum#!',W1K`;GM^kQ2P*!?C#GI$'#rrDTarrhlJb_BL("9f2i
+?\ZAdJcC<$\,Us~>
+bl7_6q#:9q?N^K\rr3,,1C+,hrVum#!',W1LAqA@Aka9D"9N2.fCo4Enauhaj1o"^(B+F=**&<?
+rVllfJcC<$^Ai]~>
+bl7_6q#:9q?N^K\rr3,,!!i_5rVum#!',W1LAqA@Aka9D"9N2.fCo4Enauhaj1o"^(B+F=**&<?
+rVllfJcC<$^Ai]~>
+bl7_6q#:9q?N^K\rr3,,!!i_5rVum#!',W1LAqA@Aka9D"9N22fCo4Enauhaj1o"^(B+F=**&<?
+rVllfJcC<$^Ai]~>
+bl7\5rVlt,"9]qJrrgP%#R%I3s8N3%3J%4#rrDTfrrDT^rsRkmJ5n$$"<:ErZG>N#"nCWYL-c[T
+"9]]OQH\mss8VWbrrDS?s+13ps*t~>
+bl7\5rVlt,"9]qJrre_i#R%I3s8N3%3J%4#rrDTfrrDT^rsRkmJ5n$$"<:ErZG>N#"nCWYL-c[T
+"9]]OQH\mss8VWbrrDS?s+13ps*t~>
+bl7\5rVlt,"9]qJrrgP%#R%I3s8N3%3J%4#rrDTfrrDT^rsRkmJ5n$$"<:ErZG>N#"nCWYL-c[T
+"9]]OQH\mss8VWbrrDS?s+13ps*t~>
+bl7\5rr3E%?N^KUs8Vl<1C+,hrVum#!',W1NW0+:Z=Yol"9]-fTZlr]rs\2.R:\5`"9]-"B$B(^
+s+13cs*t~>
+bl7\5rr3E%?N^KUs8Vk^!!i_5rVum#!',W1NW0+:Z=Yol"9]-fTZlr]rs\2.R:\5`"9]-"B$B(^
+s+13cs*t~>
+bl7\5rr3E%?N^KUs8Vl<1C+,hrVum#!',W1NW0+:Z=Yol"9]-fUs/Aars\2.R:\5`"9]-"B$B(^
+s+13cs*t~>
+bl7\5rVlt,"9]qJrrgOi#R%I3s8N3%3J%4!s8MQbrr_;eJ/nOk!t7MNZIJmVj0E8GrWE<33L8Ls
+rrDS?s+13ns*t~>
+bl7\5rVlt,"9]qJrre`6#R%I3s8N3%3J%4!s8MQbrr_;eJ/nOk!t7MNZIJmVj0E8GrWE<33L8Ls
+rrDS?s+13ns*t~>
+bl7\5rVlt,"9]qJrrgOi#R%I3s8N3%3J%4!s8MQbrr_;eJ/nOk!t7MNZIJmVj0E8GrWE<33L8Ls
+rrDS?s+13ns*t~>
+bl7\5rr3,r?N^KUrr3,F1C+,hrVum#!',W1Q2_$X^mSdj%/pA3(0-dYr;ZfeeGfToQ?W91"<q3-
+_"!!UJcEdjJ,~>
+bl7\5rr3,r?N^KUrr3+h!!i_5rVum#!',W1Q2_$X^mSdj%/pA3(0-dYr;ZfeeGfToQ?W91"<q3-
+_"!!UJcEdjJ,~>
+bl7\5rr3,r?N^KUrr3,F1C+,hrVum#!',W1Q2_$X^mSdj%/pA3(0-dYr;ZfeeGfToQ?W91"<q3-
+_"!!UJcEdjJ,~>
+bl87Eq#CBh<<NFRs8Vl<1C+,hrVum#!',W1Qi@3KTQ_.[rWE?jL;;X8aSu@oZ<n%>"9L#r^k)N:
+s2b4j~>
+bl87Eq#CBh<<NFRs8Vk^!!i_5rVum#!',W1Qi@3KTQ_.[rWE?jL;;X8aSu@oZ<n%>"9L#r^k)N:
+s2b4j~>
+bl87Eq#CBh<<NFRs8Vl<1C+,hrVum#!',W1Qi@3KUj!R_rWE?jL;;X8aSu@oZ<n%>"9L#r^k)N:
+s2b4j~>
+a8ZOj#Qtb>q#@WU"9c%/s8N3%3J%3ss8<'&$rr_O_#F]#Z=YO*$j7QcJcC<$b5Zt~>
+a8ZOj#Qtb>q#@W""9c%/s8N3%3J%3ss8<'&$rr_O_#F]#Z=YO*$j7QcJcC<$b5Zt~>
+a8ZOj#Qtb>q#@W""9c%/s8N3%3J%3ss8<'&$rr_O_#F]#Z=YO*$j7QcJcC<$b5Zt~>
+a8Z7c#QtqBrrfV>"9c%/s8N3%3J%3ss8N3)%)B[7n\Y;+nb`=hbW,e/^k)O:s8VV?s7cPD~>
+a8Z7c#QtqBrrfV>"9c%/s8N3%3J%3ss8N3)%)B[7n\Y;+nb`=hbW,e/^k)O:s8VV?s7cPD~>
+a8Z7c#QtqBrrfV>"9c%/s8N3%3J%3ss8N3)%)B[7n\Y;+nb`=hbW,e/^k)O:s8VV?s7cPD~>
+a8Z7c#Qtb=rrfV`"9c%/s8N3%3J%3ss8N3%(An+3n\P5*nc&OmG6A&Ss8VV?s+13ps*t~>
+a8Z7c#Qtb=rrfV-"9c%/s8N3%3J%3ss8N3%(An+3n\P5*nc&OmG6A&Ss8VV?s+13ps*t~>
+a8Z7c#Qtb=rrfV-"9c%/s8N3%3J%3ss8N3%(An+3n\P5*nc&OmG6A&Ss8VV?s+13ps*t~>
+a8ZOk#QtqCq#@W3"9c%/s8N3%3J%3ss8N3%(;BhKnb`=hG6A&'nU^_ps8VWerrDS?s7u\F~>
+a8ZOk#QtqCq#@W3"9c%/s8N3%3J%3ss8N3%(;BhKnb`=hG6A&'nU^_ps8VWerrDS?s7u\F~>
+a8ZOk#QtqCq#@W3"9c%/s8N3%3J%3ss8N3%(;BhKnb`=hG6A&'nU^_ps8VWerrDS?s7u\F~>
+a8Z7n$j7@FrrfV>"9c%/s8N3%3QD(%h6NHal@Jues8N3%(:O5FAcr7)JcF=$s6>18p]#a~>
+a8Z7n$j7@FrrfV>"9c%/s8N3%3QD(%h6NHal@Jues8N3%(:O5FAcr7)JcF=$s6>18p]#a~>
+a8Z7n$j7@FrrfV>"9c%/s8N3%3QD(%h6NHal@Jues8N3%(:O5FAcr7)JcF=$s6>18p]#a~>
+a8Z7W#QtqBrrfVC"9c%/s8N3%6HK0.h01[S"9UuFh<KRkgAh0U!#E$C#(QgZZN'siJcFR+#P%io
+Z=[^Sj+77+s*t~>
+a8Z7W#QtqBrrfVC"9c%/s8N3%6HK0.h01[S"9UuFh<KRkgAh0U!#E$C#(QgZZN'siJcFR+#P%io
+Z=[^Sj+77+s*t~>
+a8Z7W#QtqBrrfVC"9c%/s8N3%6HK0.h01[S"9UuFh<KRkgAh0U!#E$C#(QgZZN'siJcFR+#P%io
+Z=[^Sj+77+s*t~>
+aSuD5G6A$trr3,:+p8%SrVum#!CH)"rrMZTr;QiMQ9tBM!]dROq#CBaJcFs6"2H>g*4PqQnV.e^
+B'TEdJcG*:!:g$f"7cEknb`=fh6L&Z"9TX3_!:q!!:bX?!<7Q~>
+bQ%V>"on+:"9^1Qrrg+]"9c%/s8N3&6L*#!!V,IQrrUf<6MU`c3O7rFs8VV?s60Ib^aTC+\,Q^'
+L)'o(lMpC*s6TacnbrIinc/XZqu6`RZ;pi+"!!`ElMge`nU^]?s*t~>
+bQ%V3"on+:"9^1Qrrg+]"9c%/s8N3&6L*#!!V,IQrrUf<6MU`c3O7rFs8VV?s60Ib^aTC+\,Q^'
+L)'o(lMpC*s6TacnbrIinc/XZqu6`RZ;pi+"!!`ElMge`nU^]?s*t~>
+a8Z6r"9]qJrrg+]"9c%/s8N3&6LiS*!:g!e"7`[/*<$'D(-,)F(B+F=,%e.GJcF^/#4^N(('Fah
+q]Z7o+rhd_1EmV/+oj(`+oj(d+oj(k+oj(k,5s"o+t5<((A]3Y3AUd@,)6*s!:bX?mf*:WqYpQc
+rr3)j^m6GF"9T&mQK.oC!:baBJ,~>
+bQ%V>"onIS"9]qJrrg+]"9c%/s8N3&6LiS*!:g!e"7`[/*<$'D(-,)F(B+F=,%e.GJcF^/#4^N(
+('Fahq]Z7o+rhd_1EmV/+oj(`+oj(d+oj(k+oj(k,5s"o+t5<((A]3Y3AUd@,)6*s!:bX?mf*:W
+qYpQcrr3)j^m6GF"9T&mQK.oC!:baBJ,~>
+bQ%V3"on(H"9]qJrrg+]"9c%/s8N3&6LiS*!:g!e"7`[/*<$'D(-,)F(B+F=,%e.GJcF^/#4^N(
+('Fahq]Z7o+rhd_1EmV/+oj(`+oj(d+oj(k+oj(k,5s"o+t5<((A]3Y3AUd@,)6*s!:bX?mf*:W
+qYpQcrr3)j^m6GF"9T&mQK.oC!:baBJ,~>
+a8Z6r"9]qJrrfVO"9c%/s8N3&6L)qt!j[PTr<*EUL;<ihn\Bld.K0GO6AE;QrrDS?s6K[dnXr4\
+"98l'"9L$<j+76prrDTdrr_)C9c!^2"Z(n=R6h\f"9U*=fCAk?s7(jDJ,~>
+bl@\>"onIS"9]qJrrfVO"9c%/s8N3&6L)qt!j[PTr<*EUL;<ihn\Bld.K0GO6AE;QrrDS?s6K[d
+nXr4\"98l'"9L$<j+76prrDTdrr_)C9c!^2"Z(n=R6h\f"9U*=fCAk?s7(jDJ,~>
+bl@\3"on(H"9]qJrrfVO"9c%/s8N3&6L)qt!j[PTr<*EUL;<ihn\Bld.K0GO6AE;QrrDS?s6K[d
+nYAL`"98l'"9L$<j+76prrDTdrr_)C9c!^2"Z(n=R6h\f"9U*=fCAk?s7(jDJ,~>
+a8Z6r"9]qJrrfVI"9c%/s8N3&6L*2&!:g'g"6uP0%/g;16AE_[rrKnar<*3HGG+5Ps69Ohn]Z_-
+"9]o\RJO`!bQW_W"<;$ZeA)9oR9p@2?g@L'$*ot2*!?B[9sWf1s6TacnbiCgba('`":9UH_"%I)
+lEY"NrWE?>*(#tVKE$H~>
+bQ%V>s8N1U"9]qJrrfVI"9c%/s8N3&6L*2&!:g'g"6uP0%/g;16AE_[rrKnar<*3HGG+5Ps69Oh
+n]Z_-"9]o\RJO`!bQW_W"<;$ZeA)9oR9p@2?g@L'$*ot2*!?B[9sWf1s6TacnbiCgba('`":9UH
+_"%I)lEY"NrWE?>*(#tVKE$H~>
+bQ%V3s8N1U"9]qJrrfVI"9c%/s8N3&6L*2&!:g'g"6u\4%/g;16AE_[rrKnar<*3HGGOMTs69Oh
+n]Z_-"9]o\RJO`!bQW_W"<;$ZeA)9oR9p@2?g@L'$*ot2*!?B[9sWf1s6TacnbiCgba('`":9UH
+_"%I)lEY"NrWE?>*(#tVKE$H~>
+a8Z7-"9]qJrrg+]"9c%/s8N3&6LiV+"5T8;(B+F=$ppBBp&>*RL+3'(""@ifnU^`.rr_esAet@K
+!G:0^rrpV5"@BoodJj@0L*AF(p\t9G?iC01(-.]:JcG'9!qF'\r<*0NL;<Ta!o8ANqud']L>@R`
+J,~>
+a8Z7-"9]qJrrg+]"9c%/s8N3&6LiV+"5T8;(B+F=$ppBBp&>*RL+3'(""@ifnU^`.rr_esAet@K
+!G:0^rrpV5"@BoodJj@0L*AF(p\t9G?iC01(-.]:JcG'9!qF'\r<*0NL;<Ta!o8ANqud']L>@R`
+J,~>
+a8Z7-"9]qJrrg+]"9c%/s8N3&6LiV+"5T8;(B+F=$ppBBp&>*RL+3'(""@ifnU^`.rr_esAet@K
+!G:0^rrpV5"@BoodJj@0L*AF(p\t9G?iC01(-.]:JcG'9!qF'\r<*0NL;<Ta!o8ANqud']L>@R`
+J,~>
+aSuD<L'.W.rr3,,+p8%SrVum#!'/p9s7-!d"4q-@*<$'C*+m"Hnc&[HTN1pn!ZXqYJcG6>#f($r
+"9]]VZJGN[!:fsd"Fq[!?e<U'$1XZE"G#P4s7,XWrs7G866ZO8$ot!>s8VkYrrDTfrs<m93=H#n
+(14B;qu6ZdrVlub^iqU4"9UGlZKd8GJ,~>
+aSuD<L'.W.rr3,,+p8%SrVum#!'/p9s7-!d"4q-@*<$'C*+m"Hnc&[HTN1pn!ZXqYJcG6>#f($r
+"9]]VZJGN[!:fsd"Fq[!?e<U'$1XZE"G#P4s7,XWrs7G866ZO8$ot!>s8VkYrrDTfrs<m93=H#n
+(14B;qu6ZdrVlub^iqU4"9UGlZKd8GJ,~>
+aSuD<L'.W.rr3,,+p8%SrVum#!'/p9s7-!d"4q-@*<$'C*+m"Hnc&[HUfI?r!ZXqYJcG6>#f($r
+"9]]VZJGN[!:fsd"Fq[!?e<U'$1XfI"G#P4s7,XWrs7G866ZO8$ot-Bs8VkYrrDTfrs<m93=H#n
+(14B;qu6ZdrVlub^iqU4"9UGlZKd8GJ,~>
+aSuD5J-6!(rr3,:*!?DMrVum#!'/j7s5!_T$/Mm2$k*7A1Vh63rrDT\rrV_Y3W0'c1HCcks8VBS
+qu6]el@f0Fn`0Z*Q72q>,%d8'r;QcerVm/ZL("2ZfDkm@cMn$QActH9p\tQ[bQJ[a";YUTnc&Og
+n^md@q"4Ucq#C?opq?\1nc/XZj8T&ij.K`^":PE"GJNbKs7--hnb<%cn_IOrqud$pfDbdNn`l/7
+J,~>
+aSuD5J-6!(rr3,:*!?DMrVum#!'/j7s5!_T$/Mm2$k*7A1Vh63rrDT\rrV_Y3W0'c1HCcks8VBS
+qu6]el@f0Fn`0Z*Q72q>,%d8'r;QcerVm/ZL("2ZfDkm@cMn$QActH9p\tQ[bQJ[a";YUTnc&Og
+n^md@q"4Ucq#C?opq?\1nc/XZj8T&ij.K`^":PE"GJNbKs7--hnb<%cn_IOrqud$pfDbdNn`l/7
+J,~>
+aSuD5J-6!(rr3,:*!?DMrVum#!'/j7s5!_T$/Mm2$k*7A1Vh63rrDT\rrV_Y3W0'c1HCcks8VBS
+qu6]el@f0Fn`0Z*Q72q>,%d8'r;QcerVm/ZL("2ZfDkm@cMn$QActH9p\tQ[bQJ[a";YUTnc&Og
+n^md@q"4Ucq#C?opq?\1nc/XZj8T&ij.p#b":PE"GJNbKs7--hnb<%cn_IOrqud$pfDbdNn`l/7
+J,~>
+aSuD5J-6!(rr3,:+p8%SrVum#!'/p9#3u6gnZkk/rWEu\AsU6<L6e-[J<lUhL4G#EL4G#5J:RWR
+s-<f3s1i4jr<*-]TRm.;rs*-["9]--ZLRYg$,B7<6AF+ls7,X'rrZU:(81X+rUKme$-\\T"9],9
+B%Q=!s8Dutl4!4_s7)b41COBh(1s6)rrV58.K0GQ$mI]df8T`[~>
+aSuD5J-6!(rr3,:+p8%SrVum#!'/p9#3u6gnZkk/rWEu\AsU6<L6e-[J<lUhL4G#EL4G#5J:RWR
+s-<f3s1i4jr<*-]TRm.;rs*-["9]--ZLRYg$,B7<6AF+ls7,X'rrZU:(81X+rUKme$-\\T"9],9
+B%Q>6s8Dios8;bds8V?mnc/XZTR\g,"9]KPT^)OYj+]#^"9],W3JQ.Es*t~>
+aSuD5J-6!(rr3,:+p8%SrVum#!'/p9#3u6gnZkk/rWEu\AsU6<L6e-[J<lUhL4G#EL4G#5J:RWR
+s-<f3s1i4jr<*-]Uk/R?rs*-["9]--ZLRYg$,B7<6AF+ls7,X'rrZU:(8Up/rUKme$-\\T"9],9
+B%Q>6s8DHds8;AYs8V?mnc/XZUjt60"9]KPV!@s]j+]#^"9],W3JQ.Es*t~>
+aSuD<L'.c2rr3,,+p8%SrVum#!'/m8!nVW?r<*<R?d/QMh*UB0#']V;s7(gZrWE<39pXi9rrMZi
+p[J7`rp^!gp[J7`oC2h\oC2h\p[J7`rp^!gp[J7`oC2h\oC2h\qsa[OrVlrTQ='Uo!^a3QrVllf
+rr2u`rr3,,.0Kdh`W$'q":ThNpAY3GJ1:I#![;6^oD\gcrr2unqYpTdq#:9pq!mmErrTK+(B+F>
+1U<EK1]BBC6;9d,1I=E&9fY!i<W"i].G+V"l@q+n"9]JrB!U]_s*t~>
+aSuD<L'.c2rr3,,+p8%SrVum#!'/m8!nVW?r<*<R?d/QMh*UB0#']V;s7(gZrWE<39pXi9rrMZi
+p[J7`rp^!gp[J7`oC2h\oC2h\p[J7`rp^!gp[J7`oC2h\oC2h\qsa[OrVlrTQ='Uo!^a3QrVllf
+rr2u`rr3,,.0Kdh`W$'q":ThNpAY3GJ1:I#![;6^oD\gcrr3#oqu-QpqZlZdqu?QgnaZJQ"onK"
+qu?QhrrDrqrrDr)rrTK+(B+F>1U<EK1]BBC6;9d,1I=E&9fY!i<W"i].G+V"l@q+n"9]JrB!U]_
+s*t~>
+aSuD<L'.c2rr3,,+p8%SrVum#!'/m8!nVW?r<*<R?d/QMh*UB0#']V;s7(gZrWE<39pXi9rrMZi
+p[J7`rp^!gp[J7`oC2h\oC2h\p[J7`rp^!gp[J7`oC2h\oC2h\qsa[OrVlrTQ='Uo!^a3QrVllf
+rr2u`rr3,,.0Kdh`W$'q":ThNpAY3GJ1:I#![;6^oD\gcrr3#onGWCen-ALYnGi"QnaZJF"on)l
+nGi"RrrDQfrrDPsrrTK+(B+F>1U<EK1]BBC6;9d,1I=E&9fY!i<W"i].G+V"l@q+n"9]JrB!U]_
+s*t~>
+aSuD5J-6!(rr3,:*!?DMrVum#!'0$<"67V@.K'AN(.*cTruU_1h*MMQ(/9![<E3C<.1A4K<G#6<
+G=!&R"D73(nc&OhG>7u<"(pBSnV$oEn^iLOrWE9hRH*r>#dPl^6F-XknaXj's7--h#4Y[r"CKCC
+qYpQcrr3&bTJQQM!utpgnU^]Cs4<Q2%/pA53JQAi^`;VB!:'L^"0uMf%/pD0$j+5rlMge`nWs3*~>
+aSuD5J-6!(rr3,:*!?DMrVum#!'0$<"67V@.K'AN(.*cTruU_1h*MMQ(/9![<E3C<.1A4K<G#6<
+G=!&R"D73(nc&OhG>7u<"(pBSnV$oEn^iLOrWE9hRH*r>#dPl^6F-XknaXj's7--h#4Y[r"CKCC
+qYpQcrr3&bTJQQM!utpgnU^]Cs4<Q2%/pA53JQAi^`;VB!:'L^"0uMf%/pD0$j+5rlMge`nWs3*~>
+aSuD5J-6!(rr3,:*!?DMrVum#!'0$<"67V@.K'AN(.*cTruU_1h*MMQ(/9![<E3C<.1A4K<G#6<
+G=!&R"D73(nc&OhG>7u<"(pBSnV$oEn^iLOrWE9hRH*r>#dPl^6F-XknaXj's7--h#4Y[r"CKCC
+qYpQcrr3&bUbhuQ!utpgnU^]Cs4<Q2%/pA53JQAi^`;VB!:'L^"0uMf%/pD0$j+5rlMge`nWs3*~>
+aSuD5J-6!(rr3,:+p8%SrVum#!'0*>"S'9X.2Mmc%if2ss8VWhs7--S3=H$Nh>@3RG9!%Jru&*u
+":ThNs7,XZnc.XbAdeeF$lg]j?Y3#!oNqSuQs]l*!C@e)"9^O4s8VW_rrgP%"ARLdrs.ihl@oEE
+GObY3"7cEkh>I9Rl;dcc![:X1qh>HDL3I6AGCXmLAsrXa#_ml&TS@&jR@3oepricSbP]TalMg;U
+q#CBh^]+<p,5q]I$tc0mrr3/;*!?[ELAnLY^_1iX9m<n9L7+]h9bmj7fDkm@nc&Oih1dBW"9TDq
+QK+2/J,~>
+aSuD5J-6!(rr3,:+p8%SrVum#!'0*>"S'9X.2Mmc%if2ss8VWhs7--S3=H$Nh>@3RG9!%Jru&*u
+":ThNs7,XZnc.XbAdeeF$lg]j?Y3#!oNqSuQs]l*!C@e)"9^O4s8VW_rrgP%"ARLdrs.ihl@oEE
+GObY3"7cEkh>I9Rl;dcc![:X1qh>?AL3I6AGCXo:B)\)%L4GqiL1Y%cRJO]!RJG&-^ruZ"s6BUR
+"8MorpqQh03?nG*!t8e7j8T&^^`3Ic9nrYQs1f7k6;;[0TSAl-L.rEd"P<\RnaZVY!o8S[r<*3<
+1R@'bs*t~>
+aSuD5J-6!(rr3,:+p8%SrVum#!'0*>"S'9X.2Mmc%if2ss8VWhs7--S3=H$Nh>@3RG9!%Jru&*u
+":ThNs7,XZnc.XbAdeeF$lg]j?Y3#!oNqSuQs]l*!C@e)"9^O4s8VW_rrgP%"ARLdrs.ihl@oEE
+GObY3"7cEkh>I9Rl;dcc![:X1qh>?AL3I6tGCXo:RJrKTL4H(qLAmS@bkf*Tbk_8?^rst#s8VB`
+nH8Rds7jA/!BDA'"9T'EUuVIS"i))\$r)KUZN%]QG=##JZD<5CUkVSZ"9d?Vs7,XYrrV#2.K'AO
+(,M9:PQ-.~>
+a8Z6r":-IUrrg+]#R%I3s8N3&6L*q;s7-$e!nVW9rWE9OGKfp`!:g'g"AK"%3R%C#"D.eBs7-'f
+"Mbu["GZ[N"5T8M*.\7k":#\d"D6Kis7-*gs7-*g"R:^M(7)]7#f'.;3O7rMs5X%W#4_`nl;[rq
+L]d\doE5XQJCji$nc.nSh&HP+GO#)*"<n!Ks6BR_"Fpm`"R>a]"3c9E%/g;1?bl42s8VARs*t~>
+aSuD?L'.c2rr3,:+p\=WrVum#!CH)<s8VWerrUer*<$'B.<j#4rrDTgrrc%!"?F^'rrcp:ZN'In
+rrg+W"9aJRrr_)C?Q=V"r<*?@+p;N6s8VWgs8VWgrrhVA$l5/Crs6D7"?EdQs8V-Wrs&#ns6<Se%
+#>#d%.jZ4.=g%Ms7--Ss4nXt%!V"6rraMKs8VB_rrdi\"9e#arr^Jq.1H.X!aib5rr<#`S,\!~>
+aSuD4L'.c2rr3,:+p\=WrVum#!CH)<s8VWerrUer*<$'B.<j#4rrDTgrrc%!"?F^'rrcp:ZN'In
+rrg+W"9aJRrr_)C?Q=V"r<*?@+p;N6s8VWgs8VWgrrhVA$l5/Crs6D7"?EdQs8V-Wrs&#ns6<Se%
+#>#d%.jZ4.=g%Ms7--Ss4nXt%!V"6rraMKs8VB_rrdi\"9e#arr^Jq.1H.X!aib5rr<#`S,\!~>
+aSuD5G6A$mrr3,:.0KdZrVum#!BKH0rrhl9R6hnm"9TW1_!:Um"@<M"6GWKu!eq]#rr35Znc,mD
+()DH"rrDTbrr_es66c@2"q3guJ;0AUqM,!"!eu5[rI>0.J;/T/J;/T/rI>60J;/T/J;/T/J;4#Q
+#_mkaJ;/T/J;4#Q$AO(cJ;/T/J;/T/rI>0.J;/T/J;/T/rI>60J;/T/J;/T/J;4#Q#_mkaJ;/T/
+J;4&R$?q#dR>+]]"9`>mqu6Z]rr3+e1B^%M^&J<,Z<n@UB%R%^!:'L^$0m6b"9],n?TB,&9`dX;
+3W1`7.3/=2r@%_&r[Ijk!#Da@!"A`-rs\c-":R;FfCAe=#P%iM*!?\#lMLSa*!H<Anc&Ohl=U"u
+!:':X"QR;'*";fL!t7M.ZM"7tnYZ>:~>
+aSuD5G6A$mrr3,:.0KdZrVum#!BKH0rrhl9R6hnm"9TW1_!:Um"@<M"6GWKu!eq]#rr35Znc,mD
+()DH"rrDTbrr_es66c@2"q3guJ;0AUqM,!"!eu5[rI>0.J;/T/J;/T/rI>60J;/T/J;/T/J;4#Q
+#_mkaJ;/T/J;4#Q$AO(cJ;/T/J;/T/rI>0.J;/T/J;/T/rI>60J;/T/J;/T/J;4#Q#_mkaJ;/T/
+J;4&R$?q#dR>+]]"9`>mqu6Z]rr3+e1B^%M^&J<,Z<n@UB%R%^!:'L^$0m6b"9],n?TB,&9`dX;
+3W1`7.3/=2r@%_&r[Ijk!#Da@!"A`-rs\c-":R;FfCAe=#P%iM*!?\#lMLSa*!H<Anc&Ohl=U"u
+!:':X"QR;'*";fL!t7M.ZM"7tnYZ>:~>
+aSuD5G6A$mrr3,:.0KdZrVum#!BKH0rrhl9R6hnm"9TW1_!:Um"@<M"6GWKu!eq]#rr35Znc,mD
+()DH"rrDTbrr_es66c@2"q3guJ;0AUqM,!"!eu5[rI>0.J;/T/J;/T/rI>60J;/T/J;/T/J;4#Q
+#_mkaJ;/T/J;4#Q$AO(cJ;/T/J;/T/rI>0.J;/T/J;/T/rI>60J;/T/J;/T/J;4#Q#_mkaJ;/T/
+J;4&R$?q#dR>+]]"9`>mqu6Z]rr3+e1B^%M^&J<,Z<n@UB%R%^!:'L^$0m6b"9],n?TB,&9`dX;
+3W1`7.3/=2r@%_&r[Ijk!#Da@!"A`-rs\c-":R;FfCAe=#P%iM*!?\#lMLSa*!H<Anc&Ohl=U"u
+!:':X"QR;'*";fL!t7M.ZM"7tnYZ>:~>
+aSuD.AdAM`rr3,,*!?DMrVum#!CH);rr_PlAfUdQ!t7nlfDPXKnbiCinc/XS3W9-m1I=)X1En7f
+"=YND1EnVT.K0GQB(>p$nc&RenbrIh^f;0L"9T',RHf\0#0^Zf"CIS^q#:T7+p:Was8VW+rrDTf
+rsRk!"9^a#s8VWhs7-*g&(aea"<sN=s4?f@s7,XZs8MQdl3#Yoh;eFu"68\&j8Rm3irIp3fDae<
+h;d>OfA5'7fA5'7rRV>2fA5'7fA5'7rRVD4fA5'7fA5'7fA6DW#i4+gfA5'7fA6DW"l7edfA5'W
+h>ZF:h3LbDrWE?>3PaJ@rVuofrr3/R('GCbbl7/4rsn'U1ZSMknc/XSL*@B9nalb_lBsF:r<*<R
+B!Ut,s6?3UJ,~>
+aSuD.AdAM`rr3,,*!?DMrVum#!CH);rr_PlAfUdQ!t7nlfDPXKnbiCinc/XS3W9-m1I=)X1En7f
+"=YND1EnVT.K0GQB(>p$nc&RenbrIh^f;0L"9T',RHf\0#0^Zf"CIS^q#:T7+p:Was8VW+rrDTf
+rsRk!"9^a#s8VWhs7-*g&(aea"<sN=s4?f@s7,XZs8MQdl3#Yoh;eFu"68\&j8Rm3irIp3fDae<
+h;d>OfA5'7fA5'7rRV>2fA5'7fA5'7rRVD4fA5'7fA5'7fA6DW#i4+gfA5'7fA6DW"l7edfA5'W
+h>ZF:h3LbDrWE?>3PaJ@rVuofrr3/R('GCbbl7/4rsn'U1ZSMknc/XSL*@B9nalb_lBsF:r<*<R
+B!Ut,s6?3UJ,~>
+aSuD.AdAM`rr3,,*!?DMrVum#!CH);rr_PlAfUdQ!t7nlfDPXKnbiCinc/XS3W9-m1I=)X1En7f
+"=YND1EnVT.K0GQB(>p$nc&RenbrIh^f;0L"9T',RHf\0#0^Zf"CIS^q#:T7+p:Was8VW+rrDTf
+rsRk!"9^a#s8VWhs7-*g&(aea"<sZAs4?f@s7,XZs8MQdl3#Yoh;eFu"68\&j8Rm3irIp3fDae<
+h;d>OfA5'7fA5'7rRV>2fA5'7fA5'7rRVD4fA5'7fA5'7fA6DW#i4+gfA5'7fA6DW"l7edfA5'W
+h>ZF:h3LbDrWE?>3PaJ@rVuofrr3/R('GCbbl7/4rsn'U1ZSMknc/XSL*@B9nalb_lBsF:r<*<R
+B!Ut,s6?3UJ,~>
+aSuD.G6A1#rr3,:+p8%SrVum#!CH)>rrhW2R8"\#"9Ti[ZLRVfs7--h!U<\M"9aJLs8VBVrr_es
+3>VPr!DTltrrMZTrr3#hs82<js7--Zs7--dnHf0bs7--Zs7--dnHT$`s7--Zs82<ls7--Zs7--Z
+s82<js7--Zs7--dnHf0bs7--Zs7--dnHT$`s7--Zs8DKfrs/(^+p8ZUs7-$e!:g'g",8!&*<,s=
+lLDdl!:fpc#G<7D,,"6$nbW7gZ7,o#L5Z'=lC_K."9]K,T]>S8rrL=Pl3%+PnG`U7Ag/#i"9TEH
+ZK(o`rpcfaJ,~>
+bPqhEs8VA.":-IUrrg+]"9c%/s8N3&6L+"="R=4!9cX-8"!V?_nb)q^nc/Uil;d*P"GZIHs6B7V
+"7`ZW(B"@:9sX]s!V,ISrrMZiqsamjnc/.Znc/LV#ljGpnc/.Znc/LV#645nnc/.Zqsaslnc/.Z
+nc/.Zqsamjnc/.Znc/LV#ljGpnc/.Znc/LV#645nnc/.ZrUKpf#P"3+";X`3nbiCenc&OjL*?a?
+rr3#an\bA,nbW7jTHXL_T^)RIqYp](.0LiLMuO.LTO/lG";X=sj72gB!R(u;"9@`Vrr^JW+r:.\
+!u>7Lj8K#WnYH28~>
+bPqh:s8VA.":-IUrrg+]"9c%/s8N3&6L+"="R=4!9cX-8"!V?_nb)q^nc/Uil;d*P"GZIHs6B7V
+"7`ZW(B"@:9sX]s!V,ISrrMZiqsamjnc/.Znc/LV#ljGpnc/.Znc/LV#645nnc/.Zqsaslnc/.Z
+nc/.Zqsamjnc/.Znc/LV#ljGpnc/.Znc/LV#645nnc/.ZrUKpf#P"3+";X`3nbiCenc&OjL*?a?
+rr3#an\bA,nbW7jU`opcV!A!MqYp](.0LiLMuO.LUgG;K";X>"j72gB!R(u;"9@`Vrr^JW+r:.\
+!u>7Lj8K#WnYH28~>
+a8Z6l":-4Nrrg+d"9c%/s8N3&3U6,6%.Vq].1?=^$po^)h=:LE!T!;<rrJOnqS39?R@otRQN"]!
+ZN%]@RDAh%!:fX["7"J^%/pA3*&E?$P5b^UTHXLAQM:C_j+%786CI`N!:d`%#-p5l%$pq`rVllf
+rr3/-.0Kd>n]_"7nc/.Ys8VWhs8VWgrrV`jnc&Rgnc/XhnbiFenc/Xhnc&Oinc/.Ys8VWgrrDTg
+rrDTgrsJ;?R9pp:"<;$ZlMgealLFcO#4_`Ys3)o-lN@4Qo)A^[rr3&[^fC:8"%%b-nY#o4~>
+bPqhEs8VtH":-4Nrrg+d"9c%/s8N3&3U6,6%.Vq].1?=^$po^)h=:LE!T!;<rrJOnqS39?R@otR
+QN"]!ZN%]@RDAh%!:fX["7"J^%/pA3*&E?$P5b^UTHXLAQM:C_j+%786CI`N!:d`%#-p5l%$pq`
+rVllfrr3/-.0Kd>n]_"7nc/.Ys8VWhs8VWgrrV`jnc&Rgnc/XhnbiFenc/Xhnc&Oinc/.Ys8VWg
+rrDTgrrDTgrsJ;?R9pp:"<;$ZlMgealLFcO#4_`Ys3)o-lN@4Qo)A^[rr3&[^fC:8"%%b-nY#o4~>
+bPqh:s8VS=":-4Nrrg+d"9c%/s8N3&3U6,6%.Vq].1?=^$po^)h=:LE!T!;<rrJOnqS39?RA?7V
+QN"]!ZN%]@RDAh%!:fX["7"J^%/pA3*&E?$P5b^UU`opEQM:C_j+%786CI`N!:d`%#-p5l%$pq`
+rVllfrr3/-.0Kd>n]_"7nc/.Ys8VWhs8VWgrrV`jnc&Rgnc/XhnbiFenc/Xhnc&Oinc/.Ys8VWg
+rrDTgrrDTgrsJ;?R9pp:"<;$ZlMgealLFcO#4_`Ys3)o-lN@4Qo)A^[rr3&[^fC:8"%%b-nY#o4~>
+a8Z77$j7dRrrg+d"9c%/s8N3&6L+.A"7!1(.K0GP$pq8irVlrhlLFiQ!:fg`!:&kL!:fCT"7_dR
+(B+F<1PX_MrrpVH":SYtq#:N59`tT!fDP[Kn\Y;+nbrImnc/XL63K*[p\tB?.0Kbtp&>$^o)A^[
+Y5\QhAet@K!ut[@nc&Ognb`=en`p#O!PmaNrrD?`rs/)os6>nE*";fL!\%KlU&TW~>
+bl@_?rr3(n$j7dRrrg+d"9c%/s8N3&6L+.A"7!1(.K0GP$pq8irVlrhlLFiQ!:fg`!:&kL!:fCT
+"7_dR(B+F<1PX_MrrpVH":SYtq#:N59`tT!fDP[Kn\Y;+nbrImnc/XL63K*[p\tB?.0Kbtp&>$^
+o)A^[Y5\QhAet@K!ut[@nc&Ognb`=en`p#O!PmaNrrD?`rs/)os6>nE*";fL!\%KlU&TW~>
+bl@_4rr3(r$j7dRrrg+d"9c%/s8N3&6L+.A"7!1(.K0GP$pq8irVlrhlLFiQ!:fg`!:&kL!:fCT
+"7_dR(B+F<1PX_MrrpVH":SYtq#:N59`tT!fDP[Kn\Y;+nbrImnc/XL63K*[p\tB?.0Kbtp&>$^
+o)A^[Y5\QhAet@K!ut[Dnc&Ognb`=en`p#O!PmaNrrD?`rs/)os6>nE*";fL!\%KlU&TW~>
+a8Z8,+p9+hrrhdb"9c%/s8N3&6L+4C!mHBZrWE?4,#t<$\GlZeR8"n)"9KcZ_#+-3nY6$`nc&Ol
+TIC!PL?ea;!:g$f"J@OR"G!`V"l2KJ"JG&YrrDTgrs&"Z.0KdHj-TcJn^jFXrWE<3,'V8Crr^&\
+1CX6c![;7.r;QceWW.J~>
+c2[h@rVm8j+p9+iqtnr="9c%/s8N3&6L+4C!mHBZrWE?4,#t<$\GlZeR8"n)"9KcZ_#+-3nY6$`
+nc&OlTIC!PL?ea;!:g$f"J@OR"G!`V"l2KJ"JG&YrrDTgrs&"Z.0KdHj-TcJn^jFXrWE<3,'V8C
+rr^&\1CX6c![;7.r;QceWW.J~>
+c2[h5rVm8j+p9+inF4Fl"9c%/s8N3&6L+4C!mHBZrWE?4,#tH(\GlZeR8"n)"9KcZ_#+-3nY6$`
+nc&OlUaZETL?ea;!:g$f"JdgV"G!`V"l2KJ"Jk>]rrDTgrs&"Z.0KdLj-TcJn^jR\rWE<3,'V8C
+rr^&\1CX6c![;7.r;QceWW.J~>
+a8Z7t*!@Jbrrhdj"9c%/s8N3&3U6PB!:fsd$%P#O"9]]#QH\m+rsJ&OL,05@":Sn1h>[HSnY?*i
+lMpmi+p9p!nbrIpn`p/Sn\?RV6F--brs6hU"9`)ss8VWdrrp2)"9`>mRK!??L,8f3"=\l,bji4C
+!pZFjqud'WRH+8G!:d,iJ,~>
+bl7\?rVm8]*!@Jcs81AI"9c%/s8N3&3U6PB!:fsd$%P#O"9]]#QH\m+rsJ&OL,05@":Sn1h>[HS
+nY?*ilMpmi+p9p!nbrIpn`p/Sn\?RV6F--brs6hU"9`)ss8VWdrrp2)"9`>mRK!??L,8f3"=\l,
+bji4C!pZFjqud'WRH+8G!:d,iJ,~>
+bl7\4rVm8]*!@Jcs7"$."9c%/s8N3&3U6PB!:fsd$%P#O"9]]#QH\m+rsJ&OL,05@":Sn1h>[HS
+nY?*ilMpmi+p9p%nbrIpn`p/Sn\?RV6F--brs6hU"9`)ss8VWdrrp2)"9`>mRK!??L,8f3"=\l,
+bji4C!pZRnqud'WRH+8G!:d,iJ,~>
+a8Z7n&Hj<WrrhLs"9c%/s8N3&6L+FI"nCl`G>/kP"9M<'lMLV]n[AH(lEX+m"9]--QK+b?!V,IS
+rrfV`">djmrt"Z"n`oZEs0=Wn:!EY;naWj`"lk=?"?F9mrs?Jk"9_`?s8VWZW;cn`nb`=lj-E"?
+"9]LUf<P>Wf67Z%"9UZPbjh\4J,~>
+bl7\?rVm8W&Hj<XqtoPg"9c%/s8N3&6L+FI"nCl`G>/kP"9M<'lMLV]n[AH(lEX+m"9]--QK+b?
+!V,ISrrfV`">djmrt"Z"n`oZEs0=Wn:!EY;naWj`"lk=?"?F9mrs?Jk"9_`?s8VWZW;cn`nb`=l
+j-E"?"9]LUf<P>Wf67Z%"9UZPbjh\4J,~>
+bl7\4rVm8W&Hj<XnF5!b"9c%/s8N3&6L+FI"nCl`G>/kP"9M<'lMLV]n[AH(lEX+m"9]--QK+b?
+!V,ISrrfV`">djmrt"Z"n`oZEs0=Wn:!EY;naWj`"lk=?"?F9mrs?Jk"9_`?s8VWZW;cn`nb`=l
+j-E"?"9]LUf<P>Wf67Z%"9UZPbjh\4J,~>
+a8Z7b$j7dRrrhLb"9c%/s8N3&6L+IJ"5T80(B"@;6D3B;s8VWgrrD>krrTuJ,5q]I$os'dV#Lhm
+s8TAR"=^#6s8VWerrq\\3<W^5rr2u`ZMssqlMgedQ5g#fbkV2CnKJ)=?etbPT`57b64<u"1PW]N
+s8VWhrr_f8J/nOk!t6W&^oIEb~>
+a8ZOj$j7dSqtoPV"9c%/s8N3&6L+IJ"5T80(B"@;6D3B;s8VWgrrD>krrTuJ,5q]I$os'dV#Lhm
+s8TAR"=^#6s8VWerrq\\3<W^5rr2u`ZMssqlMgedQ5g#fbkV2CnKJ)=?etbPT`57b64<u"1PW]N
+s8VWhrr_f8J/nOk!t6W&^oIEb~>
+a8ZOj$j7dSnF5"/"9c%/s8N3&6L+IJ"5T80(B"@;6DWZ?s8VWgrrD>krrTuJ,5q]I$os'dV#Lhm
+s8TAR"=^/:s8VWerrq\`3<W^5rr2u`ZMssqlMgedQ5g#fbkV2CnKJ)=?etbPT`57b64<u"1PW]N
+s8VWhrr_f8J/nOk!t6W&^oIEb~>
+ao;P>s2tNJ,6%TFmnEofZMjh'"9COQrVlu8J3j\D"9KQTT`+lklLCqT!o9/:r<*0AB!S?7#P%iZ
+J.)Q0ZMsk(nbiCjl=L/%1X**'!:fmb"Md##1U?fU"liqm"@BDhrr_;S?ShZa"BE8;s7*>n!:g!e
+!mGj.rWE<=<O1nls*t~>
+ao;hFs2tNJ,6.Q;ekH8MZMjh'"9COQrVlu8J3j\D"9KQTT`+lklLCqT!o9/:r<*0AB!S?7#P%iZ
+J.)Q0ZMsk(nbiCjl=L/%1X**'!:fmb"Md##1U?fU"liqm"@BDhrr_;S?ShZa"BE8;s7*>n!:g!e
+!mGj.rWE<=<O1nls*t~>
+ao;hFs2tNJ,6.0%`_?R=ZMjh'"9COQrVlu8J3j\D"9KQTV#C;olLCqT!o9/:r<*0AB!S?7#P%iZ
+J.)Q0ZMsk(nbiCjl=L/%1X**'!:fmb"Md##1U?fU"liqm"@BDhrr_;W?ShZa"BE8;s7*>n!:g!e
+!mGj.rWE<=<O1nls*t~>
+a8Z7c#QuUUrrg+n"9c%/rs/`9<Sd]T^iq7,"9T&PRD?$+!:f[\!h!X?rWE9B6D1@Y#P%iSL)'nJ
+ZM=G'^f:L??d.:)!:e;5#f%kl1R@>+s7-$e$KHj\">cA/s8VBSZN'porVm2aR8"Y(":R):fDbdM
+lEC3fnb`=ef3eIZ"!V?Mj8T&YnbN1bn\"mP~>
+a8Z7c#QuUUrrg+n"9c%/rs/`9<Sd]T^iq7,"9T&PRD?$+!:f[\!h!X?rWE9B6D1@Y#P%iSL)'nJ
+ZM=G'^f:L??d.:)!:e;5#f%kl1R@>+s7-$e$KHj\">cA/s8VBSZN'porVm2aR8"Y(":R):fDbdM
+lEC3fnb`=ef3eIZ"!V?Mj8T&YnbN1bn\"mP~>
+a8Z7c#QuUUrrg+n"9c%/rs/`9<Sd]T^iq7,"9T&PRD?$+!:f[\!h!X?rWE9B6DUX]#P%iSL)'nJ
+ZM=G'^f:L??d.:)!:e;5#f%kl1R@>+s7-$e$KHj\">cA/s8VBSZN'porVm2aR8"Y(":R):fDbdM
+lEC3fnb`=ef3eIZ"!V?Qj8T&YnbN1bn\"mP~>
+a8Z7c$j8$YrrfVI"9c%/s8N3(9sUEdr<*3Y<P[5.s8VWhrrDTBrsS@i9ah.?";ZaWs7*8l"gV,2
+$td`_rrDTerrn-;";ZODfDbj@r;QcefDc-Hs8TAb":TM1rr<#`rr3>cQ6HGOZLRtplLDOe!:'R`
+s7,sc"7"oR3W9-`.;#mGZMsppnc&^]ba(9f"9p&^bl@_5lF$YB~>
+a8Z7c$j8$YrrfVI"9c%/s8N3(9sUEdr<*3Y<P[5.s8VWhrrDTBrsS@i9ah.?";ZaWs7*8l"gV,2
+$td`_rrDTerrn-;";ZODfDbj@r;QcefDc-Hs8TAb":TM1rr<#`rr3>cQ6HGOZLRtplLDOe!:'R`
+s7,sc"7"oR3W9-`.;#mGZMsppnc&^]ba(9f"9p&^bl@_5lF$YB~>
+a8Z7c$j8$YrrfVI"9c%/s8N3(9sUQhr<*3Y<P[5.s8VWhrrDTBrsS@m9ah.?";ZaWs7*8l"gV,2
+$td`_rrDTerrn-;";ZODfDbj@r;QcefDc-Hs8TAb":TM1rr<#`rr3>cQ6HGOZLRtplLDOe!:'R`
+s7,sc"7"oR3W9-`.;#mGZMsppnc&^]ba(9f"9p&^bl@_5lF$YB~>
+a8Z7c&HjQ^rrfVI"9c%/rrWB4":Y53"'(Z2lMghRnbrLfnaZYMn^.:BlC^-G":PD9B$@FX()@#U
+?g@[]nc.nEs8V,P"9^0Hs8VWZf)Ga?d/OBqAcr6:_#OH)rr38os8SB#";YA#Y5\gaTO0,N":R;@
+bl%JAn`lkK"7![6*<$'B(0/0JrrDT"s*t~>
+a8Z7c&HjQ^rrfVI"9c%/rrWB4":Y53"'(Z2lMghRnbrLfnaZYMn^.:BlC^-G":PD9B$@FX()@#U
+?g@[]nc.nEs8V,P"9^0Hs8VWZf)Ga?d/OBqAcr6:_#OH)rr38os8SB#";YA#Y5\gaTO0,N":R;@
+bl%JAn`nI#rqk=I"7![6*<$'B(0/0JrrDT"s*t~>
+a8Z7c&HjQ^rrfVI"9c%/rrWB4":Y53"'(Z2lMghRnbrLfnaZYMn^.:BlD-EK":PD9B$@FX()@#U
+?g@[]nc.nEs8V,T"9^0Ls8VWZf)Ga?d/OBqAcr6:_#OH)rr38os8SB#";YA#Y5\gaUgGPR":R;@
+bl%JAn`nI#rp\P>"7![6*<$'B(0/0JrrDT"s*t~>
+a8Z7n&HjQ^rrfVI"9c%/s83!%(/:IeWW*"hs7c$`s8MNglM^_cn`/5O(B+F=$r+OhZi:3EG6A%\
+fD5FMf2VqV6GV%L"5RR^bglannc/Umh1cmP1SFaIs7-*g"mUgX";[F)s8VW&rrV`UnbiCgh1drh
+"9Uu&ZK&+f!V,INnGrUcnc/UhlMgeb^bZc*"9]\nRH*i9rrDT%s*t~>
+a8Z7n&HjQ^rrfVI"9c%/s83!%(/:IeWW*"hs7c$`s8MNglM^_cn`/5O(B+F=$r+OhZi:3EG6A%\
+fD5FMf2VqV6GV%L"5RR^bglannc/Umh1cmP1SFaIs7-*g"mUgX";[F)s8VW&rrV`UnbiCgh1drh
+"9Uu&ZK'+-s82!Z!V,INnGrUcnc/UhlMgeb^bZc*"9]\nRH*i9rrDT%s*t~>
+a8Z7n&HjQ^rrfVI"9c%/s83!%(/:UiWW*"hs7c$`s8MNglM^_cn`/5O(B+F=$r+OhZi:3EG6A%\
+fD5FMf2VqV6GV%L"5RRbbglannc/Umh1cmP1Sk$Ms7-*g"mUgX";[F)s8VW&rrV`UnbiCgh1drh
+"9Uu&ZK'+-s7#4O!V,INnGrUcnc/UhlMgeb^bZc*"9]\nRH*i9rrDT%s*t~>
+a8Z7c&HjQ^rrfVI"9c%/rriN@"=])]rVm8qs-B'sR@0A,R@0B?R0o7JR?j/,QA1.0lL=fXTU(n3
+R?j07R0TCjTX(5`REY$t!:f:Q!L>bE"9UZMfBTmG"ll","<<0qrt"Z"nc/XSR54sKQK/#FnaY93
+$1Z6-9`tSJL>DCOrrMETrr3Y;1B\,:j8]/Ls8VWhnXq'/*-^5GrrUE!3W9-^*('8s!:f1Ns7*u+
+&+Srbs4tne9ah.-$lilplFHqF~>
+a8Z7c&HjQ^rrfVI"9c%/rriN@"=])]rVm8qs-B'sR@0A,R@0B?R0o7JR?j/,QA1.0lL=fXTU(n3
+R?j07R0TCjTX(5`REY$t!:f:Q!L>bE"9UZMfBTmG"ll","<<0qrt"Z"nc/XSR54sKQK/#FnaY93
+$1Z6-9`tSJL>DCOrrMETrr3Y;1B\,:j8]/Ls8VWhnXq'/*-^5GrrUE!3W9-^*('8s!:f1Ns7*u+
+&+Srbs4tne9ah.-$lilplFHqF~>
+a8Z7c&HjQ^rrfVI"9c%/rriN@"=])]rVm8qs-B'sR@0A,R@0B?R0o7JR?j/,QA1.0lL=fXUm@=7
+R?j07R0TOnUp?elREY$t!:f:Q!L>bE"9UZMfBTmG"ll","<<0qrt"Z"nc/XSR54sKQK/#FnaY93
+$1Z6-9`tSJL>DCOrrMETrr3Y;1B\,:j8]/Ls8VWhnY@?3*-^5GrrUE!3W9-^*('8s!:f1Ns7*u+
+&+Srbs4tne9ah.-$lilplFHqF~>
+a8Z7c&HjQ^rrfVI"9c%/rrWB43LTmHs7$3klJj\h"9],9(1u1frr<i$"9<'%rs&#/TL)XQ<VoK!
+<D?If<C0\[3DG%0lM^_`Z8;I_!t6A\^qKaSnc/XZL)^=!j6HXDs7-*g"J?M5%"Qe+!Pg_m"9KQt
+lI,\9^bZ)r?g@Xj!:g$f"L:#j"G!r\!mHrjr<*1/bj*dZ!qFl/r)Ebl?i"@=Q=_p[L;;F2rr_es
+L0sjQ#ZXT!9iXnf9i_-d!^^M7qYpW^^fC=9!ZYR_])R9~>
+a8Z7c&HjQ^rrfVI"9c%/rrWB43LTmHs7$3klJj\h"9],9(1u1frr<i$"9<'%rs&#/TL)XQ<VoK!
+<D?If<C0\[3DG%0lM^_`Z8;I_!t6A\^qKaSnc/XZL)^=!j6HXDs7-*g"J?M5%"Qe+!Pg_m"9KQt
+lI,\9^bZ)r?g@Xj!:g$f"L:#j"G!r\!mHrjr<*1/bj*dZ!qFl/r)Ebl?i"@=Q=_p[L;;F2rr_es
+L0sjQ#ZXT!9iXnf9i_-d!^^M7qYpW^^fC=9!ZYR_])R9~>
+a8Z7c&HjQ^rrfVI"9c%/rrWB43LTmHs7$3klJj\h"9],9(1u1frr<i$"9<'%rs&#/UdA'U<VoK!
+<D?If<C0\[3DG%0lM^_`Z8;I_!t6A\^qKaSnc/XZL)^=!j6HXDs7-*g"Jce9%"Qe+!Pg_m"9KQt
+lI,\9^bZ)r?g@Xj!:g$f"L:#j"G!r\!mHrjr<*1/bj*dZ!qFl/r)Ehn?Y5`)Ad=`iR:]f\^t8,V
+"7`[O?i3V(<D?If<D?If<W,Vn6>"%0rrVK$<W*%%*+-Lms*t~>
+b5V\9s8U;'"=!jF"McGl"LA"+rr`KFh>dNFnbrIt1B[iH1G_$XAgmj33B8np3<V,H"9aJJrsU(S
+"<msa$l/s]$j7RI"9UF_"D7'$!6jj6!u;"BRJHj`.3/<i"t=/ilMpnSaSu81qYp]61B[h@qu6ok
+s4pZX"<tY1rrL_YrWEO%bh\[2"9^`jj88iVlJ2CEnc/WT$j7c?rVuofs8N7q*!?C)f=V%gn\AK?
+"9]-5_#=95fCoCJ(A7k4ZN'IarrgOK('G'D"99&-"9Aq:nG`LKlN@4'pAY/],5hWH3JQA[^Ai]~>
+b5V\9s8U;'"=!jF"McGl"LA"+rr`KFh>dNFnbrIt1B[iH1G_$XAgmj33B8np3<V,H"9aJJrsU(S
+"<msa$l/s]$j7RI"9UF_"D7'$!6jj6!u;"BRJHj`.3/<i"t=/ilMpnSaSu81qYp]61B[h@qu6ok
+s4pZX"<tY1rrL_YrWEO%bh\[2"9^`jj88iVlJ2CEnc/WT$j7c?rVuofs8N7q*!?C)f=V%gn\AK?
+"9]-5_#=95fCoCJ(A7k4ZN'IarrgOK('G'D"99&-"9Aq:nG`LKlN@4'pAY/],5hWH3JQA[^Ai]~>
+b5V\9s8U;'"=!jF"McGl"LA"+rr`KFh>dNFnbrIt1B[iH1G_$XAgmj33B8np3<V,H"9aJJrsU(S
+"<msa$l/s]$j7RI"9UF_"D7'$!6jj6!u;"BRJHj`.3/<i"t=/ilMpnSaSu81qYp]61B[h@qu6ok
+s4pZX"<tY1rrL_YrWEO%bh\[2"9^`jj88iVlJ2CEnc/WT$j7c?rVuofs8N7u*!?C)f=V%gn\AK?
+"9]-5_#=95fCoCJ(A7k4ZN'IarrgOK('G'D"99&-"9Aq:nG`LKlN@4'pAY/],5hWH3JQA[^Ai]~>
+b5V\@s8TkS"=!jF"McGl"LA"+rr`?Oj8Ao\nc/V<";^n7!eq--qu6Z]rWE4Un,F.C":UTabeV#[
+TM5i,TSB+oL6dQ&$teo,(X*!j(4_-oR>-H?*!A8rG>4BRL1UPkQMLO_lJ7jgrWEH73LSLhs8VWd
+rrD*&rrnf>":U%@qYpcUJ/etaT]=f,!qGR@rr35IL,/r86C-7&rs.S=+p8$/_"#qS$1Y;@"<=`I
+s6AnKrsA4g3<TJ>nc/XZ_>al&Z:u);":S:u_"%C'$/H!m$n2Sn":P_<"9958"995:"9QC=naQPY
+fDYmQ*;p!M*$PLg*#9_6$k+R#":W*8rrhTi":S</L(9Vq3<Y(kQA1-^Q8o'N_"I^0f75k$rWEB?
+B#*s:n\Y<V~>
+b5V\@s8TkS"=!jF"McGl"LA"+rr`?Oj8Ao\nc/V<";^n7!eq--qu6Z]rWE4Un,F.C":UTabeV#[
+TM5i,TSB+oL6dQ&$teo,(X*!j(4_-oR>-H?*!A8rG>4BRL1UPkQMLO_lJ7jgrWEH73LSLhs8VWd
+rrD*&rrnf>":U%@qYpcUJ/etaT]=f,!qGR@rr35IL,/r86C-7&rs.S=+p8$/_"#qS$1Y;@"<=`I
+s6AnKrsA4g3<TJ>nc/XZ_>al&Z:u);":S:u_"%C'$/H!m$n2Sn":P_<"9958"995:"9QC=naQPY
+fDYmQ*;p!M*$PLg*#9_6$k+R#":W*8rrhTi":S</L(9Vq3<Y(kQA1-^Q8o'N_"I^0f75k$rWEB?
+B#*s:n\Y<V~>
+b5V\@s8TkS"=!jF"McGl"LA"+rr`?Oj8Ao\nc/V<";^n7!eq--qu6Z]rWE4Un,F.C":UTabeV#[
+UeM80UkY\"L6dQ&$teo,(X*!j(4_-oR>-H?*!A8rG>4BRL1UPkQMLO_lJ7jgrWEH73LSLhs8VWd
+rrD*&rrnf>":U%@qYpcUJ/etaUuU50!qGR@rr35IL,/r86C-7&rs.S=+p8$/_"#qS$1Y;@"<=`I
+s6AnKrsA4k3<TJ>nc/XZ_>al&Z:u);":S:u_"%C'$/H!m$n2Sn":P_<"9958"995:"9QC=naQPY
+fDYmQ*;p!M*$PLg*#9_6$k+R#":W*8rrhTi":S</L(9Vq3<Y(kQA1-^Q8o'N_"I^0f75k$rWEB?
+B#*s:n\Y<V~>
+bPqhBnc/BP#Qu@Nrrg+n#R%I3s8N3&3TKr8$lfBcs7,XZs7'\(ZN'jm"P4%b"G#t@!uqFmnb`=f
+J-<1Trr^I\"D7'$"O%8W3U6MA"^`7Ts8VB`rr]P0"I\u`"65eL1]@LY(14lSrrDT;rrDTdrrq5/
+('GhSq>UWg?N_g4h:_i.j8T&_Z7,nZ(5D,RrrDTgrs,i0$j7>Xbjj?cs7--h"Mc2a.C/dL#0]C:
+"BFLPaSu;2lM^_aZ@Eqo"9TWf_!:dr)<qV5:"S"@bh((S66*embh([pb[qgtZN'Iartj8i*+-q6
+f?DJ!f-3#dfA4Zdbh#ht"MjO,"RuTt1Vinf!It=Lrr[cS"MjU.!MD7I"9K?_h80,A~>
+bPqhBnc/BP#Qu@Nrrg+;#R%I3s8N3&3TKr8$lfBcs7,XZs7'\(ZN'jm"P4%b"G#t@!uqFmnb`=f
+J-<1Trr^I\"D7'$"O%8W3U6MA"^`7Ts8VB`rr]P0"I\u`"65eL1]@LY(14lSrrDT;rrDTdrrq5/
+('GhSq>UWg?N_g4h:_i.j8T&_Z7,nZ(5D,RrrDTgrs,i0$j7>Xbjj?cs7--h"Mc2a.C/dL#0]C:
+"BFLPaSu;2lM^_aZ@Eqo"9TWf_!:dr)<qV5:"S"@bh((S66*embh([pb[qgtZN'Iartj8i*+-q6
+f?DJ!f-3#dfA4Zdbh#ht"MjO,"RuTt1Vinf!It=Lrr[cS"MjU.!MD7I"9K?_h80,A~>
+bPqhBnc/BP#Qu@Nrrg+n#R%I3s8N3&3TKr8$lfBcs7,XZs7'\(ZN'jm"P4%b"G#t@!uqFmnb`=f
+J-<1Trr^I\"D7'$"O%8W3U6MA"^`7Ts8VB`rr]P0"I\u`"65eL1]@LY(14lSrrDT;rrDTdrrq5/
+('GhWq>UWg?N_g4h:_i.j8T&_Z7,nZ(5D,RrrDTgrs,i0$j7>Xbjj?cs7--h"Mc2a.C/dL#0]C:
+"BFLPaSu;2lM^_aZ@Eqo"9TWf_!:dr)<qV5:"S"@bh((S66*embh([pb[qgtZN'Iartj8i*+-q6
+f?DJ!f-3#dfA4Zdbh#ht"MjO,"RuTt1Vinf!It=Lrr[cS"MjU.!MhOM"9K?_h80,A~>
+aSuD.Acr5\rr3,:.0p'^rVum#!@ck's8VWhrrjAF%0-@trr3%M"L@q)"QL[/"G#t@!ZV=err2u`
+rr3%3"JGYl"3^lNB'oU$bQJ&)lMgehnc/VL"Mk';j8T&\Z31;bq>UHTr;QigJ1:I#"<pQp_!9)B
+$1Z5H"9_`Vs8V-Wrrp2F":UUdf)H!FZ;hYC*-]3ts8VWhrsJ;rs5UCs"9]-5^t8Snnc/X).0Lif
+s8VWdrs4,X">d@`s6Amkrs@u+AfLpV$n6DEp\t?U"9`?5rrG+_qYp_L$j=BGnaQP]f)uLonb`@d
+,5V<AJ-6"jnG`a`"9^a:s8VWgrsXVbfBWD+nc/W5"9cO1rsJ%ZAjRI?":RVOj2CtJ~>
+aSuD.Acr5\rr3,:.0p'^rVum#!@ck's8VWhrrjAF%0-@trr3%M"L@q)"QL[/"G#t@!ZV=err2u`
+rr3%3"JGYl"3^lNB'oU$bQJ&)lMgehnc/VL"Mk';j8T&\Z31;bq>UHTr;QigJ1:I#"<pQp_!9)B
+$1Z5H"9_`Vs8V-Wrrp2F":UUdf)H!FZ;hYC*-]3ts8VWhrsJ;rs5UCs"9]-5^t8Snnc/X).0Lif
+s8VWdrs4,X">d@`s6Amkrs@u+AfLpV$n6DEp\t?U"9`?5rrG+_qYp_L$j=BGnaQP]f)uLonb`@d
+,5V<AJ-6"jnG`a`"9^a:s8VWgrsXVbfBWD+nc/W5"9cO1rsJ%ZAjRI?":RVOj2CtJ~>
+aSuD.Acr5\rr3,:.0p'^rVum#!@ck's8VWhrrjAF%0-@trr3%M"L@q)"QL[/"G#t@!ZV=err2u`
+rr3%3"Jkqp"3^lNB'oU$bQJ&)lMgehnc/VL"Mk';j8T&\Z31;bq>UHTr;QigJ1:I#"<pQp_!9)B
+$1Z5H"9_`Vs8V-Wrrp2F":UUdf)H!FZ;hYC*-]3ts8VWhrsJ;rs5UCs"9]-5^t8Snnc/X).0Lij
+s8VWdrs4,X">d@`s6Amkrs@u+AfLpV$n6DEp\t?U"9`?5rrG+_qYp_L$j=BGnaQP]f)uLonb`@d
+,5V<AJ-6"jnG`a`"9^a:s8VWgrsXVbfBWD+nc/W5"9cO1rsJ%ZAjRI?":RVOj2CtJ~>
+b5V\@b_@PL"=!jF"McGl"LA"+rr`?Yj8K#Xnc/Uj*!@&SrrRoX_#+-7l7!,EJFEL>*!@&VrrDTg
+rsW6;RK)gWj8].p"9`?(rrgpV"?H#LrrQ1'h>@3SZ31<'nc&[HQ9"pI!u<>0^s)f_lEXb*%!Ub2
+rrD*Yrs%bV3<UOVj8JuXn_F-LlHFbe"9`);rr<#grr<#grVm,YG;B@).>GXkrrD?`rro\P"<<`m
+rr<#gs8N;TAg.@XZLQ':$I"oF*!?B[L7lc\pAYBL"9_']s7,XYrrF)BqYpeT"9cO?nc/.Mrr^jU
+"F'_Brri<##4_`nAcr7\n,NCj!@bh]rr]P0j73'I"b6^Y_#Ns"rrDTfrrq6Ys6>=fr<*4&L9fXU
+s*t~>
+b5V\@b_@PL"=!jF"McGl"LA"+rr`?Yj8K#Xnc/Uj*!@&SrrRoX_#+-7l7!,EJFEL>*!@&VrrDTg
+rsW6;RK)gWj8].p"9`?(rrgpV"?H#LrrQ1'h>@3SZ31<'nc&[HQ9"pI!u<>0^s)f_lEXb*%!Ub2
+rrD*Yrs%bV3<UOVj8JuXn_F-LlHFbe"9`);rr<#grr<#grVm,YG;B@).>GXkrrD?`rro\P"<<`m
+rr<#gs8N;TAg.@XZLQ':$I"oF*!?B[L7lc\pAYBL"9_']s7,XYrrF)BqYpeT"9cO?nc/.Mrr^jU
+"F'_Brri<##4_`nAcr7\n,NCj!@bh]rr]P0j73'I"b6^Y_#Ns"rrDTfrrq6Ys6>=fr<*4&L9fXU
+s*t~>
+b5V\@b_@PL"=!jF"McGl"LA"+rr`?Yj8K#Xnc/Uj*!@&SrrRoX_#+-7l7!,EJFEL>*!@&VrrDTg
+rsW6;RK)gWj8].p"9`?(rrgpV"?H#LrrQ1'h>@3SZ31<+nc&[HQ9"pI!u<>0^s)f_lEXb*%!Ub2
+rrD*Yrs%bV3<UOVj8JuXn_F-LlHFbe"9`);rr<#grr<#grVm,YG;B@).>GXkrrD?`rro\P"<<`m
+rr<#gs8N;TAg.@XZLQ':$I"oF*!?B[L8<&`pAYBL"9_']s7,XYrrF)BqYpeT"9cO?nc/.Mrr^jU
+"F'_Brri<##4_`nAcr7\n,NCj!@bh]rr]P0j73'I"b6^Y_#Ns"rrDTfrrq6Ys6>=fr<*4&L9fXU
+s*t~>
+bl7e1TO/];"99nMrrgM$#R%I3s8N3&1ZS?3%-eT2"O+0W^p:af"GZfh"J?qI"GZCF![7a_qYpVI%
+'od1"3^lNB'oU$bR=V'nb`=h63P+(lM^_bZ31;rq>UHbp\tQ[AgnJu"<qH`lHfJCZ9e[6L?eg/j
+730>s6>=S"<=`ErrD??rrLq3rWE9YQKn/C!:g$f!qD[7rWE8GlIPt=^f:L?GMW,q#4^^V";ZOJc
+2Rk1f6@2s!t6Atbjtc9irfKlrVm#js8O&Arr2ugrr3.V"9cO?naQP\f)u4gqZ$QuqYpY0"9c%"r
+rhTi"<<j,rr]PH_"%@&"+ULW_"@X,nbN1kZ:uMY"9]--QJK[_J,~>
+bl7e1TO/];"99nMrrgM$#R%I3s8N3&1ZS?3%-eT2"O+0W^p:af"GZfh"J?qI"GZCF![7a_qYpVI%
+'od1"3^lNB'oU$bR=V'nb`=h63P+(lM^_bZ31;rq>UHbp\tQ[AgnJu"<qH`lHfJCZ9e[6L?eg/j
+730>s6>=S"<=`ErrD??rrLq3rWE9YQKn/C!:g$f!qD[7rWE8GlIPt=^f:L?GMW,q#4^^V";ZOJc
+2Rk1f6@2s!t6Atbjtc9irfKlrVm#js8O&Arr2ugrr3.V"9cO?naQP\f)u4gqZ$QuqYpY0"9c%"r
+rhTi"<<j,rr]PH_"%@&"+ULW_"@X,nbN1kZ:uMY"9]--QJK[_J,~>
+bl7e1UgG,?"99nMrrgM$#R%I3s8N3&1ZS?3%-eT2"O+0W^p:af"GZfh"Jd4M"GZCF![7a_qYpVI%
+'od1"3^lNB'oU$bR=V'nb`=h63P+(lM^_bZ31;rq>UHbp\tQ[AgnJu"<qH`lHfJCZ9e[6L?eg/j
+730>s6>=S"<=`ErrD??rrLq3rWE9YQKn/C!:g$f!qD[7rWE8GlIPt=^f:L?GMW,q#4^^V";ZOJc
+2Rk1f6@2s!t6Atbjtc9irfKlrVm#js8O&Arr2ugrr3.V"9cO?naQP\f)u4gqZ$QuqYpY0"9c%"r
+rhTi"<<j,rr]PH_"%@&"+ULW_"@X,nbN1kZ:uMY"9]--QJK[_J,~>
+dJj4:rr3#N:&Y8((*!G[1\h"Mh+\"TZMjh'"9COCrVm,ms8V@."9^aU"9T&8"F'>7(*!G[G@kGo
+?WC\u"BAf9<F9?M?N^LDmJd:4$k,K!rrQ1/fDGRMTEGC`m/I1JTJI#U"9MTIlMLS]n_*pGf2VqV
+?etSY"l3bn"CKd4rs%MO+p8#tL?njEZ;hYC"?EdJfDc#uAdeeuZMOS*nR!7="F'Chs8VWcrrVJO
+1]@LZ*)2jdnG`UN"9_a$rrEl<qYp_C"9cO?naQP\bQJ]*qZ$R8qYpYJ$j<!frtk2.";ZaD^p:8]
+f7k&qh>dNFs8R9G"Mj:%"5U7L(B+F<3LS_%s8MQcs8VWCs*t~>
+dJj4:rr3#N:&Y8((*!G[1\h"Mh+\"TZMjh'"9COCrVm,ms8V@."9^aU"9T&8"F'>7(*!G[G@kGo
+?WC\u"BAf9<F9?M?N^LDmJd:4$k,K!rrQ1/fDGRMTEGC`m/I1JTJI#U"9MTIlMLS]n_*pGf2VqV
+?etSY"l3bn"CKd4rs%MO+p8#tL?njEZ;hYC"?EdJfDc#uAdeeuZMOS*nR!7="F'Chs8VWcrrVJO
+1]@LZ*)2jdnG`UN"9_a$rrEl<qYp_C"9cO?naQP\bQJ]*qZ$R8qYpYJ$j<!frtk2.";ZaD^p:8]
+f7k&qh>dNFs8R9G"Mj:%"5U7L(B+F<3LS_%s8MQcs8VWCs*t~>
+dJj4:rr3#N:&Y8((*!G[1\h"Mh+\"TZMjh'"9COCrVm,ms8V@."9^aU"9T&8"F'>7(*!G[G@kGo
+?WC\u"BAf9<F9?M?N^LDmJd:4$k,K!rrQ1/fDGRMU]^gdm/I1JUb`GY"9MTIlMLS]n_*pGf2VqV
+?etSY"l3bn"CKd4rs%MO+p8#tL?njEZ;hYC"?EdJfDc#uAdeeuZMOS*nR!7="F'Chs8VWcrrVJO
+1]@LZ*)2jdnG`UN"9_a$rrEl<qYp_C"9cO?naQP\bQJ]*qZ$R8qYpYJ$j<!frtk2.";ZaD^p:8]
+f7k&qh>dNFs8R9G"Mj:%"5U7L(B+F<3LS_%s8MQcs8VWCs*t~>
+f`2!As8N)hrr3&[L,8c2%78:j&HjQXs8UnL"9c%/s8N3&3U6SC&Fof#nKJ)EfA59Jh;)ZOT^)I8
+"j@qh"D72nrrX5D"ASh=%MgK;">^f5+r2UV1B[hmmJd@A$j6\W%/g;<*"2s!$j6tS$mHYo%'o0u
+$LtE6*!?B[3FB)Wrr2ugh#@WLs1gDn*/<MMrro\g";Z45h>[KFrVm,_J/e[p<L2\0rrV5KB)Vo6
+1U>U3"dpP;(7+"[s8VWhrro\a";ZaWr;Qceg&D-6L,8f3![<B7mJe-q$l2jp^t72oj4?U5fA597
+h:LJ,+p>^]nc/.MrrgpV":QLP":[-i"=XHV*"2ri$j6^!n,N@i#!$m%+rip9rWETE3?fFl1DU)r
+_#NrnrrDTerr_f,J/nOk"!V*FlH]E[~>
+f`2!As8N)hrr3&[L,8c2%78:j&HjQXs8UnL"9c%/s8N3&3U6SC&Fof#nKJ)EfA59Jh;)ZOT^)I8
+"j@qh"D72nrrX5D"ASh=%MgK;">^f5+r2UV1B[hmmJd@A$j6\W%/g;<*"2s!$j6tS$mHYo%'o0u
+$LtE6*!?B[3FB)Wrr2ugh#@WLs1gDn*/<MMrro\g";Z45h>[KFrVm,_J/e[p<L2\0rrV5KB)Vo6
+1U>U3"dpP;(7+"[s8VWhrro\a";ZaWr;Qceg&D-6L,8f3![<B7mJe-q$l2jp^t72oj4?U5fA597
+h:LJ,+p>^]nc/.MrrgpV":QLP":[-i"=XHV*"2ri$j6^!n,N@i#!$m%+rip9rWETE3?fFl1DU)r
+_#NrnrrDTerr_f,J/nOk"!V*FlH]E[~>
+f`2!As8N)hrr3&[L,8c2%78:j&HjQXs8UnL"9c%/s8N3&3U6SC&Fof#nKJ)EfA59Jh;)ZOV!@m<
+"j@qh"D72nrrX5D"ASh=%MgK;">^f5+r2UV1B[hmmJd@A$j6\W%/g;<*"2s!$j6tS$mHYo%'o0u
+$LtE6*!?B[3FB)Wrr2ugh#@WLs1gDn*/<MMrro\g";Z45h>[KFrVm,_J/e[p<L2\0rrV5KB)Vo6
+1U>U3"dpP;(7+"[s8VWhrro\a";ZaWr;Qceg&D-6L,8f3![<B7mJe-q$l2jp^t72oj4?U5fA597
+h:LJ,+p>^]nc/.MrrgpV":QLP":[-i"=XHV*"2ri$j6^!n,N@i#!$m%+rip9rWETE3?fFl1DU)r
+_#NrnrrDTerr_f,J/nOk"!V*JlH]E[~>
+g]%9DqYpZfZ;h\>":ubhRFhK6+p9^ss8UnL"9c%/s8N3&3TL)<!:g'g!Ytn_qu6_P"Mjp7"QLI)
+"G#t@!ZVskqYpVI"Mjp7"3_M`B'oU7bR=n"GB[YLGB\ct"CGbQL3I!33<TJQkl1bT^iq"%"9TWN
+ZK'X<"P5F4,-q4J!:g'g"l5gS"<=)ers.i)?N^KO6J(K%!:g$f#G>ZK";Y@MlJ2C>nc&Ol^f:LW
+B$C8S!:g'g"i*G-"AQ]2s8VWErr_)_Ai'Dh!]akuli-tMrWE3:mfW^-s7,UY"kNkc1Os*:G7J5N
+()DXTAq4KDQ9k]_j7*'bl3%50QLXM*h;ddg*/<MDlK[p>Acr7Pm/R+Ur;QlaZ=Y<["9T',L;<`e
+rpeY@J,~>
+g]%9DqYpZfZ;h\>":ubhRFhK6+p9^ss8UnL"9c%/s8N3&3TL)<!:g'g!Ytn_qu6_P"Mjp7"QLI)
+"G#t@!ZVskqYpVI"Mjp7"3_M`B'oU7bR=n"GB[YLGB\ct"CGbQL3I!33<TJQkl1bT^iq"%"9TWN
+ZK'X<"P5F4,-q4J!:g'g"l5gS"<=)ers.i)?N^KO6J(K%!:g$f#G>ZK";Y@MlJ2C>nc&Ol^f:LW
+B$C8S!:g'g"i*G-"AQ]2s8VWErr_)_Ai'Dh!]akuli-tMrWE3:mfW^-s7,UY"kNkc1Os*:G7J5N
+()DXTAq4KDQ9k]_j7*'bl3%50QLXM*h;ddg*/<MDlK[p>Acr7Pm/R+Ur;QlaZ=Y<["9T',L;<`e
+rpeY@J,~>
+g]%9DqYpZfZ;h\>":ubhRFhK6+p9^ss8UnL"9c%/s8N3&3TL)<!:g'g!Ytn_qu6_P"Mjp7"QLI)
+"G#t@!ZVskqYpVI"Mjp7"3_M`B'oU7bR=n"GB[YLGB\ct"CGbQL3I!33<TJQkl1bT^iq"%"9TWN
+ZK'X<"P5F4,-q4J!:g'g"l5sW"<=5irs.i)?N^KO6J(K%!:g$f#GbrO";Y@MlJ2C>nc&Ol^f:LW
+B$C8S!:g'g"i*G-"AQ]2s8VWErr_)_Ai'Dh!]akuli-tMrWE3:mfW^-s7,UY"kNkc1Os*:G7J5N
+()DXTAq4KDQ9k]_j7*'bl3%50QLXM*h;ddg*/<MDlK[p>Acr7Pm/R+Ur;QlaZ=Y<["9T',L;<`e
+rpeY@J,~>
+h#IEErVm#cj!cu;rWEiXJBR6Xs7hub">fiQs4p!E"LA"+rr`?_j8&]V$j7"9rrSJhZMXY%h>RNZ
+GQ7^5o)Ab2"9eZ&#4__*"LA'mrVlu8"9`?(rrgOS"?H#LrrQ1'ZMXY(R03YIo)A^[r;Zcdrr3)j
+^kO'4"9T'>ZJF=9"P6WV"GZmT$1\&qj(8Ds*.[>4rrDTers8/=1COC%GJNb-rs#,F"9]-`n_!jG
+Z5`uM<O1ohrsS,ls-Xi0"CJtEs7+qF"5TVM*<$'B3L8M#s8VWgrrD?SrtlL[<Qr8&bh(Ij3>TEd
+bfn\_f4H30ZN'Iarr^IJ$tfA9!>Z[Orr[cS"O-B8#MfLc<TF,Lnc&OiTFA.'rr[cS"Mj$s"2KF]
+,5q]H.@/T`rrDTAs*t~>
+h#IEErVm#cj!cu;rWEiXJBR6Xs7hub">fiQs4p!E"LA"+rr`?_j8&]V$j7"9rrSJhZMXY%h>RNZ
+GQ7^5o)Ab2"9eZ&#4__*"LA'mrVlu8"9`?(rrgOS"?H#LrrQ1'ZMXY(R03YIo)A^[r;Zcdrr3)j
+^kO'4"9T'>ZJF=9"P6WV"GZmT$1\&qj(8Ds*.[>4rrDTers8/=1COC%GJNb-rs#,F"9]-`n_!jG
+Z5`uM<O1ohrsS,ls-Xi0"CJtEs7+qF"5TVM*<$'B3L8M#s8VWgrrD?SrtlL[<Qr8&bh(Ij3>TEd
+bfn\_f4H30ZN'Iarr^IJ$tfA9!>Z[Orr[cS"O-B8#MfLc<TF,Lnc&OiTFA.'rr[cS"Mj$s"2KF]
+,5q]H.@/T`rrDTAs*t~>
+h#IEErVm#cj!cu;rWEiXJBR6Xs7hub">fiQs4p!E"LA"+rr`?_j8&]V$j7"9rrSJhZMXY%h>RNZ
+GQ7^5o)Ab2"9eZ&#4__*"LA'mrVlu8"9`?(rrgOS"?H#LrrQ1'ZMXY(R03YIo)A^[r;Zcdrr3)j
+^kO'4"9T'>ZJF=9"P6WV"GZmT$1\&qj(8Ds*.[>4rrDTers8/=1COC%GJNb-rs#8J"9]-`n_!jG
+Z5`uM<O1ohrsS,ls-Xi0"CJtEs7+qF"5TbQ*<$'B3L8M#s8VWgrrD?SrtlL[<Qr8&bh(Ij3>TEd
+bfn\_f4H30ZN'Iarr^IJ$tfA9!>Z[Orr[cS"O-B8#MfLc<TF,Lnc&OiU^XR+rr[cS"Mj$s"2KF]
+,5q]H.@/T`rrDTAs*t~>
+f`)'DTM6F*"9K!+ZMOS/f+A-7q#CBM63IFsrVum#!BK39rrjSL"TSMlrr3%M"L@q)#O4)J"D7]6
+nac\]*"2uJrs&#nJ-<1XnbrIibQJ&\mJe!S('H)Vs8VWSs8PCofDkm2h<P$+"9bC`s8VWdrrV5d
+<W*%%,%eXKrrq]'"9]-fqYp`hJ//7jL>)Y4lBYEi"9_H7qYpQcjo5SATL&ba3Io`;rsA5qs7*B=
+"9^`jrVm/ns8TAR"9`r=rVllfir9>/Agn,k"<:./j8JuXnbiCenac\^irfKlqYpR3"T&-%G6A&a
+s7,UY"4mYYB)_f7n`p/E$j>kprs&#ns*tL\ZLIksl3%56ZMa_3nULbJlMpnLs8R9G"MjI*!:fmb
+!:g$f!p['urWE?4"F%0Aec1.~>
+f`)'DTM6F*"9K!+ZMOS/f+A-7q#CBM63IFsrVum#!BK39rrjSL"TSMlrr3%M"L@q)#O4)J"D7]6
+nac\]*"2uJrs&#nJ-<1XnbrIibQJ&\mJe!S('H)Vs8VWSs8PCofDkm2h<P$+"9bC`s8VWdrrV5d
+<W*%%,%eXKrrq]'"9]-fqYp`hJ//7jL>)Y4lBYEi"9_H7qYpQcjo5SATL&ba3Io`;rsA5qs7*B=
+"9^`jrVm/ns8TAR"9`r=rVllfir9>/Agn,k"<:./j8JuXnbiCenac\^irfKlqYpR3"T&-%G6A&a
+s7,UY"4mYYB)_f7n`p/E$j>kprs&#ns*tL\ZLIksl3%56ZMa_3nULbJlMpnLs8R9G"MjI*!:fmb
+!:g$f!p['urWE?4"F%0Aec1.~>
+f`)'DUeMj."9K!+ZMOS/f+A-7q#CBM63IFsrVum#!BK39rrjSL"TSMlrr3%M"L@q)#O4)J"D7]6
+nac\]*"2uJrs&#nJ-<1XnbrIibQJ&\mJe!S('H)Vs8VWSs8PCofDkm2h<P$+"9bOds8VWdrrV5d
+<W*%%,%eXKrrq]'"9]-fqYp`hJ//7jL>)Y4lBYEi"9_H7qYpQcjo5SAUd>1e3Io`;rsA5qs7*B=
+"9^`jrVm/ns8TAR"9`r=rVllfir9>/Agn,k"<:.3j8JuXnbiCenac\^irfKlqYpR3"T&-%G6A&a
+s7,UY"4mYYB)_f7n`p/E$j>kprs&#ns*tL\ZLIksl3%56ZMa_3nULbJlMpnLs8R9G"MjI*!:fmb
+!:g$f!p['urWE?4"F%0Aec1.~>
+gA_KER8kF6"=['"bkqDEq#CBh$j8$Xrr[HJ"LA"+rr`?_lM^__nc&Oi('HGkrr_P1"Mjp7#O4)R
+"G$OPnac\a*!@JUs8VWgrrQd8ZMXY(^`3JhmJdEs"9_`bs8VWgrrc[3fDk.7rr\Yl"JF`R$0o`b
+1B[gh,#t<8rrDTSrs7o[s5S;P">djls8VTos7(UZ"9cs6jo5>Nq#:TTAekLP<LN.Ns8VB[rsJ%s
+G?%X;9iYe[_"7R2b[qUn"?De(gA_?.Acr6'h>7-TZ<n"UB%R%^!:f.M!l.,OrWE<`B#*Hgrr_co
+"CM--"S)Nl('OX:!:g'g"bmEg_#NrsrrDTgrs.?_"BFL^s7-*g$l0!9s6B.Es8R9G"G$"A"R6a*
+,-q+G%#+nQlMpnSs8R9G"Mj.!!:fsd"5TAW1]@LZ*%?EofDg@~>
+gA_KER8kF6"=['"bkqDEq#CBh$j8$Xrr[HJ"LA"+rr`?_lM^__nc&Oi('HGkrr_P1"Mjp7#O4)R
+"G$OPnac\a*!@JUs8VWgrrQd8ZMXY(^`3JhmJdEs"9_`bs8VWgrrc[3fDk.7rr\Yl"JF`R$0o`b
+1B[gh,#t<8rrDTSrs7o[s5S;P">djls8VTos7(UZ"9cs6jo5>Nq#:TTAekLP<LN.Ns8VB[rsJ%s
+G?%X;9iYe[_"7R2b[qUn"?De(gA_?.Acr6'h>7-TZ<n"UB%R%^!:f.M!l.,OrWE<`B#*Hgrr_co
+"CM--"S)Nl('OX:!:g'g"bmEg_#NrsrrDTgrs.?_"BFL^s7-*g$l0!9s6B.Es8R9G"G$"A"R6a*
+,-q+G%#+nQlMpnSs8R9G"Mj.!!:fsd"5TAW1]@LZ*%?EofDg@~>
+gA_KER8kF6"=['"bkqDEq#CBh$j8$Xrr[HJ"LA"+rr`?_lM^__nc&Oi('HGkrr_P1"Mjp7#O4)R
+"G$OPnac\a*!@JUs8VWgrrQd8ZMXY(^`3JhmJdEs"9_`bs8VWgrrc[3fDk.7rr\Yl"Jk#V$0o`b
+1B[gh,#tH<rrDTSrs7o[s5S;P">djls8VTos7(UZ"9cs6jo5>Nq#:TTAekLP<LN.Ns8VB[rsJ%s
+G?%X;9iYe[_"7R2b[qUn"?De(gA_?.Acr6'h>7-TZ<n"UB%R%^!:f.M!l.,OrWE<`B#*Hgrr_co
+"CM--"S)Nl('OX:!:g'g"bmEg_#NrsrrDTgrs.?_"BFL^s7-*g$l0!9s6B.Es8R9G"G$"A"R6a*
+,-q+G%#+nQlMpnSs8R9G"Mj.!!:fsd"5TAW1]@LZ*%?EofDg@~>
+ir9&LlMgecj-aL.rWE<I:"Sq3rrDTfs8N3%,5qNDL'.XbrVum#!CH)IrtudZ1U=gJj6GHd.@K5]
+j4DN8bSC<aGQ7^'o)Ae@"?G*2rrQd8T_n`k^bZ+*o)A^[rVm#9('I@Ur;R5r63P+(h>d$Fs.BJt
+QK.uFnc&Ojn\BlRrWEH7,(S;Fs6B.RrrDT[rs8/ps5ShL"CJtCrs8/ps1h>3"CJt&rrMZTrVm)-
+63IE?GObY3!:g$f#4]KQ.2E[-o)o.^RGIE.rs->"*!?C)ZLRnn!UB46rrqG5$j8#bqYp`Z3<TI6
+_!h:'nb`=dlMgeilBt?^"9]K#JCif\#4Vg!:&k7`rVlmB"T&-%L'.Xps7,UY"4mYaLAq2Qnc&Rg
+"TA?)lMpm7"9aJKrrgpn"?F9prsuC<B&3Lenc/W5"9cO?s6AMA"QR:PJ/nOk!]cq6g&HR~>
+ir9&LlMgecj-aL.rWE<I:"Sq3rrDTfs8N3%,5qNDL'.XbrVum#!CH)IrtudZ1U=gJj6GHd.@K5]
+j4DN8bSC<aGQ7^'o)Ae@"?G*2rrQd8T_n`k^bZ+*o)A^[rVm#9('I@Ur;R5r63P+(h>d$Fs.BJt
+QK.uFnc&Ojn\BlRrWEH7,(S;Fs6B.RrrDT[rs8/ps5ShL"CJtCrs8/ps1h>3"CJt&rrMZTrVm)-
+63IE?GObY3!:g$f#4]KQ.2E[-o)o.^RGIE.rs->"*!?C)ZLRnn!UB46rrqG5$j8#bqYp`Z3<TI6
+_!h:'nb`=dlMgeilBt?^"9]K#JCif\#4Vg!:&k7`rVlmB"T&-%L'.Xps7,UY"4mYaLAq2Qnc&Rg
+"TA?)lMpm7"9aJKrrgpn"?F9prsuC<B&3Lenc/W5"9cO?s6AMA"QR:PJ/nOk!]cq6g&HR~>
+ir9&LlMgecj-aL.rWE<I:"Sq3rrDTfs8N3%,5qNDL'.XbrVum#!CH)IrtudZ1U=gJj6GHd.@K5]
+j4DN8bSC<aGQ7^'o)Ae@"?G*2rrQd8V#1/o^bZ+*o)A^[rVm#9('I@Ur;R5r63P+(h>d$Fs.fc#
+QK.uFnc&Ojn\BlRrWEH7,(S;Fs6B.RrrDT[rs8/ps5ShL"CJtCrs8/ps1h>3"CJt&rrMZTrVm)-
+63IE?GObY3!:g$f#4]KQ.2E[-o)o.^RGIE.rs->"*!?C)ZLRnn!UB46rrqG5$j8#bqYp`Z3<TI6
+_!h:'nb`=dlMgeilBt?^"9]K#JCif\#4Vg!:&k7`rVlmB"T&-%L'.Xps7,UY"4mYaLAq2Qnc&Rg
+"TA?)lMpm7"9aJKrrgpn"?F9prsuC<B&3Lenc/W5"9cO?s6AMA"QR:PJ/nOk!]d(:g&HR~>
+ir95Qs8V,b?P`VD"!V@$nbrIglLF]Mrr`<GrVltS"9c%/s8N3&6LjmO(*Wka+p8;i.4GZ."<93H
+$j7P!$j6]Wn,F.Z$n6CTJ9Q`uJ3k#YGB]?bGD9*;"F'85"Mb-[GO#)*!e;`Uqu6c(()ES'rrDTd
+rr_)364Ehr!ZZs=rr3#anaHJ]h.@E*.I-d0"gTQ["F'.crs"cF"9]^!j8T)Ync&OklIUb>%/U/7
+,#s/ZJ;0A??RZch"9T'4TYUC'#k>])"9]]O^to"is7,%I"J?/+*/=Ims7--h"i,<t";\<+rs?o(
+64<u"$t$g?i;WoL"9`?5rrFnYqYp_L$j=BGnaQP]f)uM:nb`=e+t<Bg"+ULWB(5g(f-1>;L@P3A
+"0ro4j8AoZJ-6"\f`)8`Ag.?\(--!"bl.PAj5L#g~>
+ir95Qs8V,b?P`VD"!V@$nbrIglLF]Mrr`<GrVltS"9c%/s8N3&6LjmO(*Wka+p8;i.4GZ."<93H
+$j7P!$j6]Wn,F.Z$n6CTJ9Q`uJ3k#YGB]?bGD9*;"F'85"Mb-[GO#)*!e;`Uqu6c(()ES'rrDTd
+rr_)364Ehr!ZZs=rr3#anaHJ]h.@E*.I-d0"gTQ["F'.crs"cF"9]^!j8T)Ync&OklIUb>%/U/7
+,#s/ZJ;0A??RZch"9T'4TYUC'#k>])"9]]O^to"is7,%I"J?/+*/=Ims7--h"i,<t";\<+rs?o(
+64<u"$t$g?i;WoL"9`?5rrFnYqYp_L$j=BGnaQP]f)uM:nb`=e+t<Bg"+ULWB(5g(f-1>;L@P3A
+"0ro4j8AoZJ-6"\f`)8`Ag.?\(--!"bl.PAj5L#g~>
+ir95Qs8V,b?P`VD"!V@$nbrIglLF]Mrr`<GrVltS"9c%/s8N3&6LjmO(*Wka+p8;i.4GZ."<93H
+$j7P!$j6]Wn,F.Z$n6CTJ9Q`uJ3k#YGB]?bGD9*;"F'85"Mb-[GO#)*!e;`Uqu6c(()E_+rrDTd
+rr_)364Ehr!ZZs=rr3#anaHJ]h.@E*.I-d0"gTQ["F'.crs"cF"9]^!j8T)Ync&OklIUb>%/U/7
+,#s/ZJ;0A??RZch"9T'4Uqlg+#k>])"9]]O^to"is7,%I"JcG/*/=Ims7--h"i,<t";\<+rs?o(
+64<u"$t$g?i;WoL"9`?5rrFnYqYp_L$j=BGnaQP]f)uM:nb`=e+t<Bg"+ULWB(5g(f-1>;L@P3A
+"0ro4j8AoZJ-6"\f`)8`Ag.?\(--!&bl.PAj5L#g~>
+iVs8MZ<nRS":R;Fbjk9("7ZKs,5qNDL'.XbrVum#!BKH@rr=MI"99Y8"9W9$s7,[[!$(>.!+5-n
+#2LI+$n3tgr[A:4('H'H*'#f(68J`IL>`(3nb`=ff7kaR"9K?GZL.Ytf3\X`:#5jLlMgehnV.GT
+,-q7Kn_X9Ph1c=@"?F9ts7-!d!ol9LrWEE@.93[Zbh`*p"ln4?G>/kO"9Uu&ZLRhl#NN*s$j6]-
+^t\l$^eFq7JB\&nnaZYZl@9!?:#kR>"66&).K0GP,%fZkhZ"&T"9_'CbeVidf??r/fDaS3j4Dn,
+*!F(WnaQP^f)u3l.67>U"%!+n6N/bF<F9>u";[<nru:L[.0Kbt3?0"S.5MA8$mIJO*$QgI"9cO?
+s6A;;!mH0Dr<*0XQKm?,J,~>
+iVs8MZ<nRS":R;Fbjk9("7ZKs,5qNDL'.XbrVum#!BKH@rr=MI"99Y8"9W9$s7,[[!$(>.!+5-n
+#2LI+$n3tgr[A:4('H'H*'#f(68J`IL>`(3nb`=ff7kaR"9K?GZL.Ytf3\X`:#5jLlMgehnV.GT
+,-q7Kn_X9Ph1c=@"?F9ts7-!d!ol9LrWEE@.93[Zbh`*p"ln4?G>/kO"9Uu&ZLRhl#NN*s$j6]-
+^t\l$^eFq7JB\&nnaZYZl@9!?:#kR>"66&).K0GP,%fZkhZ"&T"9_'CbeVidf??r/fDaS3j4Dn,
+*!F(WnaQP^f)u3l.67>U"%!+n6N/bF<F9>u";[<nru:L[.0Kbt3?0"S.5MA8$mIJO*$QgI"9cO?
+s6A;;!mH0Dr<*0XQKm?,J,~>
+iVs8MZ<nRS":R;Fbjk9("7ZKs,5qNDL'.XbrVum#!BKH@rr=MI"99Y8"9W9$s7,[[!$(>.!+5-n
+#2LI+$n3tgr[A:4('H'H*'#f(68J`IL>`(3nb`=ff7kaR"9K?GZL.Ytf3\X`:#5jLlMgehnV.GT
+,-q7Kn_X9Ph1c=@"?F9ts7-!d!ol9LrWEE@.93[Zbh`*p"ln4?G>/kO"9Uu&ZLRhl#NN*s$j6]-
+^t\l$^eFq7JB\&nnaZYZl@9!?:#kR>"662-.K0GP,%fZkhZ"&T"9_'CbeVidf??r/fDaS3j4Dn,
+*!F(WnaQP^f)u3l.67>U"%!+n6N/bF<F9>u";[<nru:L[.0Kbt3?0"S.5MA8$mIJO*$QgI"9cO?
+s6A;;!mH0Dr<*0XQKm?,J,~>
+j8T2)J/8(d!^a3KrVll_qYpWes7-'frr`<GrVltS"9c%/s8N3&3U6SC!:g'gs*tVeJ?kJkAnH7;
+J9PU;GD:>?AcT.*s8Q[5G@kH2rFQIF3G)WK?U@(dAnGDCn,EL[s0<(#"9ApcgA_?Hs8VVD*<$'C
+(/:Ienc'3,63I]sbl@_5nc/-bAekLnRGIlKlG/]["9]o\h>[HSnc/UrlG.U1"9],WGJNM?rrDTa
+rrhl-J3j\D"9p&o_!:t"nc&Ooh.@E*">beVn_O3Ll;[ri3O82Qrrq\<$j8#6mf*C@L-c[T"9L$?
+lMCM\n`0WTl3me(1COBp(B"@9%/pA8$j7OY"9cO?nauh]nc&OhithFn!uqFH%/^8.%0$G1B(5g%
+j%TsL"9Y=ss7+_@$J1q_63IE"3L8LkiW"E~>
+j8T2)J/8(d!^a3KrVll_qYpWes7-'frr`<GrVltS"9c%/s8N3&3U6SC!:g'gs*tVeJ?kJkAnH7;
+J9PU;GD:>?AcT.*s8Q[5G@kH2rFQIF3G)WK?U@(dAnGDCn,EL[s0<(#"9ApcgA_?Hs8VVD*<$'C
+(/:Ienc'3,63I]sbl@_5nc/-bAekLnRGIlKlG/]["9]o\h>[HSnc/UrlG.U1"9],WGJNM?rrDTa
+rrhl-J3j\D"9p&o_!:t"nc&Ooh.@E*">beVn_O3Ll;[ri3O82Qrrq\<$j8#6mf*C@L-c[T"9L$?
+lMCM\n`0WTl3me(1COBp(B"@9%/pA8$j7OY"9cO?nauh]nc&OhithFn!uqFH%/^8.%0$G1B(5g%
+j%TsL"9Y=ss7+_@$J1q_63IE"3L8LkiW"E~>
+j8T2)J/8(d!^a3KrVll_qYpWes7-'frr`<GrVltS"9c%/s8N3&3U6SC!:g'gs*tVeJ?kJkAnH7;
+J9PU;GD:>?AcT.*s8Q[5G@kH2rFQIF3G)WK?U@(dAnGDGn,EL[s0<(#"9ApcgA_?Hs8VVD*<$'C
+(/:Uinc'3,63I]sbl@_5nc/-bAekLnRGIlKlG/]["9]o\h>[HSnc/UrlG.U1"9],WGJNM?rrDTa
+rrhl-J3j\D"9p&o_!:t"nc&Ooh.@E*">beVn_O3Ll;[ri3O82Qrrq\<$j8#6mf*C@L-c[T"9L$?
+lMCM\n`0WTl3me(1COBp(B"@9%/pA8$j7OY"9cO?nauh]nc&OhithFn!uqFH%/^8.%0$G1B(5g%
+j%TsL"9YJ"s7+_@$J2(c63IE"3L8LkiW"E~>
+jo5D<Z53BA!]-M7rr;ufrr2ugpAb-q!$_CA",6p]ZMjh'"9CjZqu6`fs5!/D#4_``nc/XZirB&K
+lMgtOnaU5a^^86#^s'+"^p:8ig].<DrVlrZQ9tQR!ZX"NoD]!G1B[i2lMgednc/X@<W3+(B&ipV
+h;J;6^cDAs#):t(s7,.7rVm+j1B[h#<M8CJrs%ML9fYOa_"ds0fDPgQ*/==is69bS$j6\nZJ>H`
+^kMsp.C/sQ!:g'g"dT8o*5Lk0rrTK#%/pA2.>H[Ws8VThlJV[BlK\QSZN'IerrD?`rtj]>L7j'@
+1KA%;L,1V*(-*QY";VCK"D76)%dO)of<W2tbfmlH^qd8"rkJNXr4iGih>dN?g]%9Dqu6`A65KP'
+!?sP_s*t~>
+jo5D<Z53BA!]-M7rr;ufrr2ugpAb-q!$_CA",6p]ZMjh'"9CjZqu6`fs5!/D#4_``nc/XZirB&K
+lMgtOnaU5a^^86#^s'+"^p:8ig].<DrVlrZQ9tQR!ZX"NoD]!G1B[i2lMgednc/X@<W3+(B&ipV
+h;J;6^cDAs#):t(s7,.7rVm+j1B[h#<M8CJrs%ML9fYOa_"ds0fDPgQ*/==is69bS$j6\nZJ>H`
+^kMsp.C/sQ!:g'g"dT8o*5Lk0rrTK#%/pA2.>H[Ws8VThlJV[BlK\QSZN'IerrD?`rtj]>L7j'@
+1KA%;L,1V*(-*QY";VCK"D76)%dO)of<W2tbfmlH^qd8"rkJNXr4iGih>dN?g]%9Dqu6`A65KP'
+!?sP_s*t~>
+jo5D<Z53BA!]-Y;rr;ufrr2ugpAb-q!$_CA",6p]ZMjh'"9CjZqu6`fs5!/D#4_``nc/XZirB&K
+lMgtOnaU5a^^86#^s'+"^p:8ig].<DrVlrZQ9tQR!ZX"NoD]!G1B[i2lMgednc/X@<W3+(B&ipV
+h;J;6^cDAs#):t(s7,.7rVm+j1B[h#<M\[Nrs%ML9fYOa_"ds0fDPgQ*/==is69bS$j6\nZJ>H`
+^kMsp.C/sQ!:g'g"dT8o*5Lk0rrTK#%/pA2.>H[Ws8VThlJV[BlK\QSZN'IerrD?`rtj]>L89?D
+1KA%;L,1V*(-*QY";VCK"D76)%dO)of<W2tbfmlH^qd8"rkJNXr4iGih>dN?g]%9Dqu6`A65KP'
+!?sP_s*t~>
+n,E^Znc/XZs8Uo@,5q]I$t$=*lMgt1('GWUrsOPa"CL]hs8N3)3TG\jhZ!Z;AdnV@&43\fs8VWh
+s6BXanUM#N6F-Ri#k@rpL)'mp<QsP(s7$*SrVlnB(B+F;:!EG5!TSD'"9CjFr;Qi6?OZH-!^a3X
+rVm)eL*?a'.A6\?s7-*g!TRPd"9Loqn_O3K.2E$h?e>2T"e[%B"?EdcrrV`jnc&OinZlO#"9KR/
+b^of(rr_PP65KP'!Z$OHjo9i~>
+n,E^Znc/XZs8Uo@,5q]I$t$=*lMgt1('GWUrsOPa"CL]hs8N3)3TG\jhZ!Z;AdnV@&43\fs8VWh
+s6BXanUM#N6F-Ri#k@rpL)'mp<QsP(s7$*SrVlnB(B+F;:!EG5!TSD'"9CjFr;Qi6?OZH-!^a3X
+rVm)eL*?a'.A6\?s7-*g!TRPd"9Loqn_O3K.2E$h?e>2T"e[%B"?EdcrrV`jnc&OinZlO#"9KR/
+b^of(rr_PP65KP'!Z$OHjo9i~>
+n,E^Znc/XZs8Uo@,5q]I$t$=*lMgt1('GWUrsOPa"CL]hs8N3)3TG\jhZ!Z;AdnV@&43\fs8VWh
+s6BXanUM#N6F-Ri#k@rpL)'mp<QsP(s7$*SrVlnB(B+F;:!EG5!TSD'"9CjFr;Qi6?OZH-!^a3X
+rVm)eL*?a'.AZtCs7-*g!TRPd"9Loqn_O3K.2E$h?e>2T"f*=F"?EdcrrV`jnc&OinZlO#"9KR/
+b^of(rr_PP65KP'!Z$OHjo9i~>
+o)A^[rr32ms8VB.J1:F"".?INn`g&UbSC=*rVm7["9`?,nc/Ul"?Gaus5!\XlEXb@%/pA2.=g%I
+rrq4Y"<<`mqu6iO3<Tat_#=95n`g&RnbrIrlIV[3":S:rbjk`5nbrIlbX)^@1O%(ArreWJ$j7@E
+":#>N(1pPd$k3+<"UkML6AE;TrsJ&8AekM*RHjhPnbrInh4S@"":RW&nc&Ogn`0WRf4Gd$"BF:U
+rsJ%'$j6uNh>dNFnbrIpba)T=$j6\WJCj(;s0_k/j.KBlrWE<C?_HHCs*t~>
+o)A^[rr32ms8VB.J1:F"".?INn`g&UbSC=*rVm7["9`?,nc/Ul"?Gaus5!\XlEXb@%/pA2.=g%I
+rrq4Y"<<`mqu6iO3<Tat_#=95n`g&RnbrIrlIV[3":S:rbjk`5nbrIlbX)^@1O%(ArreWJ$j7@E
+":#>N(1pPd$k3+<"UkML6AE;TrsJ&8AekM*RHjhPnbrInh4S@"":RW&nc&Ogn`0WRf4Gd$"BF:U
+rsJ%'$j6uNh>dNFnbrIpba)T=$j6\WJCj(;s0_k/j.KBlrWE<C?_HHCs*t~>
+o)A^[rr32ms8VB.J1:F"".?INn`g&UbSC=*rVm7["9`?,nc/Ul"?Gaus5!\XlEXb@%/pA2.=g%I
+rrq4Y"<<`mqu6iO3<Tat_#=95n`g&RnbrIrlIVg7":S:rbjk`5nbrIlbX)^@1O%(ArreWJ$j7@E
+":#>N(1pPd$k3+<"UkML6AE;TrsJ&8AekM*RHjhPnbrInh5"X&":RW&nc&Ogn`0WRf4Gd$"BF:U
+rsJ%'$j6uNh>dNFnbrIpba)T=$j6\WJCj(;s0_k/j.oZprWE<C?_l`Gs*t~>
+o)JaTrr3;\J3kF_";Y@4^ubRubSC=$rVm7["9`?,lMpV^"?GLns53kVnc/V&n`-o2$j6\A3C;d+
+s7)C2"<<0]r;QudTJH]dJE,\i!:'R`#Ja[T"9]^!j8Ao`lMpnLL+*66GN8]&!mGj(rWF)I1I>].
+ZIe.,s7,.$^m8=o3=H#n$mHm`h>[EXQ6HGIGN8Z%!9=(Y#jR^)"9]]OT^(G7"dp>5(,OS?rs%Mh
++p8$\j8AoYf75[V"9T'!RHj\L!:bX?]`/!%rVlubh.A,8"9TVf?g@Rh!:fRYJ,~>
+o)JaTrr3;\J3kF_";Y@4^ubRubSC=$rVm7["9`?,lMpV^"?GLns53kVnc/V&n`-o2$j6\A3C;d+
+s7)C2"<<0]r;QudTJH]dJE,\i!:'R`#Ja[T"9]^!j8Ao`lMpnLL+*66GN8]&!mGj(rWF)I1I>].
+ZIe.,s7,.$^m8=o3=H#n$mHm`h>[EXQ6HGIGN8Z%!9=(Y#jR^)"9]]OT^(G7"dp>5(,OS?rs%Mh
++p8$\j8AoYf75[V"9T'!RHj\L!:bX?]`/!%rVlubh.A,8"9TVf?g@Rh!:fRYJ,~>
+o)JaTrr3;\J3kF_";Y@4^ubRubSC=$rVm7["9`?,lMpV^"?GLns53kVnc/V&n`-o2$j6\A3C;d+
+s7)C2"<<0]r;QudUb`,hJE,\i!:'R`#Ja[T"9]^!j8Ao`lMpnLL+*66GN8]&!mGj(rWF)I1I>].
+ZIe.,s7,.$^m8=o3=H#n$mHm`h>[EXQ6HGIGN8Z%!9=(Y#jR^)"9]]OV!?k;"dp>5(,OS?rs%Mh
++p8$\j8AoYf75[V"9T'!RHj\L!:bX?]`/!%rVlubh.A,8"9TVf?g@Rh!:fRYJ,~>
+n,EIFAdnYA!XrGOir9,)('Gi[rsOPa"D72os8N3)3TG\jhZ*WGr;QiBJ0Osq#;]t[AdeeuT`"fo
+n^h+N"<t/HrrDTRrs-b[+p8#aRDAh%s7-'f$gNHT"?De<s8TB)%/pA4%!Tq\nac\]b_@>?":??=
+lMpn.?N^Ku_"n!:lIVFj"9]-`j7210)=db,Z;h#13LTF;s7--hf1cAVGLuBF^h+Sc"9LBIh1>U+
+rrV`+<W3+($o<+Ona6@,~>
+n,EIFAdnYA!XrGOir9,)('Gi[rsOPa"D72os8N3)3TG\jhZ*WGr;QiBJ0Osq#;]t[AdeeuT`"fo
+n^h+N"<t/HrrDTRrs-b[+p8#aRDAh%s7-'f$gNHT"?De<s8TB)%/pA4%!Tq\nac\]b_@>?":??=
+lMpn.?N^Ku_"n!:lIVFj"9]-`j7210)=db,Z;h#13LTF;s7--hf1cAVGLuBF^h+Sc"9LBIh1>U+
+rrV`+<W3+($o<+Ona6@,~>
+n,EIFAdnYA!XrGOir9,)('Gi[rsOPa"D72os8N3)3TG\jhZ*WGr;QiBJ0Osq#;]t[AdeeuV#:5s
+n^h+N"<t/HrrDTRrs-b[+p8#aRDAh%s7-'f$gNHT"?De<s8TB)%/pA4%!Tq\nac\]b_@>?":??=
+lMpn.?N^Ku_"n!:lIVFj"9]-`j7210)=db,Z;h#13LTF;s7--hf1cAVGLuBF^h+Sc"9LBIh1>U+
+rrV`+<W3+($o<+Ona6@,~>
+nc&p$<?`1]"<qHGj5L"?bR=UorVm7["9`?,nc/Ul">f=os4RDPnc&OjlG.!?qud$VbkqDD^c;N#
+6GWEs!:f=R#L%]I"9]KPT_n`hnc&P"^f:LQ6J_\Aj+\`\('FbplLb)Wn`p&P&b4neAdeeF$t%6Y
+s4:iu"?Ed^rs7G)$j6u5B&3"<rs@ujs3+IO"<s/sr;R"p+p8$)?U>P-"9hMffDkm@rr2ugJcDnQ
+"R>O;THa@<"#FP^j7!"u~>
+nc&p$<?`1]"<qHGj5L"?bR=UorVm7["9`?,nc/Ul">f=os4RDPnc&OjlG.!?qud$VbkqDD^c;N#
+6GWEs!:f=R#L%]I"9]KPT_n`hnc&P"^f:LQ6J_\Aj+\`\('FbplLb)Wn`p&P&b4neAdeeF$t%6Y
+s4:iu"?Ed^rs7G)$j6u5B&3"<rs@ujs3+IO"<s/sr;R"p+p8$)?U>P-"9hMffDkm@rr2ugJcDnQ
+"R>O;THa@<"#FP^j7!"u~>
+nc&p$<?`1]"<qHGj5L"?bR=UorVm7["9`?,nc/Ul">f=os4RDPnc&OjlG.!?qud$VbkqDD^c;N#
+6GWEs!:f=R#L%]I"9]KPV#1/lnc&P"^f:LQ6J_\Aj+\`\('FbplLb)Wn`p&P&b4neAdeeF$t%6Y
+s4:iu"?Ed^rs7G)$j6u5B&3"<rs@ujs3+IO"<s/sr;R"t+p8$)?U>P-"9hMffDkm@rr2ugJcDnQ
+"R>O;Ua#d@"#FPbj7!"u~>
+q>UHbrr3)jf>%go"9TW1T^)OVrpfjb!:fFU"4n_"*<#mFL'.Wkn`p/S"9_'OJcFC&!:g'g"S)Nl
+<?hDF$ppAtj8]/EZ:tH1<S.6M!:f1N!oq'PrWE6N_#=<5nbiCnl9YUVL?&=6h-^-a!]cS:pAY6H
+lMpDIrsr]c"9_',s8VV^1B\\AnaZGT!pZFYrWE:0L<S`Y$M"/rlBrCj(0/08rVlo(6Mprj*(#D9
+s8VWbrrDS?s1841nb2thnZm[3('FaK9n;a5J,~>
+q>UHbrr3)jf>%go"9TW1T^)OVrpfjb!:fFU"4n_"*<#mFL'.Wkn`p/S"9_'OJcFC&!:g'g"S)Nl
+<?hDF$ppAtj8]/EZ:tH1<S.6M!:f1N!oq'PrWE6N_#=<5nbiCnl9YUVL?&=6h-^-a!]cS:pAY6H
+lMpDIrsr]c"9_',s8VV^1B\\AnaZGT!pZFYrWE:0L<S`Y$M"/rlBrCj(0/08rVlo(6Mprj*(#D9
+s8VWbrrDS?s1841nb2thnZm[3('FaK9n;a5J,~>
+q>UHbrr3)jf>%go"9TW1V!@sZrpfjb!:fFU"4n_"*<#mFL'.Wkn`p/S"9_'OJcFC&!:g'g"S)Nl
+<?hDF$ppAtj8]/EZ:tH1<S.6M!:f1N!oq'PrWE6N_#=<5nbiCnl9YUVL?&=6h-^-a!]cS:pAY6H
+lMpDIrsr]c"9_',s8VVb1B\\AnaZGT!pZR]rWE:0L<S`Y$M"/rlBrCj(0/08rVlo(6Mprj*(#D9
+s8VWbrrDS?s1841nb2thnZm[3('FaK9n;a5J,~>
+p\t?IZ@FD'"9U*'_"$=^#4_`nf,Oo;rVm7["9`r=nc/Ul"@C_urrDS?s7?6nn^iL^%/pA3<M6!O
+rWE7Vh;SA:TK*,X(B+I1rrhV2":U%arro].$j6uNq>UujTR^BVAiV&I<C24dL<T2crt"Z"f2VqV
+.A652s0<UI"D7Z5s7,sc!>Z+C"9LB6j7rWSna$2UR6plU#+>Mk^p8JHrWE<`GI$ais.0/lbaDf^
+rWE:7REY:&J,~>
+p\t?IZ@FD'"9U*'_"$=^#4_`nf,Oo;rVm7["9`r=nc/Ul"@C_urrDS?s7?6nn^iL^%/pA3<M6!O
+rWE7Vh;SA:TK*,X(B+I1rrhV2":U%arro].$j6uNq>UujTR^BVAiV&I<C24dL<T2crt"Z"f2VqV
+.A652s0<UI"D7Z5s7,sc!>Z+C"9LB6j7rWSna$2UR6plU#+>Mk^p8JHrWE<`GI$ais.0/lbaDf^
+rWE:7REY:&J,~>
+p\t?IZ@FD'"9U*'_"$=^#4_`nf,Oo;rVm7["9`r=nc/Ul"@C_urrDS?s7?6nn^iL^%/pA3<MZEW
+rWE7Vh;SA:UcAP\(B+I1rrhV2":U%arro].$j6uNq>UujUjufZAiV&I<C24dL<T2crt"Z"f2VqV
+.AZM6s0<UI"D7Z5s7,sc!>Z+C"9LB6j7rWSna$2UR6plU#+>Mk^p8JHrWE<`GI$ais.0/lbaDf^
+rWE:7REY:&J,~>
+q>UNP?OZl9!bRbYg&D/u1B\]rrsOPa"F'D+s8N3):"S;&s7$*hrp^!grUKgc!:g'g!:baB$G^6t
+"9]JK"9`>mrVllfli-tMrr3ArR8"G""?C'0"9e8lrrDTgrr[cS$tfM=#_j<%">cJGs7-*g"7a0]
+(A%_31I@Dfrr2u`rr2tKrWEO>j8].b((:>]nb<%c*"2sErWE9hQKmc8!:fpc#4[EV">c@3r<*0G
+GF=$^QN%9IL-d'e";Y"1h=gl!~>
+q>UNP?OZl9!bRbYg&D/u1B\]rrsOPa"F'D+s8N3):"S;&s7$*hrp^!grUKgc!:g'g!:baB$G^6t
+"9]JK"9`>mrVllfli-tMrr3ArR8"G""?C'0"9e8lrrDTgrr[cS$tfM=#_j<%">cJGs7-*g"7a0]
+(A%_31I@Dfrr2u`rr2tKrWEO>j8].b((:>]nb<%c*"2sErWE9hQKmc8!:fpc#4[EV">c@3r<*0G
+GF=$^QN%9IL-d'e";Y"1h=gl!~>
+q>UNP?OZl9!bRbYg&D/u1B\]rrsOPa"F'D+s8N3):"S;&s7$*hrp^!grUKgc!:g'g!:baB$G^6t
+"9]JK"9`>mrVllfli-tMrr3ArR8"G""?C'0"9e8lrrDTgrr[cS$tfM=#_j<%">cJGs7-*g"7a0]
+(A%_31I@Dfrr2u`rr2tKrWEO>j8].b((:>]nb<%c*"2sErWE9hQKmc8!:fpc#4[EV">c@3r<*0G
+GF=$^QN%9IL-d'e";Y"5h=gl!~>
+q>Uc:+p8Yi"9a70LAl`'L?!gaLAuH#L/eul*<#mJL'.X'naZYZ"9]]OL4Gqirg<bPrL*Jerh'n0
+TV/Tr^qeRXj5]\"s7--Zs7-*Rrpfjb!:b^A$/K1r$j6\KB!UsfrsZ\e('FahB$BO?"9e8mrrDTg
+rssi"";[[1s1ea?$rtOOs7-*g!nV$(rWN60#ZZC2">aY665KP'!u=4Xbl%JMj+&<V"@Bp(s.CeD
+9sXNn"X4?Xs0>Z("9LoqlJqmFf4Om_!ZYgfJcCo5"670k.K0GP6AE_Sq>Ys~>
+q>Uc:+p8Yi"9a70LAl`'L?!gaLAuH#L/eul*<#mJL'.X'naZYZ"9]]OL4Gqirg<bPrL*Jerh'n0
+TV/Tr^qeRXj5]\"s7--Zs7-*Rrpfjb!:b^A$/K1r$j6\KB!UsfrsZ\e('FahB$BO?"9e8mrrDTg
+rssi"";[[1s1ea?$rtOOs7-*g!nV$(rWN60#ZZC2">aY665KP'!u=4Xbl%JMj+&<V"@Bp(s.CeD
+9sXNn"X4?Xs0>Z("9LoqlJqmFf4Om_!ZYgfJcCo5"670k.K0GP6AE_Sq>Ys~>
+q>Uc:+p8Yi"9a70LAl`'L?!gaLAuH#L/eul*<#mJL'.X'naZYZ"9]]OL4H(qrg<bPrL*JerhL14
+Unk<%^qeRXj5]\"s7--Zs7-*Rrpfjb!:b^A$/K1r$j6\KB!UsfrsZ\e('FahB$BO?"9e8mrrDTg
+rssi"";[g5s1ea?$rtOOs7-*g!nV$(rWN60#ZZC2">aY665KP'!u=4Xbl%JMj+&<V"@Bp(s.h(H
+9sXNn"X4?Xs0>Z("9LoqlJqmFf4Om_!ZYgfJcCo5"670k.K0GP6AE_Sq>Ys~>
+q>UK$(B"@9%+>=Z,5qNHL'.X'naZYSqZHp.(?u&&$jROf+sJHb+rpM)ruCn[!%Imk!%Iag!ZWC.
+OrOfQ1FXLf+uq(T":Y53!MJK9rs-?*$j6\KGLuio"]Y[.s8VWdrsn<S"9]_Es5Pm<"CL!bnbrIg
+bYA'>'KNJNj8\Wu"?GNBs4su)1COBh3O8S_%Io`("9`r6s8Pe%"D6rors'_N"TSMlL*HU"!DTm!
+rrDTRrrV_V*<$'I$j6\A.8<N'1F`;I!\#o]qA]NJGPc"MG5u7SG5u7SG62B2QMuUGJ9QO0QA1-[
+QA1_'R0AnEZG<c]riuU@beX5%#/JICh;.,OpY?SEh;.,Oh;.,Oh;dPOh;dPOh;dPOj8%LFj5&PO
+j5&POj5&bUh;.,Oh;.,Oh>ZFkh;dPOh;dPOh;dPOj5\tOj5\tOj5\tOj5\tUj5&POj5&POj5&PO
+j5&bUh;.,Oh;.,Oh>ZFSh;dPOh;dPOh;dPOj5\tOj5\tOj5\tOj5\tUj8RjAfAkoCbiA`/L,g%K
+"9TWf_"%=%J,~>
+q>UK$(B"@9%+>=Z,5qNHL'.X'naZYSqZHp.(?u&&$jROf+sJHb+rpM)ruCn[!%Imk!%Iag!ZWC.
+OrOfQ1FXLf+uq(T":Y53!MJK9rs-?*$j6\KGLuio"]Y[.s8VWdrsn<S"9]_Es5Pm<"CL!bnbrIg
+bYA'>'KNJNj8\Wu"?GNBs4su)1COBh3O8S_%Io`("9`r6s8Pe%"D6rors'_N"TSMlL*HU"!DTm!
+rrDTRrrV_V*<$'I$j6\A.8<N'1F`;I!\#o]qA]NJGPc"MG5u7SG5u7SG62B2QMuUGJ9QO0QA1-[
+QA1_'R0AnEZG<c]riuU@beX5%#/JICh;.,OpY?SEh;.,Oh;.,Oh;dPOh;dPOh;dPOj8%LFj5&PO
+j5&POj5&bUh;.,Oh;.,Oh>ZFkh;dPOh;dPOh;dPOj5\tOj5\tOj5\tOj5\tUj5&POj5&POj5&PO
+j5&bUh;.,Oh;.,Oh>ZFSh;dPOh;dPOh;dPOj5\tOj5\tOj5\tOj5\tUj8RjAfAkoCbiA`/L,g%K
+"9TWf_"%=%J,~>
+q>UK$(B"@9%+>=Z,5qNHL'.X'naZYSqZHp.(?u&&$jROf+sJHb+rpM)ruCn[!%Imk!%Iag!ZWC.
+OrOfQ1FXLf+uq(T":Y53!Mnc=rs-?*$j6\KGLuio"]Y[.s8VWdrsn<S"9]_Es5Pm<"CL!bnbrIg
+bYA'>'KNJNj8\Wu"?GNBs4su)1COBh3O8S_%Io`("9`r6s8Pe%"D6rors'_N"TSMlL*HU"!DTm!
+rrDTRrrV_V*<$'I$j6\A.8<N'1F`;I!\#o]qA]NJGPc"MG5u7SG5u7SG62B2QMuUGJ9QO0QA1-[
+QA1_'R0AnEZG<c]riuU@beX5%#/JICh;.,OpY?SEh;.,Oh;.,Oh;dPOh;dPOh;dPOj8%LFj5&PO
+j5&POj5&bUh;.,Oh;.,Oh>ZFkh;dPOh;dPOh;dPOj5\tOj5\tOj5\tOj5\tUj5&POj5&POj5&PO
+j5&bUh;.,Oh;.,Oh>ZFSh;dPOh;dPOh;dPOj5\tOj5\tOj5\tOj5\tUj8RjAfAkoCbiA`/L,g%K
+"9TWf_"%=%J,~>
+q>UW6L3JAr1XlO/('GWUrs=D_"F'D+s8N3AJHWak!Ah%Grs./++p8#WB$C5R,i^lf"TSMls8VWZ
+s5TCb"9cO?nP',h6GWX$nc/XZL)'n#QKnDJ"S$(,(>&Nb#P%)I.0Kbn6N$iln\A--,,"u9^`in]
+lM1Ai*"2uMnc/XF<>G]?(14B;li.+Q^m8RVrWE<3";VDs"I'#h%/U/0+rhR2r<*01L?e[9J,~>
+q>UW6L3JAr1XlO/('GWUrs=D_"F'D+s8N3AJHWak!Ah%Grs./++p8#WB$C5R,i^lf"TSMls8VWZ
+s5TCb"9cO?nP',h6GWX$nc/XZL)'n#QKnDJ"S$(,(>&Nb#P%)I.0Kbn6N$iln\A--,,"u9^`in]
+lM1Ai*"2uMnc/XF<>G]?(14B;li.+Q^m8RVrWE<3";VDs"I'#h%/U/0+rhR2r<*01L?e[9J,~>
+q>UW6L3JAr1XlO/('GWUrs=D_"F'D+s8N3AJHWak!Ah%Grs./++p8#WB$C5R,i^lf"TSMls8VWZ
+s5TCb"9cO?nP',h6GWX$nc/XZL)'n#QKnDJ"S$(,(>&Nb#P%)I.0Kbn6N$iln\A--,,G8=^`in]
+lM1Ai*"2uMnc/XF<>G]?(14B;li.+Q^m8RVrWE<3";VDs"I'#h%/U/0+rhR2r<*01L?e[9J,~>
+o`##*"9`)`_#FN;*<#m>L'.X6rVum#!=Y:n^]:\+^]:\>"9;I#^]_k*"9^OKbl>KYbl>KTbl>H_
+beQOJ"F$12^]f6(";ZO'rQP/S#gArrR@1@r^p<rO!-eEss'PeVs*"O1R3MV5!%InZ!)<Fq!Z#B(
+li[:sq#g[+rWET;('Fb#":QIW"AR,>^]h#""9`?%m/I=UQ9lPo"D4>(rr_dO"9eQ#$eI]J%$pqn
+bQJ%WQMgadj(8]&?blO<"S!oD"S)?g!R,0T"9DNHr;R,>*!@J$s8V*^.960C![7aMr;Qigh.HWh
+!\&?;m/IC^J//83<E3XsJGo]O*<-H%"9f2:$j6\QdKBOcecYsgq#g[Hr<**/WrrG3(B"@9(B+F=
+$pp9?qu;0~>
+o`##*"9`)`_#FN;*<#m>L'.X6rVum#!=Y:n^]:\+^]:\>"9;I#^]_k*"9^OKbl>KYbl>KTbl>H_
+beQOJ"F$12^]f6(";ZO'rQP/S#gArrR@1@r^p<rO!-eEss'PeVs*"O1R3MV5!%InZ!)<Fq!Z#B(
+li[:sq#g[+rWET;('Fb#":QIW"AR,>^]h#""9`?%m/I=UQ9lPo"D4>(rr_dO"9eQ#$eI]J%$pqn
+bQJ%WQMgadj(8]&?blO<"S!oD"S)?g!R,0T"9DNHr;R,>*!@J$s8V*^.960C![7aMr;Qigh.HWh
+!\&?;m/IC^J//83<E3XsJGo]O*<-H%"9f2:$j6\QdKBOcecYsgq#g[Hr<**/WrrG3(B"@9(B+F=
+$pp9?qu;0~>
+o`##*"9`)`_#FN;*<#m>L'.X6rVum#!=Y:n^]:\+^]:\>"9;I#^]_k*"9^OKbl>KYbl>KTbl>H_
+beQOJ"F$12^]f6(";ZO'rQP/S#gB*!R@1@r^p<rO!-eEss'PeVs*"O1R3MV5!%InZ!)<Fq!Z#B(
+li[:sq#g[+rWET;('Fb#":QIW"AR,>^]h#""9`?%m/I=UQ9lPo"D4J,rr_dO"9eQ#$eI]J%$pqn
+bQJ%WQMgadj(8]&?blO<"S!oD"S)?g!R,0T"9DNHr;R,>*!@J$s8V*^.960C![7aMr;Qigh.HWh
+!\&?;m/IC^J//83<E3XsJGo]O*<-H%"9f2:$j6\QdKBOcecYsgq#g[Hr<**/WrrG3(B"@9(B+F=
+$pp9?qu;0~>
+p\tHfs8QF/"F&Jtrr`<GrVltS"9b%hs8N3&*5Lb;!:'Od!-eA@"=XH^*4#CUs3(JYrlk;Us31MY
+s3(JYrlbAXrlbPtZ9eZsnbrIjZ5*QlJGd4YbQ,HXbl65obRqY7fA58u^t7Dd^tmUS+rheprr32m
+<=B!jZC1RF"P;J]h:MY^qUbMurR_(n#F>D[s1fT_GQ%ODnMp^\job`0?g@Ui!:g'g!]'r^qYpuh
+L)'n-fDkk2"9_'8rVm/=3<TIsj8]/Lqu6^H"9e`(!:g!e#1nSR"9a8FrVm,mAcr6\s7--g"9?75
+rrOAI"T&-'j1pBh"9]Jhl3%,'QMpggnNn3(L@Og!gA_;+*!?E7rr3/eL)'nJbhrF0^f:e'h;eP#
+h+\#.L?%1k)jVo](5AKJbh'WS";ZOJf@Sj1h:LK7h:LK7h>Pq.h:LK7h>4noZC.,RR@ot@TX(6d
+Z3-c*ZG?=B!.aoX!J#CmJGs`nAq9i(%pr=KAp7i,$mMAEnc/XSj8&_*~>
+p\tHfs8QF/"F&Jtrr`<GrVltS"9b%hs8N3&*8K`W!:'Od!-eA@"=XH^*4#CUs3(JYrlk;Us31MY
+s3(JYrlbAXrlbPtZ9eZsnbrIjZ5*QlJGd4YbQ,HXbl65obRqY7fA58u^t7Dd^tmUS+rheprr32m
+<=B!jZC1RF"P;J]h:MY^qUbMurR_(n#F>D[s1fT_GQ%ODnMp^\job`0?g@Ui!:g'g!]'r^qYpuh
+L)'n-fDkk2"9_'8rVm/=3<TIsj8]/Lqu6^H"9e`(!:g!e#1nSR"9a8FrVm,mAcr6\s7--g"9?75
+rrOAI"T&-'j1pBh"9]Jhl3%,'QMpggnNn3(L@Og!gA_;+*!?E7rr3/eL)'nJbhrF0^f:e'h;eP#
+h+\#.L?%1k)jVo](5AKJbh'WS";ZOJf@Sj1h:LK7h:LK7h>Pq.h:LK7h>4noZC.,RR@ot@TX(6d
+Z3-c*ZG?=B!.aoX!J#CmJGs`nAq9i(%pr=KAp7i,$mMAEnc/XSj8&_*~>
+p\tHfs8QF/"F&Jtrr`<GrVltS"9b%hs8N3&*5Lb;!:'Od!-eA@"=XH^*4#CUs3(JYrlk;Us31MY
+s3(JYrlbAXrlbPtZ9eZsnbrIjZ5*QlJGd4YbQ,HXbl65obRqY7fA58u^t7Dd^tmUS+rheprr32m
+<=B!jZC1RF"P;J]h:MY^qUbMurR_(n#F>D[s1fT_GQ%ODnMp^\job`0?g@Ui!:g'g!]'r^qYpuh
+L)'n-fDkk2"9_'8rVm/=3<TIsj8]/Lqu6^H"9e`(!:g!e#1nSR"9a8FrVm,mAcr6\s7--g"9?75
+rrOAI"T&-'j1pBh"9]Jhl3%,'QMpggnNn3(L@Og!gA_;+*!?E7rr3/eL)'nJbhrF0^f:e'h;eP#
+h+\#.L?%1k)jVo](5AWNbh'WS";ZOJf@Sj1h:LK7h:LK7h>Pq.h:LK7h>4noZC.,VRA?7HUp?fl
+Z3-o.ZG?=B!.aoX!J#CmJGs`nAq9i(%pr=KAp7i,$mMMInc/XSj8&_*~>
+o`###"9`r#s8N3%*<#m>L'.XFrVum#!@c7Urrh?j"9`rHrraMK$j7d/"TJE'nc-BKgB7X!"9]-f
+rr3#a3W9-^.1Fu7%h/".s1f$GB)hDks6;BC%-Rfq*/="_rrDTdrtRNs"TSMls7--h^d8/,JH,Z>
+"9]^grVm&W<<N_SlM(;[1B[j[rrDTdrs&"Z63I^OlM^_mQ50T=^uPGN"9`?:nc/.XrrOAI"S_ot
+L*@&i":?-Ss8VBaj%TXZJH#QSL4FJ7?[uKDJGXQgB)d)MAc[*frHA<nL,o59!8[YS%.SiN$poJV
+G@l&2G@pVos+()\!-e0L"b;>>+p9_"rrl+"*+jq[r+>tQs(;:T!.alWs*+KT!dB0=rFQ7XL/e?Z
+(>&Nb"S"e]*3uRD"R9=s"JGSj!qGRGrr7K~>
+o`###"9`r#s8N3%*<#m>L'.XFrVum#!@c7Urrh?j"9`rHrraMK$j7d/"TJE'nc-BKgB7X!"9]-f
+rr3#a3W9-^.1Fu7%h/".s1f$GB)hDks6;BC%-Rfq*/="_rrDTdrtRNs"TSMls7--h^d8/,JH,Z>
+"9]^grVm&W<<N_SlM(;[1B[j[rrDTdrs&"Z63I^OlM^_mQ50T=^uPGN"9`?:nc/.XrrOAI"S_ot
+L*@&i":?-Ss8VBaj%TXZJH#QSL4FJ7?[uKDJGXQgB)d)MAc[*frHA<nL,o59!8[YS%.SiN$poJV
+G@l&2G@pVos+()\!-e0L"b;>>+p9_"rrl+"*+jq[r+>tQs(;:T!.alWs*+KT!dB0=rFQ7XL/e?Z
+(>&Nb"S"e]*3uRD"R9=s"JGSj!qGRGrr7K~>
+o`###"9`r#s8N3%*<#m>L'.XFrVum#!@c7Urrh?j"9`rHrraMK$j7d/"TJE'nc-BKgB7X!"9]-f
+rr3#a3W9-^.1Fu7%h/".s1f$GB)hDks6;BC%-Rfq*/="_rrDTdrtRNs"TSMls7--h^d8/,JH,Z>
+"9]^grVm&W<<N_SlM(;[1B[j[rrDTdrs&"Z63I^OlM^_mQ50T=^uPGN"9`?:nc/.XrrOAI"S_ot
+L*@&i":?-Ss8VBaj%TXZJH#QSL4FJ7?[uKDJGXQgB)d)MAc[*frHA<nL,o59!8[YS%.SiN$poJV
+G@l&2G@pVos+()\!-e0L"b;>>+p9_"rrl+"*+jq[r+>tQs(;:T!.alWs*+KT!dB0=rFQ7XL/e?Z
+(>&Nb"S"e]*3uRD"R9=s"Jkkn!qGRGrr7K~>
+o`###"9a8,s8N3%*<#m>L'.XFrVum#!Aid!rrh?j"9`rHrra;E$j7@9"98ks":5%ts6BX"*!?]?
+"9]JK":Q:@"9]\I"<=*5rrQ1'(@MD+('GTm"9]_:"9JuI"TJE'bQJ&\r;Qpp":SYQj7r-Gs7--e
+nHJsEAdeg8p&>(R"9e]'%IsJuR2,o.h>dM!";[=%rs8._('Ht[s8VWbrrOVP"TJE$nbW:cnc&^m%
+&!S!$Lr<U"BE8;bQJ&8q>UL?"9eGu"P5X:(B=C!!qGR@rp^!Rrpg$R#lir@s49sJ*1?d*"S%3d"
+GZpU!$'bsrs\o1!=\8mrrUDV%+taf6N@)Us8QH["TAf9ZN'Ibs6<;],+5G1"Pkj:*2*91!:fjaJ
+,~>
+o`###"9a8,s8N3%*<#m>L'.XFrVum#!Aid!rrh?j"9`rHrra;E$j7@9"98ks":5%ts6BX"*!?]?
+"9]JK":Q:@"9]\I"<=*5rrQ1'(@MD+('GTm"9]_:"9JuI"TJE'bQJ&\r;Qpp":SYQj7r-Gs7--e
+nHJsEAdeg8p&>(R"9e]'%IsJuR2,o.h>dM!";[=%rs8._('Ht[s8VWbrrOVP"TJE$nbW:cnc&^m%
+&!S!$Lr<U"BE8;bQJ&8q>UL?"9eGu"P5X:(B=C!!qGR@rp^!Rrpg$R#lir@s49sJ*1?d*"S%3d"
+GZpU!$'bsrs\o1!=\8mrrUDV%+taf6N@)Us8QH["TAf9ZN'Ibs6<;],+5G1"Pkj:*2*91!:fjaJ
+,~>
+o`###"9a8,s8N3%*<#m>L'.XFrVum#!Aid!rrh?j"9`rHrra;E$j7@9"98ks":5%ts6BX"*!?]?
+"9]JK":Q:@"9]\I"<=69rrQ1'(@MD+('GTm"9]_:"9JuI"TJE'bQJ&\r;Qpp":SYQj7r-Gs7--e
+nHJsEAdeg<p&>(R"9e]'%IsJuR2,o.h>dM!";[=%rs8._('Ht[s8VWbrrOVP"TJE$nbW:cnc&^m%
+&Ek%$Lr<U"BE8;bQJ&8q>UL?"9eGu"P5X:(B=C!!qGR@rp^!Rrpg$R#lir@s49sJ*1?d*"S%3d"
+GZpU!$'bsrs\o1!=\8mrrUDV%+taf6N@)Us8QH["TAf9ZN'Ibs6<;],+5G1"Pkj:*2NQ5!:fjaJ
+,~>
+p\tHfs8QF/"G#,(rr`<GrVltS"9b%hs8N3*3TL/>q"X1T!9=%]!G:m#rrjSL";Z`Hr."d%q1&Z]
+1En8BL5,MSrc\L"Ag.?\r;R)/$j7PEGD:<cJGFBpAp8uA.2E\LJG49eJ-93f$l590rr>Cb"9Bs+
+nok4:()B5Kp3-^QGCX9c*!H9@&[DNB6C*@\QA-@^(/:4&ZC.-OQ3isd":TL[TOrq/re:W-GD;M$
+"9eW%!U=:r"9m$LR1'3Ir;Qo*1B].mp&>(B"9e`(!:fja'3,/<6J)8;nc,mD"9cO?ruqS%fD>LZ
++p8&/bh((_f?E(&bh]QE"9eT$!:'F@rr3N!s4pBP"F'/$lLE(u$j;=arrt7^,%c@4?hn:>?[$]g
+('FarJGWpZ$j?P<%Km1U.1?=^%+jeEs4ql7pB1R,":PG4%/^5.%.OH$$n;,S!*/Ch!"A<!rsSoD
+ZMje,bT[/mB(<S7!:g$f!:fmb$M"/rnc.W*"9aJLp\t<bs8RT~>
+p\tHfs8QF/"G#,(rr`<GrVltS"9b%hs8N3*3TL/>q"X1T!9=%]!G:m#rrjSL";Z`Hr."d%q1&Z]
+1En8BL5,MSrc\L"Ag.?\r;R)/$j7PEGD:<cJGFBpAp8uA.2E\LJG49eJ-93f$l590rr>Cb"9Bs+
+nok4:()B5Kp3-^QGCX9c*!H9@&[DNB6C*@\QA-@^(/:4&ZC.-OQ3isd":TL[TOrq/re:W-GD;M$
+"9eW%!U=:r"9m$LR1'3Ir;Qo*1B].mp&>(B"9e`(!:fja'3,/<6J)8;nc,mD"9cO?ruqS%fD>LZ
++p8&/bh((_f?E(&bh]QE"9eT$!:'F@rr3N!s4pBP"F'/$lLE(u$j;=arrt7^,%c@4?hn:>?[$]g
+('FarJGWpZ$j?P<%Km1U.1?=^%+jeEs4ql7pB1R,":PG4%/^5.%.OH$$n;,S!*/Ch!"A<!rsSoD
+ZMje,bT[/mB(<S7!:g$f!:fmb$M"/rnc.W*"9aJLp\t<bs8RT~>
+p\tHfs8QF/"G#,(rr`<GrVltS"9b%hs8N3*3TL/>q"X1T!9=%]!G:m#rrjSL";Z`Hr."d%q1&Z]
+1En8BL5,MSrc\L"Ag.?\r;R)/$j7PEGD:<cJGFBpAp8uA.2E\LJG49eJ-93f$l590rr>Cb"9Bs+
+nok4:()B5Kp3-^QGCX9c*!H9@&[DNB6C*@\QA-@^(/:4&ZC.-OQ3isd":TL[Uh5@3re:W-GD;M$
+"9eW%!U=:r"9m$LR1'3Ir;Qo*1B].mp&>(B"9e`(!:fja'3,/<6J)8;nc,mD"9cO?ruqS%fD>LZ
++p8&/bh((_f?E(&bh]QE"9eT$!:'F@rr3N!s4pBP"F'/$lLE(u$j;=arrt7^,%c@4?hn:>?[$]g
+('FarJGWpZ$j?P<%Km1U.1?=^%+jeEs4ql7pB1R,":PG4%/^5.%.OH$$n;,S!*/Ch!"A<!rsSoD
+ZMje,bT[/mB(<S7!:g$f!:fmb$M"/rnc.W*"9aJLp\t<bs8RT~>
+o`###"9`r#s8N3%*<#m>L'.XFrVum#"ZbWCq!mn?rrCmS"9E-"rVlsK"9^ONrrh.<(*](9rse6n
+"9ebps7--)+p9*qnc&^C9`tUirsl=p$k.mjs5X,>";V,Pj7<3SZ5aXJs8VW^rs.Rr('O1-s0CJa
+!"AN'$R,]^"TSMlnc/XF<W3+2ZMtmI">g)XlMpm7"9c%0rrD?ZrrOtZ"T/3!nb`>$R4/7SZN'I[
+s5R)^"P<\D$j7QCs5X%W![7aMqA0)NrtYbH":Q%i*;h#[)uq2^*![ZD.3'<O*";fL#XU=-66Zg@
+"GZpU"t9[(nc/.>pAY9$3<TIsqYpTVh>ZF;h;dPO?iC07h>c=2j(8E&B#+8ps4nFMh;.,V?N^ct
+L<SK*bh(Ijbh(Ijbl62rQ88Y(r;R%7">begh:KlpqUYtXfAi8Z.;#mWf*0BB$j7?OrVm#c3<TbF
+X8`Cos5QfV*4#29J,~>
+o`###"9`r#s8N3%*<#m>L'.XFrVum#"ZbWCq!mn?rrCmS"9E-"rVlsK"9^ONrrh.<(*](9rse6n
+"9ebps7--)+p9*qnc&^C9`tUirsl=p$k.mjs5X,>";V,Pj7<3SZ5aXJs8VW^rs.Rr('O1-s0CJa
+!"AN'$R,]^"TSMlnc/XF<W3+2ZMtmI">g)XlMpm7"9c%0rrD?ZrrOtZ"T/3!nb`>$R4/7SZN'I[
+s5R)^"P<\D$j7QCs5X%W![7aMqA0)NrtYbH":Q%i*;h#[)uq2^*![ZD.3'<O*";fL#XU=-66Zg@
+"GZpU"t9[(nc/.>pAY9$3<TIsqYpTVh>ZF;h;dPO?iC07h>c=2j(8E&B#+8ps4nFMh;.,V?N^ct
+L<SK*bh(Ijbh(Ijbl62rQ88Y(r;R%7">begh:KlpqUYtXfAi8Z.;#mWf*0BB$j7?OrVm#c3<TbF
+X8`Cos5QfV*4#29J,~>
+o`###"9`r#s8N3%*<#m>L'.XFrVum#"ZbWCq!mn?rrCmS"9E-"rVlsK"9^ONrrh.<(*](9rse6n
+"9ebps7--)+p9*qnc&^C9`tUirsl=p$k.mjs5X,>";V,Pj7<3SZ5aXJs8VW^rs.Rr('O1-s0CJa
+!"AN'$R,]^"TSMlnc/XF<W3+2ZMtmI">g)XlMpm7"9c%0rrD?ZrrOtZ"T/3!nb`>$R4/7SZN'I[
+s5R)^"P<\D$j7QGs5X%W![7aMqA0)NrtYbH":Q%i*;h#[)uq2^*![ZD.3'<O*";fL#XU=-66Zg@
+"GZpU"t9[(nc/.>pAY9$3<TIsqYpTVh>ZF;h;dPO?iC07h>c=2j(8E&B#+8ps4nFMh;.,V?N^ct
+L<SK*bh(Ijbh(Ijbl62rQ88Y(r;R%7">begh:KlpqUYtXfAi8Z.;#mWf*0BB$j7?OrVm#c3<TbF
+X8`Cos5QfV*4#29J,~>
+o`###"9dc:s8N3%,5qNDL'.XFrqHWr"9^10mJd1]r;R;m3=#b<s8Vlos!\'Z.HCI-nb2tf^aTBh
+T`>&^pAY9\<<NHprVm#\?N^e1nc&^8+p8&>rrgph":U%`rra)?$j8BVrr]P0"JG>c"63Aa"TJE(
+bQJ%m?i*h167E$?*+ho><E2cl<W>Dc";WG@?XHf56=sg<$j7P^<B3c\?W@L;"T/3!RJm<obl@\_
+"9`r=rr3,,66ZQmp&>0b<<PY4oDegn!%IjG!.b%O"nDW."9_Hqrr=8>":?+O":PD9$j6\A%/^5.%
+/C#+%/^5.(AS(8('Fbprr30_"<?J%s7,g_"P5(*"D73($t]VF(>&TdlMkH!"GZLI"D.c>*6e!R"
+7[-01]77T<<Obpnc&Y!"BG!l"ITAq(;TkJ""=?]AuP_3+p8$\oDa=~>
+o`###"9dc:s8N3%,5qNDL'.XFrqHWr"9^10mJd1]r;R;m3=#b<s8Vlos!\'Z.HCI-nb2tf^aTBh
+T`>&^pAY9\<<NHprVm#\?N^e1nc&^8+p8&>rrgph":U%`rra)?$j8BVrr]P0"JG>c"63Aa"TJE(
+bQJ%m?i*h167E$?*+ho><E2cl<W>Dc";WG@?XHf56=sg<$j7P^<B3c\?W@L;"T/3!RJm<obl@\_
+"9`r=rr3,,66ZQmp&>0b<<PY4oDegn!%IjG!.b%O"nDW."9_Hqrr=8>":?+O":PD9$j6\A%/^5.%
+/C#+%/^5.(AS(8('Fbprr30_"<?J%s7,g_"P5(*"D73($t]VF(>&TdlMkH!"GZLI"D.c>*6e!R"
+7[-01]77T<<Obpnc&Y!"BG!l"ITAq(;TkJ""=?]AuP_3+p8$\oDa=~>
+o`###"9dc:s8N3%,5qNDL'.XFrqHWr"9^10mJd1]r;R;m3=#b<s8Vlos!\'Z.HCI-nb2tf^aTBh
+V#UJbpAY9\<<NHprVm#\?N^e5nc&^8+p8&>rrgph":U%`rra)?$j8BVrr]P0"JkVg"63Aa"TJE(
+bQJ%m?i*h167E$?*+ho><E2cl<W>Dc";WG@?XHf56=sg<$j7P^<B3c\?W@L;"T/3!RJm<obl@\_
+"9`r=rr3,,66ZQmp&>0b<<PY4oDegn!%IjG!.b%O"nDW."9_Hqrr=8>":?+O":PD9$j6\A%/^5.%
+/C#+%/^5.(AS(8('Fbprr30_"<?J%s7,g_"P5(*"D73($t]VF(>&TdlMkH!"GZLI"D.c>*6e!R"
+7[-01]77T<<Obpnc&Y!"BG!l"ITAq(;TkJ""=?]AuP_3+p8$\oDa=~>
+o`###"9d?.s8N3%,5qNDL'.XFrqHWr"9]q#mJd1]r;R5k63m^<s8Vlos"ac\.ImE@f-q+:ZM+=u
+nHJsX?N^MsrVm#P63J'snc&^C3<TKUrrgOc";[=%rrabZ"9^1Drs#b3"IATXnbW:cnc&Ojj(8Ds
+rr3)E"9`rFrrqqu"9_Hap\t?I$l2S6rrhU9$l34JrrhAt*!?EArrAJd":N$FruqRK6C)h-Ai'Dh
+!+5\:s'P_:$"%:O+p8ZgTV.&:Ad;[T?[uJd$lo7Ys*"c*"9]M?s0;b1<Vl_!+p8%ARBlg[%o!fJ
+,'U>uTV.^YZ=XjfB)%eoZ3+\S(3fVC"GS?."G$LO"u?B+fDkC+pAY9>.0Kccnc&`("9].brVlt3
+":U%Urrcp:"<>5NrrDTgrr_:$">fuU#ZV!O_#OH)s7,sc!:g'g!YtoNnc&TWrWE7pnbrIi.0Kcc
+W;crD"9`?.s*t~>
+o`###"9d?.s8N3%,5qNDL'.XFrqHWr"9]q#mJd1]r;R5k63m^<s8Vlos"ac\.ImE@f-q+:ZM+=u
+nHJsX?N^MsrVm#P63J'snc&^C3<TKUrrgOc";[=%rrabZ"9^1Drs#b3"IATXnbW:cnc&Ojj(8Ds
+rr3)E"9`rFrrqqu"9_Hap\t?I$l2S6rrhU9$l34JrrhAt*!?EArrAJd":N$FruqRK6C)h-Ai'Dh
+!+5\:s'P_:$"%:O+p8ZgTV.&:Ad;[T?[uJd$lo7Ys*"c*"9]M?s0;b1<Vl_!+p8%ARBlg[%o!fJ
+,'U>uTV.^YZ=XjfB)%eoZ3+\S(3fVC"GS?."G$LO"u?B+fDkC+pAY9>.0Kccnc&`("9].brVlt3
+":U%Urrcp:"<>5NrrDTgrr_:$">fuU#ZV!O_#OH)s7,sc!:g'g!YtoNnc&TWrWE7pnbrIi.0Kcc
+W;crD"9`?.s*t~>
+o`###"9d?.s8N3%,5qNDL'.XFrqHWr"9]q#mJd1]r;R5k63m^<s8Vlos"ac\.ImE@f-q+:ZM+=u
+nHJsX?N^MsrVm#P63J("nc&^C3<TKUrrgOc";[=%rrabZ"9^1Drs#b3"IATXnbW:cnc&Ojj(8Ds
+rr3)E"9`rFrrqqu"9_Hap\t?I$l2S6rrhU9$l34JrrhAt*!?EArrAJd":N$FruqRK6C)h-Ai'Dh
+!+5\:s'P_:$"%:O+p8ZgUnibBAd;[T?[uJd$lo7Ys*"c*"9]M?s0;b1<Vl_!+p8%ERBlg[%o!fJ
+,'U>uUnjEaZ=XjfB)%eoZ3+\S(3fVC"GS?."G$LO"u?B+fDkC+pAY9>.0Kccnc&`("9].brVlt3
+":U%Urrcp:"<>5NrrDTgrr_:$">fuU#ZV!O_#OH)s7,sc!:g'g!YtoNnc&TWrWE7tnbrIi.0Kcc
+W;crD"9`?.s*t~>
+o`###"9dQ[rrDTDs8N3%*<#m>L'.X6rqHd!"9]q#s8Vlhnc/XarVmMq9aCl6q#C-hs"ac\%'nLF
+h;/%irlbc%bh([V*"371h;c`YirJBDirJWKrrgPQ"9d?Trs%(A";Za^lLY#XZ8i$jo)B#N$j7?3
+s8VWh,5q]G3Uu\?"/$VRZL\"tf2W4^rr3,:"9`?:qsamjbQJ&Cs8Vob#li*O"BGL%naZVY%c[s#
+"?GcIs7,CSs"ac\qu6YarWE>=s8O)<"994k"9B8Hqud!.r<*;os0;b1:&=kk+p8&Grre`0"<t/J
+rr\ns%%6hh",6peZMOS(nTP`OLAq2T+p9@=oD\s;+p8$\nc'#J$j6^bs7--hAcrNmo)Ai)"9]pm
+o)AgP*!@_grrZ7(.C/LDrr`=6nc'&a$j6^$nc/.ZnJhZ7AuP_3.0KctoDa=~>
+o`###"9dQ[rrDTDs8N3%*<#m>L'.X6rqHd!"9]q#s8Vlhnc/XarVmMq9aCl6q#C-hs"ac\%'nLF
+h;/%irlbc%bh([V*"371h;c`YirJBDirJWKrrgPQ"9d?Trs%(A";Za^lLY#XZ8i$jo)B#N$j7?3
+s8VWh,5q]G3Uu\?"/$VRZL\"tf2W4^rr3,:"9`?:qsamjbQJ&Cs8Vob#li*O"BGL%naZVY%c[s#
+"?GcIs7,CSs"ac\qu6YarWE>=s8O)<"994k"9B8Hqud!.r<*;os0;b1:&=kk+p8&Grre`0"<t/J
+rr\ns%%6hh",6peZMOS(nTP`OLAq2T+p9@=oD\s;+p8$\nc'#J$j6^bs7--hAcrNmo)Ai)"9]pm
+o)AgP*!@_grrZ7(.C/LDrr`=6nc'&a$j6^$nc/.ZnJhZ7AuP_3.0KctoDa=~>
+o`###"9dQ[rrDTDs8N3%*<#m>L'.X6rqHd!"9]q#s8Vlhnc/XarVmMq9aCl6q#C-hs"ac\%'nLF
+h;/%irlbc%bh([V*"371h;c`YirJBDirJWKrrgPQ"9d?Trs%(A";Za^lLY#XZ8i$jo)B#N$j7?3
+s8VWh,5q]G3Uu\?"/HnVZL\"tf2W4^rr3,:"9`?:qsamjbQJ&Cs8Vob#li*O"BGL%naZVY%c[s#
+"?GcIs7,CSs"ac\qu6YarWE>=s8O)<"994k"9B8Hqud!.r<*;os0;b1:&=kk+p8&Grre`0"<t/J
+rr]&"%%6hh",6peZMOS(nTP`OLAq2T+p9@=oD\s;+p8$\nc'#J$j6^bs7--hAcrNmo)Ai)"9]pm
+o)AgP*!@_grrZ7(.C/LDrr`=6nc'&a$j6^$nc/.ZnJhZ7AuP_3.0KctoDa=~>
+p\tHfs8QF/"Pq]0rr`<GrVltS"9b%ip]UU"">eZsrrDilrt"B]#R"c>s7lWo+p8;W.1H1YrtYbH
+";Vam(B,9R(B+F?1I<l;1HGFj$99n:AnH6e+p8&)rVm;X63IEOAm]ao?\!ZNrdY<!L5'na64<u4
+LA69!GQ**rG<uE8(7G.$!%ImM!?@F&J,jfmJ,jfmJ-U9m"9__TL5,\X!-eEm#^;#hJ;.YU"9e`(
+"3^lNB)2H2f)u4Ns8VWbrr_'["CM*,#4_``+p8<]qu6cg1COE`rrAAa":N$FrtY_G1LDpo9e$&E
+!_m$/r+6C)9kIa,1DU)r*+*&%%.FB"%/pA6%0-@5"9_Hqrs^.T"TS#lnc/WW+p9*qqYpqk"9b%j
+nc/.Znc/.Yrsshe"JGebs7--Zs6=2!"GZpU"=XHnAsrXQqg\usJ:O&"$j6tpLAZQ%GQ**mGQ!$m
+Q9tQR!8%2L#DNWi6AC#@GQ**mGQ*+$GCY3u.0Kb^GI!O-_#(DCR>.B#TS<RP.K'2K<<O(]_#:PK
+n`oE"j5&Osbd*W>"BF:Sj88*Gn`+3i$j<m7rrhj3"9`>8rrXGJ"D79*J,~>
+p\tHfs8QF/"Pq]0rr`<GrVltS"9b%ip]UU"">eZsrrDilrt"B]#R"c>s7lWo+p8;W.1H1YrtYbH
+";Vam(B,9R(B+F?1I<l;1HGFj$99n:AnH6e+p8&)rVm;X63IEOAm]ao?\!ZNrdY<!L5'na64<u4
+LA69!GQ**rG<uE8(7G.$!%ImM!?@F&J,jfmJ,jfmJ-U9m"9__TL5,\X!-eEm#^;#hJ;.YU"9e`(
+"3^lNB)2H2f)u4Ns8VWbrr_'["CM*,#4_``+p8<]qu6cg1COE`rrAAa":N$FrtY_G1LDpo9e$&E
+!_m$/r+6C)9kIa,1DU)r*+*&%%.FB"%/pA6%0-@5"9_Hqrs^.T"TS#lnc/WW+p9*qqYpqk"9b%j
+nc/.Znc/.Yrsshe"JGebs7--Zs6=2!"GZpU"=XHnAsrXQqg\usJ:O&"$j6tpLAZQ%GQ**mGQ!$m
+Q9tQR!8%2L#DNWi6AC#@GQ**mGQ*+$GCY3u.0Kb^GI!O-_#(DCR>.B#TS<RP.K'2K<<O(]_#:PK
+n`oE"j5&Osbd*W>"BF:Sj88*Gn`+3i$j<m7rrhj3"9`>8rrXGJ"D79*J,~>
+p\tHfs8QF/"Pq]0rr`<GrVltS"9b%ip]UU"">eZsrrDilrt"B]#R"c>s7lWo+p8;W.1H1YrtYbH
+";Vam(B,9R(B+F?1I<l;1HGFj$99n:AnH6e+p8&)rVm;X63IEOAm]ao?\!ZNrdY<!L5'na64<u4
+LA69!GQ**rG<uE8(7G.$!%ImM!?@F&J,jfmJ,jfmJ-U9m"9__TL5,\X!-eEm#^;#hJ;.YU"9e`(
+"3^lNB)2H2f)u4Ns8VWbrr_'["CM*,#4_``+p8<]qu6cg1COE`rrAAa":N$FrtY_G1LDpo9e$&E
+!_m$/r+6C)9kIa,1DU)r*+*&%%.FB"%/pA6%0-@5"9_Hqrs^.T"TS#lnc/WW+p9*qqYpqk"9b%j
+nc/.Znc/.Yrsshe"Jl(fs7--Zs6=2!"GZpU"=XHnAsrXQqg\usJ:O&"$j6tpLAZQ%GQ**mGQ!$m
+Q9tQR!8%2L#DNWi6AC#@GQ**mGQ*+$GCY3u.0Kb^GI!O1_#(DCR>.N'UkT!T.K'2K<<O(]_#:PK
+n`oE"j5&Osbd*W>"BF:Sj88*Gn`+3i$j<m7rrhj3"9`>8rrXGJ"D79*J,~>
+o`###"9d?.s8N3%*<#m>L'.X6rqHWr"9^10mJd1]r;R,h3<TJ/s8Vlos!dpM!$(q?rs\W)rsSr3
+*";<>!:'O_!SpK9"99G4"9]\I"<t/Mrr=MH"994l"TJE'bQJ&\q>UQ@$j8ojrr^IJ"AS^l%3boX
+3U6YEnaZYL1B[jXrrAAa":r<JrtY_t_#N6Uh0081"P<>H$J.uT1Vj%jlHIK;r8RtGh7t!M1]Gu6
+j5"np":X>jZ31;1qYpU@"9eW%&&9Us.DYuRj8\E7s-WumQMLOblLFn/"9bCorrhUe"9aJYrr=M'
+"TK8;"9Aq_rr3#hB'od+$j6\K$j7"4"9],Q"9^OYrs2U-":Q^^"<7RD+q,G"((:s-"<msO(.&f9
+*!-lq(A]3Y69,/O%'og2!uqFHGGtND+p8$\oDa=~>
+o`###"9d?.s8N3%*<#m>L'.X6rqHWr"9^10mJd1]r;R,h3<TJ/s8Vlos!dpM!$(q?rs\W)rsSr3
+*";<>!:'O_!SpK9"99G4"9]\I"<t/Mrr=MH"994l"TJE'bQJ&\q>UQ@$j8ojrr^IJ"AS^l%3boX
+3U6YEnaZYL1B[jXrrAAa":r<JrtY_t_#N6Uh0081"P<>H$J.uT1Vj%jlHIK;r8RtGh7t!M1]Gu6
+j5"np":X>jZ31;1qYpU@"9eW%&&9Us.DYuRj8\E7s-WumQMLOblLFn/"9bCorrhUe"9aJYrr=M'
+"TK8;"9Aq_rr3#hB'od+$j6\K$j7"4"9],Q"9^OYrs2U-":Q^^"<7RD+q,G"((:s-"<msO(.&f9
+*!-lq(A]3Y69,/O%'og2!uqFHGGtND+p8$\oDa=~>
+o`###"9d?.s8N3%*<#m>L'.X6rqHWr"9^10mJd1]r;R,h3<TJ/s8Vlos!dpM!$(q?rs\W)rsSr3
+*";<>!:'O_!SpK9"99G4"9]\I"<t/Mrr=MH"994l"TJE'bQJ&\q>UQ@$j8ojrr^IJ"AS^l%3boX
+3U6YEnaZYL1B[jXrrAAa":r<JrtY_t_#N6Uh0081"P<>H$J.uT1Vj%jlHIK;r8RtGh7t!M1]Gu6
+j5"np":X>jZ31;1qYpU@"9eW%&&9Us.DYuRj8\E7s-WumQMLOblLFn/"9bOsrrhUe"9aJYrr=M'
+"TK8;"9Aq_rr3#hB'od+$j6\K$j7"4"9],Q"9^OYrs2U-":Q^^"<7RD+q,G"((:s-"<msO(.&f9
+*!-lq(A]3Y69,/O%'og2!uqFHGGtND+p8$\oDa=~>
+o`###"9d?.s8N3%*<#m>L'.XFrqHWr"9^1*rr2unli.LU.0Kd(s8VloruqRK%$m=Z^]Ca6qITn2
+((:=QGP,PN?Y18d"T89+j'N2t6=sS:?Y9+@#?>,CAekLXB(TF6AmYZL(7G.$"XsQ_((=gH?Nk%%
+"9^_spL!r4ra,^H('OX:"3^lNB)2H/isZ&WpAY6[$j9T0rrDTfrs'_N"ASFds7-*g!]'r^qu6Y^
+rWEG@s8NK1*2*91"McGh"PrbN"S"JT*7si_"4mYY1]77ZG6A$alMnX&"ASam![7aMrVmK"s0='V
+3Sj`8lMp/Ls0;b1T_\Tlnc/Wp"9cO:rrhkH$j;=arrOVP"T;p4?i*/!3DDM6?N^cG(.(#;.4P$3
+"r8X-"9].brr3/lAcr5P(@hS4$j6\A"9]/,"9],W";WHarr?'u"98l%"9^.V$j7RA"9f2_"9].=
+r;QjJ":TgZrrX\Q"D79*J,~>
+o`###"9d?.s8N3%*<#m>L'.XFrqHWr"9^1*rr2unli.LU.0Kd(s8VloruqRK%$m=Z^]Ca6qITn2
+((:=QGP,PN?Y18d"T89+j'N2t6=sS:?Y9+@#?>,CAekLXB(TF6AmYZL(7G.$"XsQ_((=gH?Nk%%
+"9^_spL!r4ra,^H('OX:"3^lNB)2H/isZ&WpAY6[$j9T0rrDTfrs'_N"ASFds7-*g!]'r^qu6Y^
+rWEG@s8NK1*2*91"McGh"PrbN"S"JT*7si_"4mYY1]77ZG6A$alMnX&"ASam![7aMrVmK"s0='V
+3Sj`8lMp/Ls0;b1T_\Tlnc/Wp"9cO:rrhkH$j;=arrOVP"T;p4?i*/!3DDM6?N^cG(.(#;.4P$3
+"r8X-"9].brr3/lAcr5P(@hS4$j6\A"9]/,"9],W";WHarr?'u"98l%"9^.V$j7RA"9f2_"9].=
+r;QjJ":TgZrrX\Q"D79*J,~>
+o`###"9d?.s8N3%*<#m>L'.XFrqHWr"9^1*rr2unli.LU.0Kd(s8VloruqRK%$m=Z^]Ca:qITn2
+((:=QGP,PN?Y18d"T89+j'N2t6=sS:?Y9+@#?>,CAekLXB(TF6AmYZL(7G.$"XsQ_((=gH?Nk%%
+"9^_spL!r4ra,^H('OX:"3^lNB)2H/isZ&WpAY6[$j9T0rrDTfrs'_N"ASFds7-*g!]'r^qu6Y^
+rWEG@s8NK1*2NQ5"McGh"PrbN"S"JT*7si_"4mYY1]77ZG6A$alMnX&"ASam![7aMrVmK"s0='V
+3Sj`8lMp/Ls0;b1V"t#pnc/Wp"9cO:rrhkH$j;=arrOVP"T;p4?i*/!3DDM6?N^cG(.(#;.4P$3
+"r8X-"9].brr3/lAcr5P(@hS4$j6\A"9]/,"9],W";WHarr?'u"98l%"9^.V$j7RA"9f2_"9].=
+r;QjJ":TgZrrX\Q"D79*J,~>
+p\tHfs8QF/"MiXhrr`<GrVltS"9b.ks8N3*3TL/7s7kp["QL[/"F'eD!t5;8,4Y[9j$EkOZL\"s
+63IGhrrhk9"9c%"rrP1`"S2Qmj8K/]LAh,T1B\*h*:a%2^]Xe.nc&ni"9e8ps3(TKB)2H/l3n(q
+pAY6N$j9r8rs&#nruqRK?iL'0nbE.a.0KeNrsG%p#RJZSrtY_?1]77TAcr7Po`"tA"9e`(!:fg`
+"(hZ=6N$ii?N^K?nc.DJ"@Dtb"X4'Ps8VWgrs+r-"<=`Is7-'f"2GZ\T_\Tlnc/WT"9c%+rr[HR
+"G$LO!\"6Tr;Qcequ6cMj8\ZK"9hg*q!mCrrQH2'bfn8R^q`YI$k2\+nc/W$"9_H)^p:b]^p<pS
+!4)U>#I6>m%$mQ@T`2_,ZMqWFZCnLr^p5.(.K'2N9bo1GbaH8>q7m3-L7,=U"=!]X!4)U>!4)R=
+!+u35!4)S'"R8\a"GWlT"<msO?h*dgJ,~>
+p\tHfs8QF/"MiXhrr`<GrVltS"9b.ks8N3*3TL/7s7kp["QL[/"F'eD!t5;8,4Y[9j$EkOZL\"s
+63IGhrrhk9"9c%"rrP1`"S2Qmj8K/]LAh,T1B\*h*:a%2^]Xe.nc&ni"9e8ps3(TKB)2H/l3n(q
+pAY6N$j9r8rs&#nruqRK?iL'0nbE.].0KeNrsG%p#RJZSrtY_?1]77TAcr7Po`"tA"9e`(!:fg`
+"(hZ=6N$ii?N^K?nc.DJ"@Dtb"X4'Ps8VWgrs+r-"<=`Is7-'f"2GZ\T_\Tlnc/WT"9c%+rr[HR
+"G$LO!\"6Tr;Qcequ6cMj8\ZK"9hg*q!mCrrQH2'bfn8R^q`YI$k2\+nc/W$"9_H)^p:b]^p<pS
+!4)U>#I6>m%$mQ@T`2_,ZMqWFZCnLr^p5.(.K'2N9bo1GbaH8>q7m3-L7,=U"=!]X!4)U>!4)R=
+!+u35!4)S'"R8\a"GWlT"<msO?h*dgJ,~>
+p\tHfs8QF/"MiXhrr`<GrVltS"9b.ks8N3*3TL/7s7kp["QL[/"F'eD!t5;8,4Y[9j$EkOZL\"s
+63IGhrrhk9"9c%"rrP1`"S2Qmj8K/]LAh,T1B\*h*:a%2^]Xe.nc&ni"9e8ps3(TKB)2H/l3n(q
+pAY6N$j9r8rs&#nruqRK?iL'0nbE.R.0KeNrsG%p#RJZSrtY_?1]77TAcr7Po`"tA"9e`(!:fg`
+"(hZ=6N$ii?N^K?nc.DJ"@Dtb"X4'Ps8VWgrs+r-"<=`Is7-'f"2GZ\V"t#pnc/WT"9c%+rr[HR
+"G$LO!\"6Tr;Qcequ6cMj8\ZK"9hg*q!mCrrQH2'bfn8R^q`YI$k2\+nc/W$"9_H)^p:b]^p<pS
+!4)U>#I6>m%$m]DV#J.0ZMqWFZD=e%^p5.(.K'2N9bo1GbaH8Bq7m31L7,=U"=!]X!4)U>!4)R=
+!+u35!4)S'"R8\a"GWlT"<msO?h*dgJ,~>
+o`###"9cNls8N3%*<#mFL'.XFs8Vlo"9^aMrr2unli.+J+p8%!r;Qj="9]_7rrh@V":VU,rrP1`
+"T89)nTP*=ZN'spo`#$/$j6_(rrCmS"9=2Trr=kS"99G3rr]P0"IATX!^["mrr2tBpB1L4%/pD0
+(AS(E*"2rQ(+C4+";VCi.0L%^<Vl^s1B[jXrsG%p#RnoVrtY_?3W/m[?N^LDfCf.F1B[j[rrDTa
+rreuN"9_'irrMCbrWEDps47AV6Mg]`+p8&Gs!jZc$n6D+ZCnL8R?hFf":UU?beVH<beTXPR9p^R
+GJMGH^s'U<Z4$j=GQ.UD.0KeDs8E-$?h+-rGQ%^Fj8T&]nPo]#L@P9GAcr8%o)AgP$j8BarrZ7(%
+)DE5rr`<rnc&TTrWE5,rVm#j9`tlZW;d&N"9a8Ts7,g_J,~>
+o`###"9cNls8N3%*<#mFL'.XFs8Vlo"9^aMrr2unli.+J+p8%!r;Qj="9]_7rrh@V":VU,rrP1`
+"T89)nTP*=ZN'spo`#$/$j6_(rrCmS"9=2Trr=kS"99G3rr]P0"IATX!^["mrr2tBpB1L4%/pD0
+(AS(E*"2rQ(+C4+";VCi.0L%^<Vuduq_J?Xqu7"h":,FZs8Ni;"?HD["CD97B%Q_U!]'r^rr2ug
+q#:Ji1B[hIrVlo`<W3+)nc.2D"@Dtb![7aMqu8.=+q,oEZEg./Asnrs"9].!bfmlH^s'T^ZC,&8
+,'UiHbeVH<bd%W["F'kF!\"6Tnc/Rk!+59r!-eDF!9=(Y"S#Ip%#4<P"(hZ=lLOrWisZ&Hr;Qk!
+":W*9s8N3%:%A5`QMq!eZMje+nP',pL8b+V.0Kd(s8VW_s*t~>
+o`###"9cNls8N3%*<#mFL'.XFs8Vlo"9^aMrr2unli.+J+p8%!r;Qj="9]_7rrh@V":VU,rrP1`
+"T89)nTP*=ZN'spo`#$/$j6_(rrCmS"9=2Trr=kS"99G3rr]P0"IATX!^["mrr2tBpB1L4%/pD0
+(AS(E*"2rQ(+C4+";VCi.0L%^<Vudun1t1Mqu7"h":,FZs8Ni;"?HD["CD97B%Q_U!]'r^rr2ug
+q#:Jm1B[hIrVlo`<W3+)nc.2D"@Dtb![7aMqu8.A+q,oEZEg:3Asnrs"9].!bfmlH^s'T^ZC,&8
+,'UiHbeVH<bd%W["F'kF!\"6Tnc/Rk!+59r!-eDF!9=(Y"S#Ip%#4<P"(hZ=lLOrWisZ&Hr;Qk!
+":W*9s8N3%:%A5`QMq!eZMje+nP',pL8b+V.0Kd(s8VW_s*t~>
+o`###"9c$^s8N3%*<#mJL'.XIs8Vlo"9^aFs7lWhli.+J+p8%!r;Qj="9]_7rrhV!"=_.WrrP1`
+"T89)nTP*=T`>&^p&>0bJ-5upo)A^GrWE4UrVm!V":PDQnc&]s"9b%\rs1po"TRcC1B\-C"9]\I
+$j9T,rrOtZ"T/3+Q37I!bQ%SN"9^a_rrcp:";ZabrrOtZ"TJE$nbE+a6N.)f3W8sb^bZB%"S)ND
+"9_'frrjSL"TSMlrr3%m.1GtS!YtnIo*#(%p&kAGrr3$K"9e;q!9=%]!+u0/!;Q<g!+u35!9=%X
+"D.cFJFWR;!V-3dnH])$"9csKs6BCLrr3)V$j8BarrZ7(%*\_N!V-3enHf0[s8V?e"?HMRnH&ZX
+rWE5:rVm#j9`tTRW;d&N"9aJZs7,g_J,~>
+o`###"9c$^s8N3%*<#mJL'.XIs8Vlo"9^aFs7lWhli.+J+p8%!r;Qj="9]_7rrhV!"=_.WrrP1`
+"T89)nTP*=T`>&^p&>0bJ-5upo)A^GrWE4UrVm!V":PDQnc&]s"9b%\rs1po"TRcC1B\-C"9]\I
+$j9T-rr`-S"9eW%$C1f##g<8J$j6\nr;Qn3"9]Kpp&>(L"9e`(!:fja!(-Yf!'1#X$G\G+"9e8p
+f)u4CqYp^C"9ec)nc&OiTIC<E"9K>A%.aW%%/'f(JH#QM.0KeErrD*Y"9<'3rrMolq#:>+rWE5]
+rVm"4":ThNr;Qffs8)6js'Gm3bl@_.q!n@`"5O@g1]77T<<N`Srr3#hs82<ls6BXal3%5Ms7>a]
+s-`ih!5SR5"S#1h"GWlT"t9ZXLB%;DpA]X~>
+o`###"9c$^s8N3%*<#mJL'.XIs8Vlo"9^aFs7lWhli.+J+p8%!r;Qj="9]_7rrhV!"=_.WrrP1`
+"T89)nTP*=V#UJbp&>0bJ-5upo)A^GrWE4UrVm!V":PDQnc&]s"9b%\rs1po"TRcC1B\-C"9]\I
+$j9T-rr_aH"9eW%$C1f##g<8J$j6\nr;Qn3"9]Kpp&>(L"9e`(!:fja!(-Yf!'1#X$G\G+"9e8p
+f)u4CqYp^C"9ec)nc&OiUaZ`I"9K>A%.aW%%/'f(JH#QM.0KeErrD*Y"9<'3rrMoaq#:>+rWE5]
+rVm"4":ThNr;Qffs8)6js'Gm3bl@_.q!n@`"5O@g1]77T<<N`Srr3#hs82<ls6BXal3%5Ms7>a]
+s-`ih!5SR5"S#1h"GWlT"t9ZXLB%;DpA]X~>
+p\tQis8QF/"LA(-n_4$C"99YErsshe"I];iq#:I"3TL/7s7kp["QL[/"F'eD!u;"B*:a%3nTP+9
+h=CRI3<TK_rs/(+"9bCts7,d^"S"e]"D76)!8[VW!/CIP">^/h"<?t3#-n@7QN.!Tq#CBas8N-e
+"9e`("GR$^B)hbu#O8T7(15\Rj8/9Wba'Fm?e=?.j34gEbVLFG<W<"&nbE.a.0KeNrsP+q#RJZS
+rsT#5(;TnK!+u35!CFTqrrOVP"TJE$nbN1ch$j8c!&OWS$fcF>$j6_5s47AV6Mg]`+p8&Gs!jZ]
+"9]K#1Enh.3@Q`e"<8U*(*")0(*"b`.4GB&+rhR<*#9M0+rg^gJH#QM.0KeErrDTg"9;g!rr?[1
+":=,gn`0Y("9`r=qu6Zdq>UP(":X,[s8VTmlMoZU"=a9K#?:m8_#N^"nb2tbnH8t]nc&TDrWEPC
+s7,XZl:hBaL8b+S+p8$moDa=~>
+p\tQis8QF/"LA(-n_4$C"99YErsshe"I];iq#:I"3TL/7s7kp["QL[/"F'eD!u;"B*:a%3nTP+9
+h=CRI3<TK_rs/(+"9bCts7,d^"S"e]"D76)!8[VW!/CIP">^/h"<?t3#-n@7QN.!Tq#CBas8N-e
+"9e`("GR$^B)hbu#O8T7(15\Rj8/9Wba'Fm?e=?.j34gEbVLFG<W<"&nbE.a.0KeNrsP+q#RJZS
+rsT#5(;TnK!+u35!CFTqrrOVP"TJE$nbN1ch$j8c!&OWS$fcF>$j6_5s47AV6Mg]`+p8&Gs!jZ]
+"9]K#1Enh.3@Q`e"<8U*(*")0(*"b`.4GB&+rhR<*#9M0+rg^gJH#QM.0KeErrDTg"9;g(rrDrn
+rr?[1":=,gn`0Y("9`r=qu6Zdq>UP(":X,[s8VTmlMoZU"=a9K#?:m8_#N^"nb2tbnH8t]nc&TD
+rWEPCs7,XZl:hBaL8b+S+p8$moDa=~>
+p\tQis8QF/"LA(-n_4$C"99YErsshe"I];iq#:I"3TL/7s7kp["QL[/"F'eD!u;"B*:a%3nTP+9
+h=CRI3<TK_rs/(+"9bP#s7,d^"S"e]"D76)!8[VW!/CIP">^/h"<?t3#-n@7QN.!Tq#CBas8N-e
+"9e`("GR$^B)hbu#O8T7(15\Rj8/9Wba'Fm?e=?.j34gEbVLFG<W<"&nbE.a.0KeNrsP+q#RJZS
+rsT#5(;TnK!+u35!CFTqrrOVP"TJE$nbN1ch$j8c!&OWS$fcF>$j6_5s47AV6Mg]`+p8&Gs!jfa
+"9]K#1Enh.3@Q`e"<8U*(*")0(*"b`.4GB&+rhR<*#9M0+rg^gJH#QM.0KeErrDTg"9;g(rrDQc
+rr?[1":=,gn`0Y("9`r=qu6Zdq>UP(":X,[s8VTmlMoZU"=a9K#?:m8_#N^"nb2tbnH8t]nc&TD
+rWEPCs7,XZl:hBaL8b+S+p8$moDa=~>
+o`#,&"9c%1s7+hCrr`<ArVmC_"9bCts7lTs"?GcIq#C-Trrh@+"9a8QrrX5D"=!@8!epi%nc&YN
+"9eZ&#OuC/"LA(-nauh`3<TJjo)A^GrWE4UrVljRrWE3@nc&]s"9b%\rs;!p"QTO^f)u4gq>UQ^
+"9^aYrr_'["BG<u"R706"BG<u!]'r^qu7%i":,FZs8NiM"9`?8rr?[1"9ApTpAY1M"9e`(!:fpc
+#2Nko":PD^rr3AA1B\Hr"TSMX"9_'frrO/C"T/3%R2c>R_#"'5Z4%M:q>UZhs8S_p%'o^/"(hZ=
+LAq2S.0KeHrr_fks7-'k!*/Rh!+u35#iksblMlSA"F'D9"()06_"@X1nc.ku"=a9K"'#IDh>[ES
+nb2tbh#mj@nc&TDrWE5,rVm#j9`tTRW;cuL"9`*%o`'F~>
+o`#,&"9c%1s7+hCrr`<ArVmC_"9bCts7lTs"?GcIq#C-Trrh@+"9a8QrrX5D"=!@8!epi%nc&YN
+"9eZ&#OuC/"LA(-nauh`3<TJjo)A^GrWE4UrVljRrWE3@nc&]s"9b%\rs;!p"QTO^f)u4gq>UQ^
+"9^aYrr_'["BG<u"R706"BG@!"8akW"T/3,Q37I%bQ%SX('FbPrVlk0rWE61GP;%<1B[j[rrDTc
+rs%:k"9],9.K9>T^bZ*/"9ec)h#mjIqYpU:"9eW%"IU54,/F'T"0r=NRJHjenc/W^":VU3rrZj9
+"GZpU!\"6Tp&>-as8VWg"9DO&qYLQuqu?Qnqu?\.rWEMes8VBaL'.X'nc&\u"9cO4rrqrml66?[
+r;Qk!"<?7srrDT_rr_'["?H#P!/CIU!4)S'"S#1h"GWlT"=XHV?h*dgJ,~>
+o`#,&"9c%1s7+hCrr`<ArVmC_"9bP#s7lTs"?GcIq#C-Trrh@+"9a8QrrX5D"=!@8!epi%nc&YN
+"9eZ&#OuC/"LA(-nauh`3<TJjo)A^GrWE4UrVljRrWE3@nc&]s"9b%\rs;!p"QTO^f)u4gq>UQ^
+"9^aYrr_'["BG<u"R706"BG@!"7S)L"T/3,Q37I%bQ%SX('FbPrVlk0rWE61GP;%<1B[j[rrDTc
+rs%:k"9],9.K9>T^bZ*/"9ec)h#mjIqYpU:"9eW%"IU54,/F'T"0r=NRJHjenc/Wb":VU3rrZj9
+"GZpU!\"6Tp&>-as8VWg"9DO&qX=djnGi"XnGiN#rWEMes8VBaL'.X'nc&\u"9cO4rrqrml66?[
+r;Qk!"<?7srrDT_rr_'["?H#P!/CIU!4)S'"S#1h"GWlT"=XHV?h*dgJ,~>
+o`###"9a8,s8N3%,5qNEL'.WRlMgh`"9C==kPl"V.0Kcts8VlortY_?(@hD,^^L@#nc&YN"9eW%
+#)36`T`>&^o`"t:"9e8p!8[VW!/CIP">^/h"<?t3#/CuWQN.!To`"tZ"9e`("3^lNB)2H/l4sL_
+pAY6N('IY6rrh@%"9_'grrh@V"<u(frt1YZ('MGQs!\'R()DYbs7'G)r<*78lMpnSqu6ab":X,]
+rs/(K('GT["@E+f!O<.4"TSK)Q37>&lMUYaj(9_Cqu6l91B\-%s6BU`"nDVu"9b.drr\ns"Mjm6
+"R8;V"GZpU![7aMoD]!Zh&HP#B(>m$B)Vo5lM^_bZ31;Snc&\u"9dcTrrNT31]77T<<NH\p&>9e
+s8V?e"BFaXrrAAa"9>b*rrZ7("GWlT""=?UB(Q%Q~>
+o`###"9a8,s8N3%,5qNEL'.WRlMgh`"9C==kPl"V.0Kcts8VlortY_?(@hD,^^L@#nc&YN"9eW%
+#)36`T`>&^o`"t:"9e8p!8[VW!/CIP">^/h"<?t3#/CuWQN.!To`"tZ"9e`("3^lNB)2H/l4sL_
+pAY6N('IY6rrh@%"9_'grrh@V"<u(frt1YZ('MGQs!\'R()DYbs7'G)r<*78lMpnSqu6ab":X,]
+rs/(K('GT["@E+f!O<.4"TSK)Q37>&lMUYaj(9_Cqu6l91B\-%s6BU`"nDVu"9b.drr\ns"Mjm6
+"R8;V"GZpU![7aMoD]!Zh&HP#B(>m$B)Vo5lM^_bZ31;Snc&\u"9dcTrrNT31]77T<<NH\p&>9e
+s8V?e"BFaXrrAAa"9>b*rrZ7("GWlT""=?UB(Q%Q~>
+o`###"9a8,s8N3%,5qNEL'.WRlMgh`"9C==kPl"V.0Kcts8VlortY_?(@hD,^^L@#nc&YN"9eW%
+#)36`V#UJbo`"t:"9e8p!8[VW!/CIP">^/h"<?t3#/CuWQN.!To`"tZ"9e`("3^lNB)2H/l4sL_
+pAY6N('IY6rrh@%"9_'grrh@V"<u(frt1YZ('MGQs!\'R()DYbs7'G)r<*78lMpnSqu6ab":X,]
+rs/(K('GT["@E+f!O<.4"TSK)Q37>&lMUYaj(9_Cqu6l91B\-%s6BU`"nDVu"9b.drr]&""Mjm6
+"R8;V"GZpU![7aMoD]!Zh&HP#B(>m$B)Vo5lM^_bZ31;Snc&\u"9dcTrrNT31]77T<<NH\p&>9e
+s8V?e"BFaXrrAAa"9>b*rrZ7("GWlT""=?UB(Q%Q~>
+p\tHfs8QF/"F&Jtrr`<GrVm@n"9^aFs8Vis"=`1,s7l*`s7lQm%I,qV"D7]6q#C@0"9]/'rr]P0
+"IATX!]^Adqu6kd"9bCts7,a]!ZV=Gnc&UFrWE4UrVljRrWE3@o)AsbL)'oHs8VBZs8VWhrrPLi
+"TJE'^]XdPq>UQ@$j8ojrs-=B"BGL%naZVY"R6s0"@E"c!Pg_l"98l/"<tY]nKJ)=+p9^-s8RTb
+"AL'C"?Edfs5X.Znc.l@"<un+nbiD%nX209"<:bO">g)Xh*M5n('Fd1nUU67qu6l93<TJjs5X%W
+".98pQMLR\nHAlX"9b.hrrhUo"9a8SrrOAI"S;ZnnH2Jo"D73(!+u35!:'O_"0r%4GOb\;<<NHp
+s8VWarrDTgs8N3%.K'2M<<NHbs8VW]s8N3&(7+Ok!1*Te!5SR5"S#Ip"GWlT"!RjNB(Q%Q~>
+p\tHfs8QF/"F&Jtrr`<GrVm@n"9^aFs8Vis"=`1,s7l*`s7lQm%I,qV"D7]6q#C@0"9]/'rr]P0
+"IATX!]^Adqu6kd"9bCts7,a]!ZV=Gnc&UFrWE4UrVljRrWE3@o)AsbL)'oHs8VBZs8VWhrrPLi
+"TJE'^]XdPq>UQ@$j8ojrs-=B"BGL%naZVY"R6s0"@E"c!Pg_l"98l/"<tY]nKJ)=+p9^-s8RTb
+"AL'C"?Edfs5X.Znc.l@"<un+nbiD%nX209"<:bO">g)Xh*M5n('Fd1nUU67qu6l93<TJjs5X%W
+".98pQMLR\nHAlX"9b.hrrhUo"9a8SrrOAI"S;ZnnH2Jo"D73(!+u35!:'O_"0r%4GOb\;<<NHp
+s8VWarrDTgs8N3%.K'2M<<NHbs8VW]s8N3&(7+Ok!1*Te!5SR5"S#Ip"GWlT"!RjNB(Q%Q~>
+p\tHfs8QF/"F&Jtrr`<GrVm@n"9^aFs8Vis"=`1,s7l*`s7lQm%I,qV"D7]6q#C@0"9]/'rr]P0
+"IATX!]^Adqu6kd"9bP#s7,a]!ZV=Gnc&UFrWE4UrVljRrWE3@o)AsbL)'oHs8VBZs8VWhrrPLi
+"TJE'^]XdPq>UQ@$j8ojrs-=B"BGL%naZVY"R6s0"@E"c!Pg_l"98l/"<tY]nKJ)=+p9^-s8RTb
+"AL'C"?Edfs5X.Znc.l@"<un+nbiD%nX209"<:bO">g)Xh*M5n('Fd1nUU67qu6l93<TJjs5X%W
+".98pQMLR\nHAlX"9b.hrrhUo"9a8SrrOAI"S;ZnnH2Jo"D73(!+u35!:'O_"0r%4GOb\;<<NHp
+s8VWarrDTgs8N3%.K'2M<<NHbs8VW]s8N3&(7+Ok!1*Te!5SR5"S#Ip"GWlT"!RjNB(Q%Q~>
+o`###"9`r#s8N3%,5qNOL'.W>j8]/S"9^10s8Vl`rrDilrse7*#R"c7s7lWo('FaKnc&]s"9b%\
+rrP1`"T/3'Q37>`s8VW]rrO/C"S)Klh>RNWLAh,P1]@LW*:j+7h*M5ILB%;Do`"tZ"9e`("Mb-C
+B)hbu"TR'V"ASmqqXF^g^]XdIrr38os7--S('Fb,qu6]QB(lEF$teQ"ru;.E.0Kc6bl<1r"O+Y;
+"9]^;lMUYbh')t;lMUYanX2BGrWEh$Z5*R's8RfV(1o?*"R?$&6M:N`(B<q'rt!=6";\<ClMpnS
+s8SAf"JGSj#4_`nR03YuqYp]gL)'oBrr3$D"9e8p"+V-i?h+-rB)Vo5lM^_bZ31;\nc&\k"9e#[
+s8N3%.K'2M<<NHbs8VW]rrX#>"F'G:!1*Te!5SR5"S#Ip"GWlT""=?UGOtib~>
+o`###"9`r#s8N3%,5qNOL'.W>j8]/S"9^10s8Vl`rrDilrse6L#R"c7s7lWo('FaKnc&]s"9b%\
+rrP1`"T/3'Q37>`s8VW]rrO/C"S)Klh>RNWLAh,P1]@LW*:j+7h*M5ILB%;Do`"tZ"9e`("Mb-C
+B)hbu"TR'V"ASmqqXF^g^]XdIrr38os7--S('Fb,qu6]QB(lEF$teQ"ru;.E.0Kc6bl<1r"O+Y;
+"9]^;lMUYbh')t;lMUYanX2BGrWEh$Z5*R's8RfV(1o?*"R?$&6M:N`(B<q'rt!=6";\<ClMpnS
+s8SAf"JGSj#4_`nR03YuqYp]gL)'oBrr3$D"9e8p"+V-i?h+-rB)Vo5lM^_bZ31;\nc&\k"9e#[
+s8N3%.K'2M<<NHbs8VW]rrX#>"F'G:!1*Te!5SR5"S#Ip"GWlT""=?UGOtib~>
+o`###"9`r#s8N3%,5qNOL'.W>j8]/S"9^10s8Vl`rrDilrse6L#R"c7s7lWo('FaKnc&]s"9b%\
+rrP1`"T/3'Q37>ds8VW]rrO/C"S)Klh>RNWLAh,P1]@LW*:j+7h*M5ILB%;Do`"tZ"9e`("Mb-C
+B)hbu"TR'V"ASmqqXF^g^]XdIrr38os7--S('Fb,qu6]QB(lEF$teQ"ru;.E.0Kc6bl<1r"O+Y;
+"9]^?lMUYbh')t;lMUYanX2BGrWEh$Z5*R's8RfV(1o?*"R?$&6M:N`(B<q'rt!=6";\<ClMpnS
+s8SAf"Jkkn#4_`nR03YuqYp]gL)'oBrr3$D"9e8p"+V-i?h+-rB)Vo5lM^_bZ31;\nc&\k"9e#[
+s8N3%.K'2M<<NHbs8VW]rrX#>"F'G:!1*Te!5SR5"S#Ip"GWlT""=?UGOtib~>
+o`###"9`r#s8N3%,5qNEL'.W>j8T)Y"9C==mJd1]r;R5r?P*EQnc/CartY_?%.X?"Z31;rnc&YN
+"9eW%#*oApT`>&^o`"t:"9e8p!8[VW!/CIP">^/h"<@"4#L!SZ"IB)fnauh_63IGjrr^IJ"D7K0
+"5Oq"<VHFpf,Op*q>UOG"9^a^s'"ruAjSgY3DC\X<E3YHnc/V/"<s7G"9`>sJ/e^Js4ql7"9]K?
+At\2as'GmKs8VWLZA'P3"9]]g_#N4!"ARpB*"7S^?N^Mss6?7a1G_$c68LVg9m;?lnbrIjbVKA;
+ZMOS'TEGC`pAY8G"9c%1rp^6nnaYX`$j;=arrOAI"SD]unc/Wp('IY-rr?[1"9@K\rr]P0"F'D9
+##td/lMpnSq#:?arr<!$!&OQQ##td/h>dNFo`#"%"<<j#rrAAa"9?78rrZ7("GWlT"!RjNB(Q%Q~>
+o`###"9`r#s8N3%,5qNEL'.W>j8T)Y"9C==mJd1]r;R5r?P*EQnc/CartY_?%.X?"Z31;rnc&YN
+"9eW%#*oApT`>&^o`"t:"9e8p!8[VW!/CIP">^/h"<@"4#L!SZ"IB)fnauh_63IGjrr^IJ"D7K0
+"5Oq"<VHFpf,Op*q>UOG"9^a^s'"ruAjSgY3DC\X<E3YHnc/V/"<s7G"9`>sJ/e^Js4ql7"9]K?
+At\2as'GmKs8VWLZA'P3"9]]g_#N4!"ARpB*"7S^?N^Mss6?7a1G_$c68LVg9m;?lnbrIjbVKA;
+ZMOS'TEGC`pAY8G"9c%1rp^6nnaYX`$j;=arrOAI"SD]unc/Wp('IY-rr?[1"9@K\rr]P0"F'D9
+##td/lMpnSq#:?arr<!$!&OQQ##td/h>dNFo`#"%"<<j#rrAAa"9?78rrZ7("GWlT"!RjNB(Q%Q~>
+o`###"9`r#s8N3%,5qNEL'.W>j8T)Y"9C==mJd1]r;R5r?P*EQnc/CartY_?%.X?"Z31;rnc&YN
+"9eW%#*oApV#UJbo`"t:"9e8p!8[VW!/CIP">^/h"<@"4#L!SZ"IB)fnauh_63IGjrr^IJ"D7K0
+"5Oq"<VHFpf,Op*q>UOG"9^a^s'"ruAjSgY3DC\X<E3YHnc/V/"<s7G"9`>sJ/e^Js4ql7"9]K?
+Au+Jes'GmKs8VWLZA'P3"9]]g_#N4!"ARpB*"7S^?N^Mss6?Ce1G_$c68LVg9m;?lnbrIjbVKA;
+ZMOS'U]^gdpAY8G"9c%1rp^6nnaYX`$j;=arrOAI"SD]unc/Wp('IY-rr?[1"9@K\rr]P0"F'D9
+##td/lMpnSq#:?arr<!$!&OQQ##td/h>dNFo`#"%"<<j#rrAAa"9?78rrZ7("GWlT"!RjNB(Q%Q~>
+p\tHfs8QF/"F&Jtrr`<GrVm"T"9^aFrr<!$!@cjlrrDilrrq[f$j:2;rVls8"9]/'rr]P0"IATX
+!]^Adqu6kd"9c%1s7,a]!ZV=Gnc&UFrWE4UrVljRrWE3@o)A^*rWE=Xs8VWarrDTgrrPLi"TJE+
+^]Xd#L4Ff/rdY-EG74m/reCE&!/CK'"JB?8">g%3#_7YRL4B[8"@E%d!:fsd!:g$f-Lq-9nc/+p
+"@E.E+p8<d3=H&Bs8VVp<?_hS"<:.%Q6HG7L5%]Er<*0XQJMQ?%);uK*+frh6J_Z9"9eW%s7,ma
+!:g$f&D'5O(7+7AlJ:LcnXpX#B(>]ss7$2G":UUmrrhj@"9aJYrrOAI"SD]uj8]/'$j9T#rr?[1
+"9@`crr]P0"F'D9##td/lMpnSq#:?arr<!$!%IjG##td/j8]/Lo`+po!?@NurrAAa"9?78rrZ7(
+"GWlT"!RjNB(Q%Q~>
+p\tHfs8QF/"F&Jtrr`<GrVm"T"9^aFrr<!$!@cjlrrDilrrq[f$j:2;rVls8"9]/'rr]P0"IATX
+!]^Adqu6kd"9c%1s7,a]!ZV=Gnc&UFrWE4UrVljRrWE3@o)A^*rWE=Xs8VWarrDTgrrPLi"TJE+
+^]Xd#L4Ff/rdY-EG74m/reCE&!/CK'"JB?8">g%3#_7YRL4B[8"@E%d!:fsd!:g$f-Lq-9nc/+p
+"@E.E+p8<d3=H&Bs8VVp<?_hS"<:.%Q6HG7L5%]Er<*0XQJMQ?%);uK*+frh6J_Z9"9eW%s7,ma
+!:g$f&D'5O(7+7AlJ:LcnXpX#B(>]ss7$2G":UUmrrhj@"9aJYrrOAI"SD]uj8]/'$j9T#rr?[1
+"9@`crr]P0"F'D9##td/lMpnSq#:?arr<!$!%IjG##td/j8]/Lo`+po!?@NurrAAa"9?78rrZ7(
+"GWlT"!RjNB(Q%Q~>
+p\tHfs8QF/"F&Jtrr`<GrVm"T"9^aFrr<!$!@cjlrrDilrrq[f$j:2;rVls8"9]/'rr]P0"IATX
+!]^Adqu6kd"9c%1s7,a]!ZV=Gnc&UFrWE4UrVljRrWE3@o)A^*rWE=Xs8VWarrDTgrrPLi"TJE+
+^]Xd#L4Ff/rdY-IG74m/reCE&!/CK'"JfW<">g%3#_7YRL4B[8"@E%d!:fsd!:g$f-Lq-9nc/+p
+"@E.E+p8<d3=H&Bs8VVp<?_hS"<:.%Q6HG7L5%]Er<*0XQJMQ?%);uK*+frh6J_Z9"9eW%s7,ma
+!:g$f&D'5O(7+7AlJ:LcnY?p'B(>]ss7$2G":UUmrrhj@"9aJYrrOAI"SD]uj8]/'$j9T#rr?[1
+"9@`crr]P0"F'D9##td/lMpnSq#:?arr<!$!%IjG##td/j8]/Lo`+po!?@NurrAAa"9?78rrZ7(
+"GWlT"!RjNB(Q%Q~>
+o`###"9a8,s8N3%,5qNPL'.W>j8]/S"9^10s8Vlhnc/XarVm>l9aClGs8VlortY_?%.X?"Z31;r
+nc&YN"9eW%#*oApT`>&^o`"t4"9e8p!8%2Q!/CIP">^/h"<@"4!5SR:!/C%D#snats6Am(":P_5
+"9Ju7*:s@7$l8^C":PDA"@E%d!:g'g"R>OWs5WnS$l/sinc+=Z"<80c"O-iE!qG*4qud!8rWE30
+qud'0GMW2s&&8qr":PD9B'TCV"9e8ps8MQ_s8VWfs!l5Q"9]]2(+C4P+uq(T"<8j>+t4]b+t658
+1E6N#1G^I(.3^2b.1?=fRK!3f.0KeGrs%<Zs3(TK?h+-rGQ%^Fj8Ju[Z31;\nc&\k"9e#_rrDTg
+s8N3%.K'2M<<NHbs8VW_s8VTk('FbPo)A]UrWE5:rVm#j<<NGZW;crK"9`r?s*t~>
+o`###"9a8,s8N3%,5qNPL'.W>j8]/S"9^10s8Vlhnc/XarVm>l9aClGs8VlortY_?%.X?"Z31;r
+nc&YN"9eW%#*oApT`>&^o`"t4"9e8p!8%2Q!/CIP">^/h"<@"4!5SR:!/C%D#snats6Am(":P_5
+"9Ju7*:s@7$l8^C":PDA"@E%d!:g'g"R>OWs5WnS$l/sinc+=Z"<80c"O-iE!qG*4qud!8rWE30
+qud'0GMW2s&&8qr":PD9B'TCV"9e8ps8MQ_s8VWfs!l5Q"9]]2(+C4P+uq(T"<8j>+t4]b+t658
+1E6N#1G^I(.3^2b.1?=fRK!3f.0KeGrs%<Zs3(TK?h+-rGQ%^Fj8Ju[Z31;\nc&\k"9e#_rrDTg
+s8N3%.K'2M<<NHbs8VW_s8VTk('FbPo)A]UrWE5:rVm#j<<NGZW;crK"9`r?s*t~>
+o`###"9a8,s8N3%,5qNPL'.W>j8]/S"9^10s8Vlhnc/XarVm>l9aClGs8VlortY_?%.X?"Z31;r
+nc&YN"9eW%#*oApV#UJbo`"t4"9e8p!8%2Q!/CIP">^/h"<@"4!5SR:!/C%D#snats6Am(":P_5
+"9Ju7*:s@7$l8^C":PDA"@E%d!:g'g"R>OWs5WnS$l/sinc+=Z"<80c"O-iE!qG*4qud!8rWE30
+qud'0GMW2s&&8qr":PD9B'TCV"9e8ps8MQ_s8VWfs!l5Q"9]]2(+C4P+uq(T"<8j>+t4]b+t658
+1E6N#1G^I(.3^2b.1?=fRK!3f.0KeGrs%<Zs3(TK?h+-rGQ%^Fj8Ju[Z31;\nc&\k"9e#_rrDTg
+s8N3%.K'2M<<NHbs8VW_s8VTk('FbPo)A]UrWE5:rVm#j<<NGZW;crK"9`r?s*t~>
+o`###"9c$^s8N3%,5qNEL'.W8fDbgM"9g7+s8Vlhnc&Uar;R8l63m^Es8VloruqR]3Sj9+#-n@?
+L@P<6q#:ThlMomO"9dQYrre&Z(5DAQrs&#nlMi%2"S)Kp^^L?%_#=9:*"2rQ6L+1B"i(6D,+7um
+rr_:n"9e`(",6p],5tpk<F8a5Ak`C2*-Z"%AnGCWAnGCE?N^KfQ;(^d9f$BnrWE3]mJd@[s8N3)%
+0$82^bZ)r('Mk\rrDTfrsc8G?WCGQ"9_%u9m<o5qu72ss+VL/"9]pSs8VUh"9e8^rt"Xf+p8#a"
+:PD9('FaK":Y&.!"Ac.!"AZ+%2K'LB&ipk3<UPds8VBZrs&#ns1fBQB(Gs3nR_n,%--mXs6>=A"
+D6rirrZj9%-mE`"6pj/1]77T<<O)np&>9es8U\""9_`qrre_u":Ut$rrY%["CJ,-"!RjNB(Q%Q~>
+o`###"9c$^s8N3%,5qNEL'.W8fDbgM"9g7+s8Vlhnc&Uar;R8l63m^Es8VloruqR]3Sj9+#-n@?
+L@P<6q#:ThlMomO"9dQYrre&Z(5DAQrs&#nlMi%2"S)Kp^^L?%_#=9:*"2rQ6L+1B"i(6D,+7um
+rr_:n"9e`(",6p],5tpk<F8a5Ak`C2*-Z"%AnGCWAnGCE?N^KfQ;(^d9f$BnrWE3]mJd@[s8N3)%
+0$82^bZ)r('Mk\rrDTfrsc8G?WCGQ"9_%u9m<o5qu72ss+VL/"9]pSs8VUh"9e8^rt"Xf+p8#a"
+:PD9('FaK":Y&.!"Ac.!"AZ+%2K'LB&ipk3<UPds8VBZrs&#ns1fBQB(Gs3nR_n,%--mXs6>=A"
+D6rirrZj9%-mE`"6pj/1]77T<<O)np&>9es8U\""9_`qrre_u":Ut$rrY%["CJ,-"!RjNB(Q%Q~>
+o`###"9c$^s8N3%,5qNEL'.W8fDbgM"9g7+s8Vlhnc&Uar;R8l63m^Es8VloruqR]3Sj9+#-n@?
+L@P<6q#:ThlMomO"9dQYrre&Z(5DAQrs&#nlMi%2"S)Kp^^L?%_#=9:*"2rQ6L+1B"i(6D,+7um
+rr_:n"9e`(",6p],5tpk<F8a5Ak`C2*-Z"%AnGCWAnGCE?N^KfQ;(^d9f$BnrWE3]mJd@[s8N3)%
+0$82^bZ)r('Mk\rrDTfrsc8G?WCGQ"9_%u9m<o5qu72ss+VL/"9]pSs8VUh"9e8^rt"Xf+p8#a"
+:PD9('FaK":Y&.!"Ac.!"AZ+%2K'LB&ipk3<UPds8VBZrs&#ns1fBQB(Gs3nR_n,%--mXs6>=A"
+D6rirrZj9%-mE`"6pj/1]77T<<O)np&>9es8U\""9_`qrre_u":V+(rrY%["CJ,-"!RjNB(Q%Q~>
+o`###"9c$^s8N3%*<#m?L'.W8fDbgM"9Bt'mJd1]r;R5k1B[i2s8VloruqRK*:a%2Z31r/o)AjX
+?N^Mfr;QkR"9bCfrrOAI%.X?#it_bA_#=991COBhB(Gs)bQJ&Cbjtc9j(8Dsrr3)+"9`?4rrh-n
+"?GcArr_'c"ASgo#4_`R.0Kc?mJd@[s8N3)%0$83j0E8:"9`>Pp&>+g"9e#_rs&!["9]oC_#=97
+9`tUbrsuCa(*&'sba,Q&^p8.e$tf:-#-u$V()D,"qk+(X+p8$mrr30Y"<u\%s6BCZ#3u6g^_R&b
+o)B0T9`tS-nc.nSs-<cjJFWXDAcr7ss8VWbrs.ihnc.2D">fuU#ZV!1_#Ns)naZJU#P%iof-1>+
+?h44"Q37=+ZMa_)1B[hmW;crD"9`?.s*t~>
+o`###"9c$^s8N3%*<#m?L'.W8fDbgM"9Bt'mJd1]r;R5k1B[i2s8VloruqRK*:a%2Z31r/o)AjX
+?N^Mfr;QkR"9bCfrrOAI%.X?#it_bA_#=991COBhB(Gs)bQJ&Cbjtc9j(8Dsrr3)+"9`?4rrh-n
+"?GcArr_'c"ASgo#4_`R.0Kc?mJd@[s8N3)%0$83j0E8:"9`>Pp&>+g"9e#_rs&!["9]oC_#=97
+9`tUbrsuCa(*&'sba,Q&^p8.e$tf:-#-u$V()D,"qk+(X+p8$mrr30Y"<u\%s6BCZ#3u6g^_R&b
+o)B0T9`tS-nc.nSs-<cjJFWXDAcr7ss8VWbrs.ihnc.2D">fuU#ZV!1_#Ns)naZJU#P%iof-1>+
+?h44"Q37=+ZMa_)1B[hmW;crD"9`?.s*t~>
+o`###"9c$^s8N3%*<#m?L'.W8fDbgM"9Bt'mJd1]r;R5k1B[i2s8VloruqRK*:a%2Z31r/o)AjX
+?N^Mfr;QkR"9bOjrrOAI%.X?#it_bA_#=991COBhB(Gs)bQJ&Cbjtc9j(8Dsrr3)+"9`?4rrh-n
+"?GcArr_'c"ASgo#4_`R.0Kc?mJd@[s8N3)%0$83j0E8:"9`>Pp&>+g"9e#_rs&!["9]oC_#=97
+9`tUbrsuCa(*&'sba,Q&^p8.e$tf:1#-u$V()D,"qkO@\+p8$mrr30Y"<u\%s6BCZ#3u6g^_R&b
+o)B0T9`tS-nc.nSs-<cjJFWXDAcr7ss8VWbrs.ihnc.2D">fuU#ZV!1_#Ns)naZJU#P%iof-1>+
+?h44"Q37=+ZMa_)1B[hmW;crD"9`?.s*t~>
+o`###"9c$^s8N3%,5qNEL'.W.h>[HS"9g7+s8Vlhnc/XarVm5b+p8$ms8Vlos!dpM#aVd?^s($<
+^s)en)pH+5b_?6EGJMG<f?D%GbeV$<f?D%d^f:dGfDPY!L(#8\f<W2tbeV$<beV$<^s'U066%f*
+beV$<^qe1<^qe10^s(#W"9]L5rVm!V('Fb#rkSQXs1nZYs1f#d^qe0^"<:F7f?DJ<^]_ls^s(%$
+^]U!!$j?S0"2G$BB)2H/bQJ&8rr;ib"TQ7?"BGI$!:g'g"QL7#"@DDRrr`<;r;R&mAcrMF,%eXU
+rr3&is6BU`"t9ZjfDk.9rpg!f&FmQA('FaUB%R(Qnc/VL"9e&j"L93S*5MOQ#4_`nZ31TApAY5L
+"9c%,rrhkB('KBkrrXGJ1X,Fi"0s?Y?h44,l=LG-"P<\Ds8RfV"ARqIrs!'<(?>Gpnb)naj!b*[
+r;Qjn"<uIgrrh@2":So5rre&b":VU6rrY%["D4V4""=?UGOtib~>
+o`###"9c$^s8N3%,5qNEL'.W.h>[HS"9g7+s8Vlhnc/XarVm5b+p8$ms8Vlos!dpM#aVd?^s($<
+^s)en)pH+5b_?6EGJMG<f?D%GbeV$<f?D%d^f:dGfDPY!L(#8\f<W2tbeV$<beV$<^s'U066%f*
+beV$<^qe1<^qe10^s(#W"9]L5rVm!V('Fb#rkSQXs1nZYs1f#d^qe0^"<:F7f?DJ<^]_ls^s(%$
+^]U!!$j?S0"2G$BB)2H/bQJ&8rr;ib"TQ7?"BGI$!:g'g"QL7#"@DDRrr`<;r;R&mAcrMF,%eXU
+rr3&is6BU`"t9ZjfDk.9rpg!f&FmQA('FaUB%R(Qnc/VL"9e&j"L93S*5MOQ#4_`nZ31TApAY5L
+"9c%,rrhkB('KBkrrXGJ1X,Fi"0s?Y?h44,l=LG-"P<\Ds8RfV"ARqIrs!'<(?>Gpnb)naj!b*[
+r;Qjn"<uIgrrh@2":So5rre&b":VU6rrY%["D4V4""=?UGOtib~>
+o`###"9c$^s8N3%,5qNEL'.W.h>[HS"9g7+s8Vlhnc/XarVm5b+p8$ms8Vlos!dpM#aVd?^s($<
+^s)en)pH+5b_?6EGJMG<f?D%GbeV$<f?D%d^f:dGfDPY!L(#8\f<W2tbeV$<beV$<^s'U066%f*
+beV$<^qe1<^qe10^s(#W"9]L9rVm!V('Fb#rkSQXs1nZYs1f#d^qe0^"<:F;f?DJ<^]_ls^s(%$
+^]U!!$j?S0"2G$BB)2H/bQJ&8rr;ib"TQ7?"BGI$!:g'g"QL7#"@DDRrr`<;r;R&mAcrMF,%eXU
+rr3&is6BU`"t9ZjfDk.9rpg!f&FmQA('FaUB%R(Qnc/VL"9e&j"L93S*5MOQ#4_`nZ31TApAY5L
+"9c%,rrhkB('KBkrrXGJ1X,Fi"0s?Y?h44,l=LG-"P<\Ds8RfV"ARqIrs!'<(?>Gpnb)naj!b*[
+r;Qjn"<uIgrrh@2":So5rre&b":VU6rrY%["D4V4""=?UGOtib~>
+p\tHfs8QF/"L?YZrr`<GrVm"T"9^O4rr<!$"Y&('s7lBZrrDilrs\0Q#R"c7s7lWo.0L(4"9@9U
+rr@f."9]nO":U%`rr=kR"98kb":"Drs1ea?B)2H/h$aEdpAY6H"9`*.rrhj9"9_'Vs8N3%*;ogE
+nUM#N$j6\Q?^A"Rqu6aY"<?_(rsIelL0lA<$n2Sf6Mpcb?N^N%m/Im-.0LF1s8VBalMpmW":VU9
+nc/.Znc/.Yrsshe"JGebs7--Zs6>=S"GZpU#9j9Z<If:*GPYnWL4Ff/?PWbnJFmFTGD7pQ"9@K]
+rs%b="9]]VGP#JOJ27<2J;0KfAdETmL1Z0P$j8$WrruI+$tb6+LA5B\G6X@W$j6tfGP#JNJ5l^T%
+'og2"#C&_?`<u,+p8$\oDa=~>
+p\tHfs8QF/"L?YZrr`<GrVm"T"9^O4rr<!$"Y&('s7lBZrrDilrs\0Q#R"c7s7lWo.0L(4"9@9U
+rr@f."9]nO":U%`rr=kR"98kb":"Drs1ea?B)2H/h$aEdpAY6H"9`*.rrhj9"9_'Vs8N3%*;ogE
+nUM#N$j6\Q?^A"Rqu6aY"<?_(rsIelL0lA<$n2Sf6Mpcb?N^N%m/Im-.0LF1s8VBalMpmW":VU9
+nc/.Znc/.Yrsshe"JGebs7--Zs6>=S"GZpU#9j9Z<If:*GPYnWL4Ff/?PWbnJFmFTGD7pQ"9@K]
+rs%b="9]]VGP#JOJ27<2J;0KfAdETmL1Z0P$j8$WrruI+$tb6+LA5B\G6X@W$j6tfGP#JNJ5l^T%
+'og2"#C&_?`<u,+p8$\oDa=~>
+p\tHfs8QF/"L?YZrr`<GrVm"T"9^O4rr<!$"Y&('s7lBZrrDilrs\0Q#R"c7s7lWo.0L(4"9@9U
+rr@f."9]nO":U%`rr=kR"98kb":"Drs1ea?B)2H/h$aEdpAY6H"9`*.rrhj9"9_'Vs8N3%*;ogE
+nUM#N$j6\Q?^A"Rqu6aY"<?_(rsIelL0lA<$n2Sf6Mpcb?N^N%m/Im-.0LF1s8VBalMpm[":VU9
+nc/.Znc/.Yrsshe"Jl(fs7--Zs6>=S"GZpU#9j9Z<If:*GPYnWL4Ff/?PWbnJFmFTGD7pQ"9@K]
+rs%b="9]]VGP#JOJ27<2J;0KfAdETmL1Z0P$j8$WrruI+$tb6+LA5B\G6X@W$j6tfGP#JNJ5l^T%
+'og2"#C&_?`<u,+p8$\oDa=~>
+o`###"9c$^s8N3%*<#m?L'.W8fDbgM"9Bt'mJd1]r;R,oAekM]nc/Cas!dpM'id70(*";0(*";0
+*#o_0*#9;0((:uX*"E`(*#9;0+t4s$.1?=^h>I9`L'.W!1E7h`*#9;0*#9;0r>$1h+sIF8(*";0
+(*";0(*";0*#p.*$j;=`rt7<p"<oX/()@l0()@l0()@l*(B#6Q+q#/+.3'*C*#9;0+t<L2!u;jl
+.K9>L^]XdPq>UQK('HGerr^%>"ASmq#k@rbs5P(%"?GcI%0R(Tf@T<>h8!V<">_%q";4&dh;.AJ
+h.?d6h<N5Ef>*,8(B"@GJ9NdP6GVmHf?Di5"9dcOrsumo";\fQs5!_Fs8TA-"I])c#3taYL'.XP
+qYp]gL("3>rr2sBf)uBEs7--hR03X$h?3oh"9^1OrrZ7(";]hs!#GP:!1Ecb"#C&_AuP_3.0Kcc
+oDa=~>
+o`###"9c$^s8N3%*<#m?L'.W8fDbgM"9Bt'mJd1]r;R,oAekM]nc/Cas!dpM'id70(*";0(*";0
+*#o_0*#9;0((:uX*"E`(*#9;0+t4s$.1?=^h>I9`L'.W!1E7h`*#9;0*#9;0r>$1h+sIF8(*";0
+(*";0(*";0*#p.*$j;=`rt7<p"<oX/()@l0()@l0()@l*(B#6Q+q#/+.3'*C*#9;0+t<L2!u;jl
+.K9>L^]XdPq>UQK('HGerr^%>"ASmq#k@rbs5P(%"?GcI%0R(Tf@T<>h8!V<">_%q";4&dh;.AJ
+h.?d6h<N5Ef>*,8(B"@GJ9NdP6GVmHf?Di5"9dcOrsumo";\fQs5!_Fs8TA-"I])c#3taYL'.XP
+qYp]gL("3>rr2sBf)uBEs7--hR03X$h?3oh"9^1OrrZ7(";]hs!#GP:!1Ecb"#C&_AuP_3.0Kcc
+oDa=~>
+o`###"9c$^s8N3%*<#m?L'.W8fDbgM"9Bt'mJd1]r;R,oAekM]nc/Cas!dpM'id70(*";0(*";0
+*#o_0*#9;0((:uX*"E`(*#9;0+t4s$.1?=^h>I9`L'.W!1E7h`*#9;0*#9;0r>$1h+sIF8(*";0
+(*";0(*";0*#p.*$j;=`rt7<p"<oX/()@l0()@l0()@l*(B#6Q+q#/+.3'*C*#9;0+t<L2!u;jl
+.K9>L^]XdPq>UQK('HGerr^%>"ASmq#k@rbs5P(%"?GcI%0R(Tf@T<>h8!V<">_%q";4&dh;.AJ
+h.?d6h<N5Ef>*,8(B"@GJ9NdP6GVmHf?Di5"9dcOrsumo";\fQs5!_Fs8TA-"I])c#3taYL'.XT
+qYp]gL("3>rr2sBf)uBEs7--hR03X$h?3oh"9^1OrrZ7(";]hs!#GP:!1Ecb"#C&_AuP_3.0Kcc
+oDa=~>
+o`###"9b%Bs8N3%,5qNEL'.W'fDbgM"9^0ss8VlZrseaR&HlJ+s7lBh('FahhZ!`K?N^M`rVm#j
+L("j'hZ!_5('G&=rVm!V"9^a:g]%MHs7-,p"9`rErr_d,"ASUi"60Lm?i'd*nM::N6L+RU$j6]"
+*!?BQq?-d6rWN6:r<**/rWE3:r<**/r<*B7('GB]":PDAr<*3H$j6_!rt!=6"<>5Ws6BXEs8TA-
+"I])c#4_`nTEGD5qYp]gL)'oHrr3"RGQ)4RGN399J3!T3$,HT$s8S`#">b8lAd!j#J7a$$B)d)S
+AcmPd(+K1]"AK:-Ap=5d!.afU"*\?hGO]8JG;B@)RJd'e?N^LDW;crK"9`r?s*t~>
+o`###"9b%Bs8N3%,5qNEL'.W'fDbgM"9^0ss8VlZrseaR&HlJ+s7lBh('FahhZ!`K?N^M`rVm#j
+L("j'hZ!_5('G&=rVm!V"9^a:g]%MHs7-,p"9`rErr_d,"ASUi"60Lm?i'd*nM::N6L+RU$j6]"
+*!?BQq?-d6rWN6:r<**/rWE3:r<**/r<*B7('GB]":PDAr<*3H$j6_!rt!=6"<>5Ws6BXEs8TA-
+"I])c#4_`nTEGD5qYp]gL)'oHrr3"RGQ)4RGN399J3!T3$,HT$s8S`#">b8lAd!j#J7a$$B)d)S
+AcmPd(+K1]"AK:-Ap=5d!.afU"*\?hGO]8JG;B@)RJd'e?N^LDW;crK"9`r?s*t~>
+o`###"9b%Bs8N3%,5qNEL'.W'fDbgM"9^0ss8VlZrseaR&HlJ+s7lBh('FahhZ!`K?N^M`rVm#j
+L("j'hZ!_5('G&ArVm!V"9^a:g]%MHs7-,p"9`rErr_d,"ASUi"60Lm?i'd*nM::N6L+RU$j6]"
+*!?BQq?-d6rWN6:r<**/rWE3:r<**/r<*B7('GB]":PDAr<*3H$j6_!rt!=6"<>5Ws6BXEs8TA-
+"I])c#4_`nU]^h9qYp]gL)'oHrr3"RGQ)4RGN399J3!T3$,HT$s8Sl'">b8lAd!j#J7a$$B)d)S
+AcmPd(+K1]"AK:-Ap=5d!.afU"*\?hGO]8JG;B@)RJd'e?N^LDW;crK"9`r?s*t~>
+p\tKgs8QF/"D72Vs8N3%,5qNLL'.Vfbl@J<"9^0Zk5PR="9`)srVls8"9]_#rsq*m"P<\Rnc.ld
+"9bCts7,(J%.Q+V1Vj%\lMiXK$mO:&"0r=<B)2H/h#n-QpAYZ="9_HhlK\E>lMo[,$j8o^rr=8*
+"98l#"98l-"9T&8":XVr"P5X:(:*f:"2G<JLA(WLTEGD'q>UPI('KBDrsX)S":X>jlMpm7$j:1u
+s8N3%.K'2J<<NHih>[S$"9cO<rr\Pi"D4V4"!RjNB(Q%Q~>
+p\tKgs8QF/"D72Vs8N3%,5qNLL'.Vfbl@J<"9^0Zk5PR="9`)srVls8"9]_#rsq*m"P<\Rnc.ld
+"9bCts7,(J%.Q+V1Vj%\lMiXK$mO:&"0r=<B)2H/h#n-QpAYZ="9_HhlK\E>lMo[,$j8o^rr=8*
+"98l#"98l-"9T&8":XVr"P5X:(:*f:"2G<JLA(WLTEGD'q>UPI('KBDrsX)S":X>jlMpm7$j:1u
+s8N3%.K'2J<<NHih>[S$"9cO<rr\Pi"D4V4"!RjNB(Q%Q~>
+p\tKgs8QF/"D72Vs8N3%,5qNLL'.Vfbl@J<"9^0Zk5PR="9`)srVls8"9]_#rsq*m"P<\Rnc.ld
+"9bP#s7,(J%.Q+V1Vj%\lMiXK$mO:&"0r=<B)2H/h#n-QpAYZ="9_HhlK\E>lMo[,$j8o^rr=8*
+"98l#"98l-"9T&8":XVr"P5X:(:*f:"2G<JLA(WLU]^h+q>UPI('KBDrsX)S":X>jlMpm7$j:1u
+s8N3%.K'2J<<NHih>[S$"9cO<rr\Pi"D4V4"!RjNB(Q%Q~>
+o`###"9`>gs8N3%,5qNLL'.VkfDkC@"9^0hk5PR="9_`irVls>"9]_#rrY7a"R>sc#O5Y!"LA(-
+n_sKJZMXk*$ii*_"9BM-g&M*B!/C4N!"Ai0!t5q\%/L)8Agmic(,IBT$k*7S%/pA06LFe!lMpl.
+":U$/?VP-E.0KcJ<E2b#9iXn^<F8I-?Q91W3E8dJ?Y918%o$Y9"9]KI?Y3YPAfLpVna-8Yf0TTh
+GQ+lR^nA!!AekLPLASalZC/"kJ0H13ZMVEBTH"(;GQ7^5gA_S3"9].$fDkm@Q5g<fh>dKX!&OQQ
+##td/j8]/Li;Wmk"9c%.rr\Pi"D4V4""=?UB(Q%Q~>
+o`###"9`>gs8N3%,5qNLL'.VkfDkC@"9^0hk5PR="9_`irVls>"9]_#rrY7a"R>sc#O5Y!"LA(-
+n_sKJZMXk*$ii*_"9BM-g&M*B!/C4N!"Ai0!t5q\%/L)8Agmic(,IBT$k*7S%/pA06LFe!lMpl.
+":U$/?VP-E.0KcJ<E2b#9iXn^<F8I-?Q91W3E8dJ?Y918%o$Y9"9]KI?Y3YPAfLpVna-8Yf0TTh
+GQ+lR^nA!!AekLPLASalZC/"kJ0H13ZMVEBTH"(;GQ7^5gA_S3"9].$fDkm@Q5g<fh>dKX!&OQQ
+##td/j8]/Li;Wmk"9c%.rr\Pi"D4V4""=?UB(Q%Q~>
+o`###"9`>gs8N3%,5qNLL'.VkfDkC@"9^0hk5PR="9_`irVls>"9]_#rrY7a"R>sc#O5Y!"LA(-
+n_sKJZMXk*$ii*_"9BM-g&M*B!/C4N!"Ai0!t5q\%/L)8Agmic(,IBT$k*7S%/pA06LFe!lMpl.
+":U$/?VP-E.0KcJ<E2b#9iXn^<F8I-?Q91W3E8dJ?Y918%o$Y9"9]KI?Y3YPAfLpVna-8Yf0TTh
+GQ+lR^ne9%AekLPLASalZC/"oJ0H13ZMVEBU`9L?GQ7^5gA_S3"9].$fDkm@Q5g<fh>dKX!&OQQ
+##td/j8]/Li;Wmk"9c%.rr\Pi"D4V4""=?UB(Q%Q~>
+o`###"9`>gs8N3%,5qNLL'.VkfDkC@"9^0hk5PR="9_`irVls>"9]_#rrP1`"T89)j&H3bT`>&^
+iVrr&%/0l*,3.AVs4mcW":P_5"TJo%"98l-"98l/"9:ILrt"Z"rtY_dlMpnSs8Rfh"Pr_M"'#Iu
+h=U^Mh$a]dnbiCg?N^MtrrL_Gf`VD$s8VB=rsnRL$j6\Q,)0]A*!?CElJDR@"9:7UrruI+"Ps+X
+n_jELAcr7Br;Qkb"9`>8rrX\Q"D79*J,~>
+o`###"9`>gs8N3%,5qNLL'.VkfDkC@"9^0hk5PR="9_`irVls>"9]_#rrP1`"T89)j&H3bT`>&^
+iVrr&%/0l*,3.AVs4mcW":P_5"TJo%"98l-"98l/"9:ILrt"Z"rtY_dlMpnSs8Rfh"Pr_M"'#Iu
+h=U^Mh$a]dnbiCg?N^MtrrL_Gf`VD$s8VB=rsnRL$j6\Q,)0]A*!?CElJDR@"9:7UrruI+"Ps+X
+n_jELAcr7Br;Qkb"9`>8rrX\Q"D79*J,~>
+o`###"9`>gs8N3%,5qNLL'.VkfDkC@"9^0hk5PR="9_`irVls>"9]_#rrP1`"T89)j&H3bV#UJb
+iVrr&%/0l*,3.AVs4mcW":P_5"TJo%"98l-"98l/"9:ILrt"Z"rtY_dlMpnSs8Rfh"Pr_M"'#Iu
+h=U^Mh$a]dnbiCg?N^MtrrL_Gf`VD$s8VB=rsnRL$j6\Q,)0]A*!?CElJDR@"9:7UrruI+"Ps+X
+n_jELAcr7Br;Qkb"9`>8rrX\Q"D79*J,~>
+p\tKgs8QF/"F'Cgs8N3%,5qNLL'.Vfbl@J<"9^0hk5PR="9_`irVls8"9]_#rrY7a"R>sc#NJee
+"JGepn_sKJ_#?+r3AWHX9fY!YB$B$0!:g'g"I9/n?g@XN#jUI1lBr%r?e>;Bro4[Wj6Epo"9_&Z
+ZA*maQCrF;"9_'VrrNT33W&gYL)'pPp&>0[63K*[o`#$Y"9^a^rrQO1"RH(;bW,e/,!n:G9fZ3?
+3<TI61FXLs+t4]b68L&>"9^M0.3^2b.3^2V"9a8-rrV_V(A@q4<U/TD!:g'grr`<Nr;Qt$"9dcb
+s7,%I"(hZ=ZMa_)Q37>&W;crD"9`?.s*t~>
+p\tKgs8QF/"F'Cgs8N3%,5qNLL'.Vfbl@J<"9^0hk5PR="9_`irVls8"9]_#rrY7a"R>sc#NJee
+"JGepn_sKJ_#?+r3AWHX9fY!YB$B$0!:g'g"I9/n?g@XN#jUI1lBr%r?e>;Bro4[Wj6Epo"9_&Z
+ZA*maQCrF;"9_'VrrNT33W&gYL)'pPp&>0[63K*[o`#$Y"9^a^rrQO1"RH(;bW,e/,!n:G9fZ3?
+3<TI61FXLs+t4]b68L&>"9^M0.3^2b.3^2V"9a8-rrV_V(A@q4<U/TD!:g'grr`<Nr;Qt$"9dcb
+s7,%I"(hZ=ZMa_)Q37>&W;crD"9`?.s*t~>
+p\tKgs8QF/"F'Cgs8N3%,5qNLL'.Vfbl@J<"9^0hk5PR="9_`irVls8"9]_#rrY7a"R>sc#NJee
+"Jl(tn_sKJ_#?+r3AWHX9fY!YB$B$0!:g'g"I9/n?g@XN#jUI1lBr%r?e>;Bro4[Wj6Epo"9_&Z
+ZA*maQDA^?"9_'VrrNT33W&gYL)'pPp&>0[63K*[o`#$Y"9^a^rrQO1"RH(;bW,e/,!n:G9fZ3?
+3<TI61FXLs+t4]b68L&>"9^M0.3^2b.3^2V"9a8-rrV_V(A@q4<U/TD!:g'grr`<Nr;Qt$"9dcb
+s7,%I"(hZ=ZMa_)Q37>&W;crD"9`?.s*t~>
+o`###"9`>gs8N3%,5qNLL'.Vkbl@55"9^0hk5PRM"9`)srVls>"9]q)rsq*m"QTO^nc.ld"9bCt
+s7,%I!:fmbs7+_@"nDVu$j:2<rr_9a">fcO"3^lV?i'd*l9YUV6L+RP+p8\\L'E0_J3k4YB)%)\
+QMuUC9boO/QA0qbL(8`g*#9uhJ9Q`lJ27T:na-8dbX)FPZN'sps7--ZZ4%.rpAY6#$k0H<rrhjJ
+":UUJrs\1uQC39/L3K;VQA2^$s8N3%.K'2M<<NHis8VWIrrZj9"Mjs8"-s&mAuP_3.0KctoDa=~>
+o`###"9`>gs8N3%,5qNLL'.Vkbl@55"9^0hk5PRM"9`)srVls>"9]q)rsq*m"QTO^nc.ld"9bCt
+s7,%I!:fmbs7+_@"nDVu$j:2<rr_9a">fcO"3^lV?i'd*l9YUV6L+RP+p8\\L'E0_J3k4YB)%)\
+QMuUC9boO/QA0qbL(8`g*#9uhJ9Q`lJ27T:na-8dbX)FPZN'sps7--ZZ4%.rpAY6#$k0H<rrhjJ
+":UUJrs\1uQC39/L3K;VQA2^$s8N3%.K'2M<<NHis8VWIrrZj9"Mjs8"-s&mAuP_3.0KctoDa=~>
+o`###"9`>gs8N3%,5qNLL'.Vkbl@55"9^0hk5PRM"9`)srVls>"9]q)rsq*m"QTO^nc.ld"9bP#
+s7,%I!:fmbs7+_@"nDVu$j:2<rr_9a">fcO"3^lV?i'd*l9YUV6L+RP+p8\\L'E0_J3k4YB)%)\
+QMuUC9boO/QA0qbL(8`g*#9uhJ9Q`lJ27T:na-8dbX)FPZN'sps7--ZZ4%.rpAY6#$k0H<rrhjJ
+":UUJrs\1uQC39/L3KGZQA2^$s8N3%.K'2M<<NHis8VWIrrZj9"Mjs8"-s&mAuP_3.0KctoDa=~>
+o`###"9`>gs8N3%*<#m?L'.W'fDbgM"9C<ok5PRP"9_`irVm$@":P^3_#!Tjrr_fOlK\BK#4_!1
+AekNbr;Qte":2=5s7*)g"2G$BB))E+"9:IUrr^jU"BGI$!:g$f"!RjN3UQkHnHAk-"9]q6"9KPG
+(A%b0%/L)/*"2rYli.+D63I_@qYpYc"9b%arr[uY"L@n("R9=s"GWrV!:g'grr`<Xr;Qk!";\f/
+rr[uY"LA"+"R:^E"D4V4""=?U.J*Ri~>
+o`###"9`>gs8N3%*<#m?L'.W'fDbgM"9C<ok5PRP"9_`irVm$@":P^3_#!Tjrr_fOlK\BK#4_!1
+AekNbr;Qte":2=5s7*)g"2G$BB))E+"9:IUrr^jU"BGI$!:g$f"!RjN3UQkHnHAk-"9]q6"9KPG
+(A%b0%/L)/*"2rYli.+D63I_@qYpYc"9b%arr[uY"L@n("R9=s"GWrV!:g'grr`<Xr;Qk!";\f/
+rr[uY"LA"+"R:^E"D4V4""=?U.J*Ri~>
+o`###"9`>gs8N3%*<#m?L'.W'fDbgM"9C<ok5PRP"9_`irVm$@":P^7_#!Tjrr_fOlK\BK#4_!1
+AekNbr;Qte":2=5s7*)g"2G$BB))E+"9:IUrr^jU"BGI$!:g$f"!RjN3UQkHnHAk-"9]q6"9KPG
+(A%b0%/L)/*"2rYli.+D63I_@qYpYc"9b%arr[uY"L@n("R9=s"GWrV!:g'grr`<Xr;Qk!";\f/
+rr[uY"LA"+"R:^E"D4V4""=?U.J*Ri~>
+p\tHfs8QF/"F&Jtrr`<ArVm"d"9]q)rr3'9"=^Y=rre&Z"CL]trra;E('Gi="98l0"9QC=q#:9t
+Q37Jds8VVjrs&#ns1ea?B)2H/irfKFpAY6N"9_a&rs&#nnKJ)=6L+UM"9=2TAdW`<$j9::?Y3YW
+?i=RA?Y3Xb"9]\QnH8k4%/pA3+q+SWli.4M9`tU7s8VWfrr\ns"G$4G",6p]RJQpgl=L/%LB%;=
+XoACkrr<!$!%IjG#ZV!I9pV*<ZBk?[#I9c5QGA6JRJWWWZMpKsZMpL#R=I'r"L@t*"/#c"AuP_3
++p8#goDa=~>
+p\tHfs8QF/"F&Jtrr`<ArVm"d"9]q)rr3'9"=^Y=rre&Z"CL]trra;E('Gi="98l0"9QC=q#:9t
+Q37Jds8VVjrs&#ns1ea?B)2H/irfKFpAY6N"9_a&rs&#nnKJ)=6L+UM"9=2TAdW`<$j9::?Y3YW
+?i=RA?Y3Xb"9]\QnH8k4%/pA3+q+SWli.4M9`tU7s8VWfrr\ns"G$4G",6p]RJQpgl=L/%LB%;=
+XoACkrr<!$!%IjG#ZV!I9pV*<ZBk?[#I9c5QGA6JRJWWWZMpKsZMpL#R=I'r"L@t*"/#c"AuP_3
++p8#goDa=~>
+p\tHfs8QF/"F&Jtrr`<ArVm"d"9]q)rr3'9"=^Y=rre&Z"CL]trra;E('Gi="98l0"9QC=q#:9t
+Q37Jhs8VVjrs&#ns1ea?B)2H/irfKFpAY6N"9_a&rs&#nnKJ)=6L+UM"9=2TAdW`<$j9::?Y3YW
+?i=RA?Y3Xb"9]\QnH8k4%/pA3+q+SWli.4M9`tU7s8VWfrr]&""G$4G",6p]RJQpgl=L/%LB%;=
+XoACkrr<!$!%IjG#ZV!I9pV*@ZBk?_#I9c5QGA6NRJWc[ZMpX"ZMpX'R=I'r"L@t*"/H&&AuP_3
++p8#goDa=~>
+o`###"9a8SrrDTDs8N3%*<#m?Q37=7h>[EV('GhekPk_UAcr6KnbrIk*!?ZQ*":U*!l4j2rr31g
+":1\#s7*2j#4_`n^]XdPq>UQQ"9_'brt!<V"BGL%naZYLs6:R,"@DDRrr`?2lMUYaJ0G-Jp&>?Y
+Ael/JZC/"aT_Yl&L("2/TX(5YQCoZ0"S(jY"QN2Z"Mk!9#4_`nTEGC`q>UZas8SAf"L@n(#P!<[
+"GZsVlDag`"99nKrr?'O"9BLJr;Ql)"9`>8rrX\Q"<@%5J,~>
+o`###"9a8SrrDTDs8N3%*<#m?Q37=7h>[EV('GhekPk_UAcr6KnbrIk*!?ZQ*":U*!l4j2rr31g
+":1\#s7*2j#4_`n^]XdPq>UQQ"9_'brt!<V"BGL%naZYLs6:R,"@DDRrr`?2lMUYaJ0G-Jp&>?Y
+Ael/JZC/"aT_Yl&L("2/TX(5YQCoZ0"S(jY"QN2Z"Mk!9#4_`nTEGC`q>UZas8SAf"L@n(#P!<[
+"GZsVlDag`"99nKrr?'O"9BLJr;Ql)"9`>8rrX\Q"<@%5J,~>
+o`###"9a8SrrDTDs8N3%*<#m?Q37=7h>[EV('GhekPk_UAcr6KnbrIk*!?ZQ*":U*!l4j2rr31g
+":1h's7*2j#4_`n^]XdPq>UQQ"9_'brt!<V"BGL%naZYLs6:R,"@DDRrr`?2lMUYaJ0G-Jp&>?Y
+Ael/JZC/"aV"q;*L("2/Up?eaQD>r4"S(jY"QN2Z"Mk!9#4_`nU]^gdq>UZas8SAf"L@n(#P!<[
+"GZsVlDag`"99nKrr?'O"9BLJr;Ql)"9`>8rrX\Q"<@%5J,~>
+o`###"9`r#s8N3%*<#m?L'.W'fDbdP*!@7ekPk_UAcr6KnbrIk.0Kb^_"%$r"PmZ*.A6;4#3oe9
+"Mk'4rr31g":2=5s7*2j#4_`n^]XdPq>UTR*!B:3p\tB3('J"7qu6fh*!?C)lMpke!$(n9$>'DD
+bl@_5s7--Zr;QoU.0LXNoD\k-"?HAZ"(hZ=lKnNVj%TXZ_#OH"nc&OkQ37>Vs8MNgs8DKfrre&Z
+"LA(,nH]*an`lM^"G!NP!:g'grr`<Xr;R%&":R:t1FYXHqC)Y93AWu)";X>q.0`*p"9]p'nc&Ok
+nUL`FAuP_3+p8#goDa=~>
+o`###"9`r#s8N3%*<#m?L'.W'fDbdP*!@7ekPk_UAcr6KnbrIk.0Kb^_"%$r"PmZ*.A6;4#3oe9
+"Mk'4rr31g":2=5s7*2j#4_`n^]XdPq>UTR*!B:3p\tB3('J"7qu6fh*!?C)lMpke!$(n9$>'DD
+bl@_5s7--Zr;QoU.0LXNoD\k-"?HAZ"(hZ=lKnNVj%TXZ_#OH"nc&OkQ37>Vs8MNgs8DKfrre&Z
+"LA(,nH]*an`lM^"G!NP!:g'grr`<Xr;R%&":R:t1FYXHqC)Y93AWu)";X>q.0`*p"9]p'nc&Ok
+nUL`FAuP_3+p8#goDa=~>
+o`###"9`r#s8N3%*<#m?L'.W'fDbdP*!@7ekPk_UAcr6KnbrIk.0Kb^_"%$r"PmZ*.AZS8#3oe9
+"Mk'4rr31g":2=5s7*2j#4_`n^]XdPq>UTR*!B:3p\tB3('J"7qu6fh*!?C)lMpke!$(n9$>'DD
+bl@_5s7--Zr;QoU.0LXNoD\k-"?HAZ"(hZ=lKnNVj%TXZ_#OH"nc&OkQ37>Vs8MNgs8DKfrre&Z
+"LA(,nH]*an`lM^"G!NP!:g'grr`<Xr;R%&":R:t1FYXHqC)Y93AWu)";X>q.0`*p"9]p'nc&Ok
+nUL`FAuP_3+p8#goDa=~>
+p\tHfs8QF/"D69crr`<ArVm"d"9]pmrr3'E";[Efrre&Z"BFacrrabR"<?Imrs.h$";[[1s6B=X
+#4Z:."Mk'4rr31g":1\#s7*2j'_25'^]Xd#TUD46R?j/EJ0G+VTYUB/&Bo>6"@BEGh;deVn_GAl
+"@DDRrr`<Arr32ms8Q[6"P<>H#jO_Z%-.BXs7,ma%,D$h,6.]5nc/V`"9e&j"QN2Z"Mjs8"nDVc
+((?N)s8VTls-X8uZMFM&<<NGZWrE(hrr<!$!%IjG"&/nY_"7R/nc(B\B(>m)J.)Pr?g@Xj"R:^E
+"D4V4"!RjN*:s2\~>
+p\tHfs8QF/"D69crr`<ArVm"d"9]pmrr3'E";[Efrre&Z"BFacrrabR"<?Imrs.h$";[[1s6B=X
+#4Z:."Mk'4rr31g":1\#s7*2j'_25'^]Xd#TUD46R?j/EJ0G+VTYUB/&Bo>6"@BEGh;deVn_GAl
+"@DDRrr`<Arr32ms8Q[6"P<>H#jO_Z%-.BXs7,ma%,D$h,6.]5nc/V`"9e&j"QN2Z"Mjs8"nDVc
+((?N)s8VTls-X8uZMFM&<<NGZWrE(hrr<!$!%IjG"&/nY_"7R/nc(B\B(>m)J.)Pr?g@Xj"R:^E
+"D4V4"!RjN*:s2\~>
+p\tHfs8QF/"D69crr`<ArVm"d"9]pmrr3'E";[Efrre&Z"BFacrrabR"<?Imrs.h$";[g5s6B=X
+#4Z:."Mk'4rr31g":1h's7*2j'_25'^]Xd#Um[X:R?j/EJ0G+VUqlf3&Bo>6"@BEGh;deVn_GAl
+"@DDRrr`<Arr32ms8Q[6"P<>H#jO_Z%-.BXs7,ma%,D$h,6.]5nc/V`"9e&j"QN2Z"Mjs8"nDVg
+((?N)s8VTls-X8uZMFM&<<NGZWrE(hrr<!$!%IjG"&/nY_"7R/nc(B\B(>m)J.)Pr?g@Xj"R:^E
+"D4V4"!RjN*:s2\~>
+o`#&$"9`?,f`1sS!$(t;"I9/n*6eE^""=?gRHFMPTEGBlh>R?W.0Kb^T\]5>)<tf:%$pG`lMpnS
+nc/.Zs7,XZh+\"T_#O3/rs"bl#b_4tnZ;`mnc/X)o)o+'.2M^^!"Ai0#Rhn+*"3f&1JRiO!(,uN
+rr`<Aqu6b1"9d?Nrs&#nl:hBslLY&U$ihaRrrQ1'"RH(;j&H3b6;8mE.7,471B[h@1E7AY*$Q@H
+.3(,m"9^_6*#p.B+rhdB"9aIVs8N3%.K'2K<<O(fnc&OglMCM\lMgh`"9;HlrsbV(";X>hs7--h
+TEGC0W;crK"9]_9s*t~>
+o`#&$"9`?,f`1sS!$(t;"I9/n*6eE^""=?gRHFMPTEGBlh>R?W.0Kb^T\]5>)<tf:%$pG`lMpnS
+nc/.Zs7,XZh+\"T_#O3/rs"bl#b_4tnZ;`mnc/X)o)o+'.2M^^!"Ai0#Rhn+*"3f&1JRiO!(,uN
+rr`<Aqu6b1"9d?Nrs&#nl:hBslLY&U$ihaRrrQ1'"RH(;j&H3b6;8mE.7,471B[h@1E7AY*$Q@H
+.3(,m"9^_6*#p.B+rhdB"9aIVs8N3%.K'2K<<O(fnc&OglMCM\lMgh`"9;HlrsbV(";X>hs7--h
+TEGC0W;crK"9]_9s*t~>
+o`#&$"9`?,f`1sS!$(t;"I9/n*6eE^""=?gRHFMPU]^fph>R?W.0Kb^UttYB)<tf:%$pG`lMpnS
+nc/.Zs7,XZh+\"T_#O3/rs"bl#c.M#nZ;`mnc/X)o)o+'.2M^^!"Ai0#Rhn+*"3f&1JRiO!(,uN
+rr`<Aqu6b1"9d?Nrs&#nl:hBslLY&U$ihaRrrQ1'"RH(;j&H3b6;8mE.7,471B[h@1E7AY*$Q@H
+.3(,m"9^_6*#p.B+rhdB"9aIVs8N3%.K'2K<<O(fnc&OglMCM\lMgh`"9;Hlrsbb,";X>hs7--h
+U]^g4W;crK"9]_9s*t~>
+o`#&$"9`)sf`1sS!$(t;$^Lnu%)Do5rr`HRZKD/iR03XmlM^_c*!@$+j73-OL'.XPpAY-_rr3(4
+"9c%.rs"ko"JGepnZ;`mnc/X5p&kL6"9],^p]La/('FaK,5VKG('GBU3U6VQ$j8BVs8VWhnTP*=
+h=^dNl:hC;fC](Gh(o16lM^_cnP',hna-8VbX2:3!#GG7!"AQ(!"Ac.!"AZ+!u;"BAubk2nc&Rg
+"9:7UrruI+.DYu`nbE+gnc.nS('IY-rr@fQ"9E`&rVluO"9`>8rrXGJ"<@%5J,~>
+o`#&$"9`)sf`1sS!$(t;$^Lnu%)Do5rr`HRZKD/iR03XmlM^_c*!@$+j73-OL'.XPpAY-_rr3(4
+"9c%.rs"ko"JGepnZ;`mnc/X5p&kL6"9],^p]La/('FaK,5VKG('GBU3U6VQ$j8BVs8VWhnTP*=
+h=^dNl:hC;fC](Gh(o16lM^_cnP',hna-8VbX2:3!#GG7!"AQ(!"Ac.!"AZ+!u;"BAubk2nc&Rg
+"9:7UrruI+.DYu`nbE+gnc.nS('IY-rr@fQ"9E`&rVluO"9`>8rrXGJ"<@%5J,~>
+o`#&$"9`)sf`1sS!$(t;$^Lnu%)Do5rr`HRZKD/iR03XmlM^_c*!@$+j73-OL'.XTpAY-_rr3(4
+"9c%.rs"ko"Jl(tnZ;`mnc/X5p&kL6"9],^p]La/('FaK,5VKG('GBU3U6VQ$j8BVs8VWhnTP*=
+h=^dNl:hC;fC](Gh(o16lM^_cnP',hna-8VbX2:3!#GG7!"AQ(!"Ac.!"AZ+!u;"BAubk2nc&Rg
+"9:7UrruI+.DYu`nbE+gnc.nS('IY-rr@fQ"9E`&rVluO"9`>8rrXGJ"<@%5J,~>
+o`###"9`r#s8N3%*<#mFQ37=+bl@55"9]pSk5PRP"9_`irVm$@"9]-f_"7R0j"h)fZLRSe"QO)6
+"Mjs8#+5SsZN'spXT'%#s8U:G"AQ\IZG<c]ZJD/n$otW/_"t>Jh3K#h9sVRMZG<c]Z5a8U3U6VI
+('GV_bl7VFl@pJch=^dSh.@E_bl@_5s7,sc%HE0G"BF(DlLFE)<>G`'rrq"K$n6_Briua$^p8J!
+$tf=@#,&9;Ael/4qQ^6l+p8%!WrE(hrr<!$!&OQQ"'#ID_"%I)"9;0drro\:"9aJLrVluD"9`>8
+rrXGJ"=!I;J,~>
+o`###"9`r#s8N3%*<#mFQ37=+bl@55"9]pSk5PRP"9_`irVm$@"9]-f_"7R0j"h)fZLRSe"QO)6
+"Mjs8#+5SsZN'spXT'%#s8U:G"AQ\IZG<c]ZJD/n$otW/_"t>Jh3K#h9sVRMZG<c]Z5a8U3U6VI
+('GV_bl7VFl@pJch=^dSh.@E_bl@_5s7,sc%HE0G"BF(DlLFE)<>G`'rrq"K$n6_Briua$^p8J!
+$tf=@#,&9;Ael/4qQ^6l+p8%!WrE(hrr<!$!&OQQ"'#ID_"%I)"9;0drro\:"9aJLrVluD"9`>8
+rrXGJ"=!I;J,~>
+o`###"9`r#s8N3%*<#mFQ37=+bl@55"9]pSk5PRP"9_`irVm$@"9]-f_"7R0j"h)fZLRSe"QO)6
+"Mjs8#+5SsZN'spXT'%#s8U:G"AQ\IZG<c]ZJD;r$otW/_"t>Jh3K#h9sVRMZG<c]Z5a8U3U6VI
+('GV_bl7VFl@pJch=^dSh.@E_bl@_5s7,sc%HE0G"BF(DlLFE)<>G`'rrq"K$n6_Briua(^p8J!
+$tf=@#,JQ?Ael/4qQ^6l+p8%!WrE(hrr<!$!&OQQ"'#ID_"%I)"9;0drro\:"9aJLrVluD"9`>8
+rrXGJ"=!I;J,~>
+o`###"9a8,s8N3%*<#mFQ37=!bl@55"9^Nrk5PRP"9_`irVljArWE3:gB7N.r;Qte"9bCts7*2j
+#3u6g^]XdPq>UQW('IA*rr^jg"CM!)"!RjN6L+RR.0Kc&%/U/-%.FB&$lfBY%/C#+,5q`F*<-fS
+"995:"9@KKrrgP+">djirr]P0%%6hh",6p]ZMOS(l<ar&L8P"N"99nKrs2U-(14AQbfmBg^]r#g
+^`3bLZLYd7Acr5FQLXqR"3^lNAuP_3.0KbnoDa=~>
+o`###"9a8,s8N3%*<#mFQ37=!bl@55"9^Nrk5PRP"9_`irVljArWE3:gB7N.r;Qte"9bCts7*2j
+#3u6g^]XdPq>UQW('IA*rr^jg"CM!)"!RjN6L+RR.0Kc&%/U/-%.FB&$lfBY%/C#+,5q`F*<-fS
+"995:"9@KKrrgP+">djirr]P0%%6hh",6p]ZMOS(l<ar&L8P"N"99nKrs2U-(14AQbfmBg^]r#g
+^`3bLZLYd7Acr5FQLXqR"3^lNAuP_3.0KbnoDa=~>
+o`###"9a8,s8N3%*<#mFQ37=!bl@55"9^Nrk5PRP"9_`irVljArWE3:gB7N.r;Qte"9bP#s7*2j
+#3u6g^]XdPq>UQW('IA*rr^jg"CM!)"!RjN6L+RR.0Kc&%/U/-%.FB&$lfBY%/C#+,5q`F*<-fS
+"995:"9@KKrrgP+">djirr]P0%%6hh",6p]ZMOS(l<ar&L8P"N"99nKrs2U-(14AQbfmBg^]r#g
+^`3bLZLYd7Acr5FQLXqR"3^lNAuP_3.0KbnoDa=~>
+p\tHfs8QF/%#3C6rr`<ArVm7k"9].Ks7-*l"?F9[rre_m"BFacrrjhS$j8!pnH8n%":X`%!8[SQ
+#*oApT`>&^XT&Lps8Tk;"D7K0"4n:k<Vl_#nc/.Z^_R&bq>UO@"9_'Yrs&#ns"ac\*;Td<%.jZ+
+$j7=S((Ba:!#GJ8!t5;8%.!orf/WsXZMOS'TEG\/rr3&is7-$e",6p]ZMsk0nc/.Zl@p&WL8t7R
+nc&Rg"9:7UrrPn'%.OH#(@D;.('FaUT`"flbQJ&\W;crD"9]_9s*t~>
+p\tHfs8QF/%#3C6rr`<ArVm7k"9].Ks7-*l"?F9[rre_m"BFacrrjhS$j8!pnH8n%":X`%!8[SQ
+#*oApT`>&^XT&Lps8Tk;"D7K0"4n:k<Vl_#nc/.Z^_R&bq>UO@"9_'Yrs&#ns"ac\*;Td<%.jZ+
+$j7=S((Ba:!#GJ8!t5;8%.!orf/WsXZMOS'TEG\/rr3&is7-$e",6p]ZMsk0nc/.Zl@p&WL8t7R
+nc&Rg"9:7UrrPn'%.OH#(@D;.('FaUT`"flbQJ&\W;crD"9]_9s*t~>
+p\tHfs8QF/%#3C6rr`<ArVm7k"9].Ks7-*l"?F9[rre_m"BFacrrjhS$j8!pnH8n%":X`%!8[SQ
+#*oApV#UJbXT&Lps8Tk;"D7K0"4n:k<Vl_#nc/.Z^_R&bq>UO@"9_'Yrs&#ns"ac\*;Td<%.jZ+
+$j7=S((Ba:!#GJ8!t5;8%.!orf/WsXZMOS'U]_+3rr3&is7-$e",6p]ZMsk0nc/.Zl@p&WL8t7R
+nc&Rg"9:7UrrPn'%.OH#(@D;.('FaUV#:5pbQJ&\W;crD"9]_9s*t~>
+o`###"9a8,s8N3%*<#mFL'.Vpbl@55"9^a/k5PRW"9_`irVm$F":Q']j7DdGl@p&iRGI/[qXFjk
+j4ESJ<<NHpr;Qte"9c%1s7*2j#3u6gbQJ&\q>UZC('Hu(s7,pb"2GZT<W<!unc&OknKJ)=3UQhY
+nc/V/":Us/j36,j<<NGt^s)en%a;_]R@pk0^aTBh<G"QlrFYtO%[go3"?Dm9<C0\c('Fd1m/I4?
+63JaQrVm)es8SJi"JGSj#3u6gL'.Xbq>UPb('KAlrrDTgs8N3%1]77X<<NFK<@K+Jq'$%m9fYoN
+";X?"+oiV\,6'\&"9=kfrr^jU"D4V4""=?U*:s2\~>
+o`###"9a8,s8N3%*<#mFL'.Vpbl@55"9^a/k5PRW"9_`irVm$F":Q']j7DdGl@p&iRGI/[qXFjk
+j4ESJ<<NHpr;Qte"9c%1s7*2j#3u6gbQJ&\q>UZC('Hu(s7,pb"2GZT<W<!unc&OknKJ)=3UQhY
+nc/V/":Us/j36,j<<NGt^s)en%a;_]R@pk0^aTBh<G"QlrFYtO%[go3"?Dm9<C0\c('Fd1m/I4?
+63JaQrVm)es8SJi"JGSj#3u6gL'.Xbq>UPb('KAlrrDTgs8N3%1]77X<<NFK<@K+Jq'$%m9fYoN
+";X?"+oiV\,6'\&"9=kfrr^jU"D4V4""=?U*:s2\~>
+o`###"9a8,s8N3%*<#mFL'.Vpbl@55"9^a/k5PR["9_`irVm$F":Q']j7DdGl@p&iRGI/[qXFjk
+j4ESJ<<NHpr;Qte"9c%1s7*2j#3u6gbQJ&\q>UZC('Hu(s7,pb"2GZT<W<!unc&OknKJ)=3UQhY
+nc/V/":V*3j36,j<<NH#^s)en%a;_aRA@.4^aTBh<G"QlrFYtO%[go3"?Dm9<C0\c('Fd1m/I4?
+63JaQrVm)es8SJi"Jkkn#3u6gL'.Xbq>UPb('KAlrrDTgs8N3%1]77X<<NFK<@K+Jq'$%m9fYoN
+";X?"+oiV\,6'\&"9=kfrr^jU"D4V4""=?U*:s2\~>
+o`###"9`r#s8N3%,5qNLf/Ws:bl@55"9^a/k5PR="9`?,rVls8"9^OMrr\ns"MjU."'#I,nbiCk
+Q37>`s8Vkqrs%cgs1ea?B)2H/isZ&bpAY6T('IY5rrZ7("@DDR!Xo2\qu6b1$j>DYrrYsu.HC(#
+"6q'5:&FqlAdeh.rt!p["<tY]s6BXSs8TA-"L@k'#4_`nTEGD5q>UPb$j;<^s8N3%1]77T<<O;c
+p&>$^rr<!$!)<"`!/CIU!208i"0r%4AuP_6.0Kc?s8VW_s*t~>
+o`###"9`r#s8N3%,5qNLf/Ws:bl@55"9^a/k5PR="9`?,rVls8"9^OMrr\ns"MjU."'#I,nbiCk
+Q37>`s8Vkqrs%cgs1ea?B)2H/isZ&bpAY6T('IY5rrZ7("@DDR!Xo2\qu6b1$j>DYrrYsu.HC(#
+"6q'5:&FqlAdeh.rt!p["<tY]s6BXSs8TA-"L@k'#4_`nTEGD5q>UPb$j;<^s8N3%1]77T<<O;c
+p&>$^rr<!$!)<"`!/CIU!208i"0r%4AuP_6.0Kc?s8VW_s*t~>
+o`###"9`r#s8N3%,5qNLf/Ws:bl@55"9^a/k5PR="9`?,rVls8"9^OMrr]&""MjU."'#I,nbiCk
+Q37>ds8Vkqrs%cgs1ea?B)2H/isZ&bpAY6T('IY5rrZ7("@DDR!Xo2\qu6b1$j>DYrrYsu.HC(#
+"6q'5:&FqlAdeh.rt!p["<tY]s6BXSs8TA-"L@k'#4_`nU]^h9q>UPb$j;<^s8N3%1]77T<<O;c
+p&>$^rr<!$!)<"`!/CIU!2TPm"0r%4AuP_6.0Kc?s8VW_s*t~>
+p\tHfs8QF/"F&Jtrr`<Nr;QkL"9cO>s8N3&1Vi2R"S$(,"F'eD!uqFH*:Wt4L'.XPs8VW^rt%0n
+"R?$^s7-,T"9bCts7lAkrs&#ns1ea?B)2H/h#mj@pAY6N"9_Hqrrhk9"9_'Vs8N3/(B=F)nc/Vr
+"9d?Qs8VTolMpnS3<U,Rrr2ugq#:HV$j8Bcs8VTls%NV!lKnNRj&H4+_#"'5Z31<'pAY5_"9c%+
+rr\Q&"GWrV!:g'grr`<Nr;Qt$"9dcbs7,ma!:g'grr`<Xnc&TWrWE5:rVm#jQ37>&W;d&G"9a8T
+s7,g_J,~>
+p\tHfs8QF/"F&Jtrr`<Nr;QkL"9cO>s8N3&1Vi2R"S$(,"F'eD!uqFH*:Wt4L'.XPs8VW^rt%0n
+"R?$^s7-,T"9bCts7lAkrs&#ns1ea?B)2H/h#mj@pAY6N"9_Hqrrhk9"9_'Vs8N3/(B=F)nc/Vr
+"9d?Qs8VTolMpnS3<U,Rrr2ugq#:HV$j8Bcs8VTls%NV!lKnNRj&H4+_#"'5Z31<'pAY5_"9c%+
+rr\Q&"GWrV!:g'grr`<Nr;Qt$"9dcbs7,ma!:g'grr`<Xnc&TWrWE5:rVm#jQ37>&W;d&G"9a8T
+s7,g_J,~>
+p\tHfs8QF/"F&Jtrr`<Nr;QkL"9cO>s8N3&1Vi2R"S$(,"F'eD!uqFH*:Wt4L'.XTs8VW^rt%0n
+"R?$^s7-,T"9bP#s7lAkrs&#ns1ea?B)2H/h#mj@pAY6N"9_Hqrrhk9"9_'Vs8N3/(B=F)nc/Vr
+"9d?Qs8VTolMpnS3<U,Rrr2ugq#:HV$j8Bcs8VTls%NV!lKnNRj&H4+_#"'5Z31<+pAY5_"9c%+
+rr\Q&"GWrV!:g'grr`<Nr;Qt$"9dcbs7,ma!:g'grr`<Xnc&TWrWE5:rVm#jQ37>&W;d&G"9a8T
+s7,g_J,~>
+o`###"9`r#s8N3%.K'2JG6A&arr<!$!AhORrre&Z"D73&rrX5D"<?q2".99-ZL\"t3<TKMrr38o
+s-WumT`>&^XT&Lis8Tk;">fn/#-rFs$mK;Lq6C-rAekeLrg!hq^p9A_9cO:&lMpke!"Ac)"*Y.V
+bk_;=nc/UlnM::`lLt5]nc.DR"@E"c!ac'5li.OV?N_fiTX(5rRBi-&*$T!fqQ^?oZC,;E,%dMF
+Z36h-$j:1>s8N3%1]77W<<NHbs8VWarrDTgs8N3%1\(JFQMq!e_#437R03Y)W;cuL"9`*%o`'F~>
+o`###"9`r#s8N3%.K'2JG6A&arr<!$!AhORrre&Z"D73&rrX5D"<?q2".99-ZL\"t3<TKMrr38o
+s-WumT`>&^XT&Lis8Tk;">fn/#-rFs$mK;Lq6C-rAekeLrg!hq^p9A_9cO:&lMpke!"Ac)"*Y.V
+bk_;=nc/UlnM::`lLt5]nc.DR"@E"c!ac'5li.OV?N_fiTX(5rRBi-&*$T!fqQ^?oZC,;E,%dMF
+Z36h-$j:1>s8N3%1]77W<<NHbs8VWarrDTgs8N3%1\(JFQMq!e_#437R03Y)W;cuL"9`*%o`'F~>
+o`###"9`r#s8N3%.K'2JG6A&arr<!$!AhORrre&Z"D73&rrX5D"<?q2".99-ZL\"t3<TKMrr38o
+s-WumV#UJbXT&Lis8Tk;">fn/#-rFs$mK;Lq6C.!AekeLrg!hq^p9A_9cO:&lMpke!"Ac)"*Y.V
+bk_;=nc/UlnM::`lLt5]nc.DR"@E"c!ac'5li.OV?N_fiUp?f%RBi-&*$T!jqQ^?oZC,;E,%dYJ
+Z36t1$j:1>s8N3%1]77W<<NHbs8VWarrDTgs8N3%1\(JFQMq!e_#437R03Y)W;cuL"9`*%o`'F~>
+o`###"9`r#s8N3%.K'2JG6A&arr<!$!AhORrre_m"D73&rrX#>"<?q2"/$&ObjtcE3<TKMs7lWa
+s-WumT`>&^XT&Cfs8Tn-"TAi$"9952"9:IIs8N3%*;fa<G74W+o`"tZ";^V/"7[-06Mpcb<<NHi
+m/I+HB&!Ll('FbPlDO[^"9:7UrruI+"Ps+Xnauk]"99n@rrAAa"9?78rr\ns"D4V4"=XHV<TE`O
+J,~>
+o`###"9`r#s8N3%.K'2JG6A&arr<!$!AhORrre_m"D73&rrX#>"<?q2"/$&ObjtcE3<TKMs7lWa
+s-WumT`>&^XT&Cfs8Tn-"TAi$"9952"9:IIs8N3%*;fa<G74W+o`"tZ";^V/"7[-06Mpcb<<NHi
+m/I+HB&!Ll('FbPlDO[^"9:7UrruI+"Ps+Xnauk]"99n@rrAAa"9?78rr\ns"D4V4"=XHV<TE`O
+J,~>
+o`###"9`r#s8N3%.K'2JG6A&arr<!$!AhORrre_m"D73&rrX#>"<?q2"/H>SbjtcE3<TKMs7lWa
+s-WumV#UJbXT&Cfs8Tn-"TAi$"9952"9:IIs8N3%*;fa<G74W+o`"tZ";^V/"7[-06Mpcb<<NHi
+m/I+HB&!Ll('FbPlDO[^"9:7UrruI+"Ps+Xnauk]"99n@rrAAa"9?78rr]&""D4V4"=XHV<TE`O
+J,~>
+p\tHfs8QF/"F&Jtrr`<Nr;QkC"9cO>s8N3&1Vi/Q"ITAqB(>j"!uqFH*:a%5l@9"ElMo]4rrY7a
+"R?!d$2FOd"9bCts7lAkrs/)os1ea?(-2@Mr](0W1B[gr<C6L;&5>Io";X^+3C6%m9iWA?"@DDR
+rWN,6"_Jq]RD?-&^^.5?";\;eZG<dA^]i>q*#:Q?r4iA.$k2J%&E?an"<pi43E8C?6:(eX.67;^
+#Uqc.6:*[8"=a1'"Z[b0"G$$CrrDTgs8N3%.K'2M<<NHbs8VW]s8N3%.ImE<QMq!e_#437Z31;B
+W;cuE"9`*%o`'F~>
+p\tHfs8QF/"F&Jtrr`<Nr;QkC"9cO>s8N3&1Vi/Q"ITAqB(>j"!uqFH*:a%5l@9"ElMo]4rrY7a
+"R?!d$2FOd"9bCts7lAkrs/)os1ea?(-2@Mr](0W1B[gr<C6L;&5>Io";X^+3C6%m9iWA?"@DDR
+rWN,6"_Jq]RD?-&^^.5?";\;eZG<dA^]i>q*#:Q?r4iA.$k2J%&E?an"<pi43E8C?6:(eX.67;^
+#Uqc.6:*[8"=a1'"Z[b0"G$$CrrDTgs8N3%.K'2M<<NHbs8VW]s8N3%.ImE<QMq!e_#437Z31;B
+W;cuE"9`*%o`'F~>
+p\tHfs8QF/"F&Jtrr`<Nr;QkC"9cO>s8N3&1Vi/Q"ITAqB(>j"!uqFH*:a%5l@9"ElMo]4rrY7a
+"R?!d$2FOd"9bP#s7lAkrs/)os1ea?(-2@Mr](0W1B[gr<C6L;&5>Io";X^+3C6%m9iWA?"@DDR
+rWN,6"_Jq]RD?-&^^.5?";\;eZG<dA^]i>q*#:Q?r4iA.$k2J%&E?an"<pi43E8C?6:(eX.67;^
+#Uqc.6:*[8"=a1'"Z[b0"G$$CrrDTgs8N3%.K'2M<<NHbs8VW]s8N3%.ImE<QMq!e_#437Z31;B
+W;cuE"9`*%o`'F~>
+o`###"9`r#s8N3%.K'2JG6A&arr<!$!AhORrr\Pi"F'eD!uqFH*:a%5f/WtXs8UpIrrY7a"R?!d
+#k@q_"9bCts7*2j#4_`n^]XdPq>UQW"9_'brr_9i"BG9t",7Qo6L+RR$j6\h%/pA1((Ba:!#GP:
+!#G20":PDA"=a9P"<n6W"R>@R"QNhl,/F'T"0r%4T_ABfTEGD'q>UYe$j;=bs7*)grr`<Nr;Qt$
+"9dcbs7,a]rr`<Xnc&TTrWE5:r;Qkl"9`qIrrsnT"G$OPnb3!5~>
+o`###"9`r#s8N3%.K'2JG6A&arr<!$!AhORrr\Pi"F'eD!uqFH*:a%5f/WtXs8UpIrrY7a"R?!d
+#k@q_"9bCts7*2j#4_`n^]XdPq>UQW"9_'brr_9i"BG9t",7Qo6L+RR$j6\h%/pA1((Ba:!#GP:
+!#G20":PDA"=a9P"<n6W"R>@R"QNhl,/F'T"0r%4T_ABfTEGD'q>UYe$j;=bs7*)grr`<Nr;Qt$
+"9dcbs7,a]rr`<Xnc&TTrWE5:r;Qkl"9`qIrrsnT"G$OPnb3!5~>
+o`###"9`r#s8N3%.K'2JG6A&arr<!$!AhORrr\Pi"F'eD!uqFH*:a%5f/WtXs8UpIrrY7a"R?!d
+#k@q_"9bP#s7*2j#4_`n^]XdPq>UQW"9_'brr_9i"BG9t",7Qo6L+RR$j6\h%/pA1((Ba:!#GP:
+!#G20":PDA"=a9P"<n6W"R>@R"QNhl,/F'T"0r%4V"XfjU]^h+q>UYe$j;=bs7*)grr`<Nr;Qt$
+"9dcbs7,a]rr`<Xnc&TTrWE5:r;Qkp"9`qIrrsnT"G$OPnb3!5~>
+o`#&$"9`?,f`1sS!%IjG"*XkN_#FB6"9B^Pk5PRW"9`)srVm!?":Q'to)Aft"9b%\rrY7a"P<SO
+#+5SsT`>&^XT&Lps8Tk;"D7H/!Yto*pAY6N$j9T.rs%cYs-<cj3U6VP('Fb,.1?V)66$+2rY>VF
+()@;erY>\@(-)d3";^J0!$_@E!u;"B%.X>tlMUYej%TXbbl@_5rVltf"9b.drr[uY"L@n("S%!F
+"I?(f!:g'grr`<Xr;Qk!":WNEs8E-$B(Gs)R03X$T`"flh#mjmW;crK"9^1Fs*t~>
+o`#&$"9`?,f`1sS!%IjG"*XkN_#FB6"9B^Pk5PRW"9`)srVm!?":Q'to)Aft"9b%\rrY7a"P<SO
+#+5SsT`>&^XT&Lps8Tk;"D7H/!Yto*pAY6N$j9T.rs%cYs-<cj3U6VP('Fb,.1?V)66$+2rY>VF
+()@;erY>\@(-)d3";^J0!$_@E!u;"B%.X>tlMUYej%TXbbl@_5rVltf"9b.drr[uY"L@n("S%!F
+"I?(f!:g'grr`<Xr;Qk!":WNEs8E-$B(Gs)R03X$T`"flh#mjmW;crK"9^1Fs*t~>
+o`#&$"9`?,f`1sS!%IjG"*XkN_#FB6"9B^Pk5PR["9`)srVm!?":Q'to)Aft"9b%\rrY7a"P<SO
+#+5SsV#UJbXT&Lps8Tk;"D7H/!Yto*pAY6N$j9T.rs%cYs-<cj3U6VP('Fb,.1?V)66$+2rY>VF
+()@;erY>\@(-)d3";^J0!$_@E!u;"B%.X>tlMUYej%TXbbl@_5rVltf"9b.drr[uY"L@n("S%!F
+"I?(f!:g'grr`<Xr;Qk!":WNEs8E-$B(Gs)R03X$V#:5ph#mjmW;crK"9^1Fs*t~>
+p\tKgs8QF/"D6rOs8N3%.K'2JG6A&arr<!$!?AE-rrett"BFacrra;E":WNFrr]P0"IATX%ljaq
+bl@_<s8SAf"JGeppoOK"nc/X)"9`?4rr_9a"?H2U#L!;R:&k7`nbrIiL'.WGlMpkm!X-a-rVlt3
+$j>V_rs2s7"D30kJ7a$%Ae'?'$k+>1Ap7j!L*?a'lLOrTnbrInn]Wur%)DoClM^_bR03YIpAY5L
+"9b.hrrhk("9a7TrrDTgs8N3%.K'2J<<N`Gnc/Rk!(-8V"ITAq%%7%n"60Le?`<u,+p8#goDa=~>
+p\tKgs8QF/"D6rOs8N3%.K'2JG6A&arr<!$!?AE-rrett"BFacrra;E":WNFrr]P0"IATX%ljaq
+bl@_<s8SAf"JGeppoOK"nc/X)"9`?4rr_9a"?H2U#L!;R:&k7`nbrIiL'.WGlMpkm!X-a-rVlt3
+$j>V_rs2s7"D30kJ7a$%Ae'?'$k+>1Ap7j!L*?a'lLOrTnbrInn]Wur%)DoClM^_bR03YIpAY5L
+"9b.hrrhk("9a7TrrDTgs8N3%.K'2J<<N`Gnc/Rk!(-8V"ITAq%%7%n"60Le?`<u,+p8#goDa=~>
+p\tKgs8QF/"D6rOs8N3%.K'2JG6A&arr<!$!?AE-rrf,#"BFacrra;E":WNFrr]P0"IATX%ljaq
+bl@_<s8SAf"Jl(tpoOK"nc/X)"9`?4rr_9a"?H2U#L!;R:&k7`nbrIiL'.WGlMpkm!X-a-rVlt3
+$j>V_rs2s7"D30kJ7a$%Ae'?'$k+>1Ap7j!L*?a'lLOrTnbrInn]Wur%)DoClM^_bR03YIpAY5L
+"9b.hrrhk("9a7TrrDTgs8N3%.K'2J<<N`Gnc/Rk!(-8V"ITAq%%7%n"60Le?`<u,+p8#goDa=~>
+o`#&$"9`)sf`1sS!%IjG"*XkN_#FB6"9BLJk5PRP"9_HZrVm!?"9]Lao)Aft"9b%\rsq*m"O-oG
+q#CA["9bCts7*2j#4_`n^]XdPq>UQQ"9_'brr^IJ"BGF#!:g'g"4oO96L+UN":H"Fs5WDEs(2B:
+bl@S1!rqf\rr3$K"<@%5"5O_$:&Fql?N^N"rs/)on\?p`"Mk!9#4_`nR03YYq>UZas8SAf"L@k'
+#-o!ILB%;=WW2u$!%IjG"'#I4_"%I("9;0errAJd"9=bcrr_9a"CJ,-""=?U*:s2\~>
+o`#&$"9`)sf`1sS!%IjG"*XkN_#FB6"9BLJk5PRP"9_HZrVm!?"9]Lao)Aft"9b%\rsq*m"O-oG
+q#CA["9bCts7*2j#4_`n^]XdPq>UQQ"9_'brr^IJ"BGF#!:g'g"4oO96L+UN":H"Fs5WDEs(2B:
+bl@S1!rqf\rr3$K"<@%5"5O_$:&Fql?N^N"rs/)on\?p`"Mk!9#4_`nR03YYq>UZas8SAf"L@k'
+#-o!ILB%;=WW2u$!%IjG"'#I4_"%I("9;0errAJd"9=bcrr_9a"CJ,-""=?U*:s2\~>
+o`#&$"9`)sf`1sS!%IjG"*XkN_#FB6"9BLJk5PRP"9_HZrVm!?"9]Lao)Aft"9b%\rsq*m"O-oG
+q#CA["9bP#s7*2j#4_`n^]XdPq>UQQ"9_'brr^IJ"BGF#!:g'g"4oO96L+UN":H"Fs5WDEs(2B:
+bl@S1!rqf\rr3$K"<@%5"5O_$:&Fql?N^N"rs/)on\?p`"Mk!9#4_`nR03YYq>UZas8SAf"L@k'
+#-o!ILB%;=WW2u$!%IjG"'#I4_"%I("9;0errAJd"9=bcrr_9a"CJ,-""=?U*:s2\~>
+o`#&$"9`?,f`1sS!%IjG"*XkN_#FB6"9BLJk5PRP"9_`irVlj;rWE5:o)Aft"9b%\rsq*m"P<\R
+q#CA^"9bCts7i\q#4_`n^]XdPq>UQQ"9^aas8)6gs3(TK:&Y+lnc/UkL'.W>lMpke!=\MrrrZj9
+"P<JLs7-*g"??Snj8],K!<;ue#645nh#mj@qu6au"9e8`rsSAsn\@-f"Mk';lLFlR"I9/nLB%8C
+!<<#fs8N4V"9c%1rp^?qnaYn!"9a8Ts7*5k!:g'grr`<Xr;Qk!";\fCs8E-$:%J;aRJm<hLA_&R
+irfKlW;crD"9]q?s*t~>
+o`#&$"9`?,f`1sS!%IjG"*XkN_#FB6"9BLJk5PRP"9_`irVlj;rWE5:o)Aft"9b%\rsq*m"P<\R
+q#CA^"9bCts7i\q#4_`n^]XdPq>UQQ"9^aas8)6gs3(TK:&Y+lnc/UkL'.W>lMpke!=\MrrrZj9
+"P<JLs7-*g"??Snj8],K!<;ue#645nh#mj@qu6au"9e8`rsSAsn\@-f"Mk';lLFlR"I9/nLB%8C
+!<<#fs8N4V"9c%1rp^?qnaYn!"9a8Ts7*5k!:g'grr`<Xr;Qk!";\fCs8E-$:%J;aRJm<hLA_&R
+irfKlW;crD"9]q?s*t~>
+o`#&$"9`?,f`1sS!%IjG"*XkN_#FB6"9BLJk5PRP"9_`irVlj;rWE5:o)Aft"9b%\rsq*m"P<\R
+q#CA^"9bP#s7i\q#4_`n^]XdPq>UQQ"9^aas8)6gs3(TK:&Y+lnc/UkL'.W>lMpke!=\MrrrZj9
+"P<JLs7-*g"??Snj8],K!<;ue#645nh#mj@qu6au"9e8`rsSAsn\@-f"Mk';lLFlR"I9/nLB%8C
+!<<#fs8N4V"9c%1rp^?qnaYn!"9a8Ts7*5k!:g'grr`<Xr;Qk!";\fCs8E-$:%J;aRJm<hLA_&R
+irfKlW;crD"9]q?s*t~>
+o`#&$"9`?,f`1sS!%IjG"*XkN_#FB6"9BLJk5PRW"9_`irVlj;rWE5:o)Aft"9b%\rsq*m"O-oG
+q#CA^"9bCts7i\q#4_`n^]XdPq>UWS";Wf`lM1A_h%g,fs7-$e"QO(s"@DDRrsSlCrr32ms8Q[6
+"P<;G"#C&qj8T&YnbE+disZ&Nqu6^t"9e/m#P%ioj%TXZ_#=<5nHAlt('KBfrs&#Ys-X8uT_\Tl
+Q37>Fs8VVkrrDTgs8N3%1]77T<<N`Gnc/Rk!)<%a!1Efh!J'_=rr_9a"CJ,-"!RjN*:s2\~>
+o`#&$"9`?,f`1sS!%IjG"*XkN_#FB6"9BLJk5PRW"9_`irVlj;rWE5:o)Aft"9b%\rsq*m"O-oG
+q#CA^"9bCts7i\q#4_`n^]XdPq>UWS";Wf`lM1A_h%g,fs7-$e"QO(s"@DDRrsSlCrr32ms8Q[6
+"P<;G"#C&qj8T&YnbE+disZ&Nqu6^t"9e/m#P%ioj%TXZ_#=<5nHAlt('KBfrs&#Ys-X8uT_\Tl
+Q37>Fs8VVkrrDTgs8N3%1]77T<<N`Gnc/Rk!)<%a!1Efh!J'_=rr_9a"CJ,-"!RjN*:s2\~>
+o`#&$"9`?,f`1sS!%IjG"*XkN_#FB6"9BLJk5PR["9_`irVlj;rWE5:o)Aft"9b%\rsq*m"O-oG
+q#CA^"9bP#s7i\q#4_`n^]XdPq>UWS";Wf`lM1A_h%g,fs7-$e"QO(s"@DDRrsSlCrr32ms8Q[6
+"P<;G"#C&qj8T&YnbE+disZ&Nqu6^t"9e/m#P%ioj%TXZ_#=<5nHAlt('KBfrs&#Ys-X8uV"t#p
+Q37>Fs8VVkrrDTgs8N3%1]77T<<N`Gnc/Rk!)<%a!1Efh!J'_=rr_9a"CJ,-"!RjN*:s2\~>
+o`#&$"9`?%f`1sS!%IjG"*XkN_#FB6"9BLJk5PRW"9_`irVm!?"9].Ko)Aft"9b%\rsq*m"Mk';
+q#CA["9bCts7*2j"7cEk_#=K:%/pA8$j6t_"9]K?(An:@$j6\K1B[h)<W3a9$l0g&rWE3flMpke
+!=\Mrrr[HR"PrqS!:g!e"$$K(h=U^LnJhZfqu6^t"9e8p"7cEknc&P;Acr5s3?eSM+r2sj"9^M)
+((:re((:s&(+CF1">_5;$l06e$n5Nd"GWfRrr`<Nr;R"%":VU9nc/.Ps8E-$:%J;aQMq!fJFWU<
+"5O(_?`<u,.0KbnoDa=~>
+o`#&$"9`?%f`1sS!%IjG"*XkN_#FB6"9BLJk5PRW"9_`irVm!?"9].Ko)Aft"9b%\rsq*m"Mk';
+q#CA["9bCts7*2j"7cEk_#=K:%/pA8$j6t_"9]K?(An:@$j6\K1B[h)<W3a9$l0g&rWE3flMpke
+!=\Mrrr[HR"PrqS!:g!e"$$K(h=U^LnJhZfqu6^t"9e8p"7cEknc&P;Acr5s3?eSM+r2sj"9^M)
+((:re((:s&(+CF1">_5;$l06e$n5Nd"GWfRrr`<Nr;R"%":VU9nc/.Ps8E-$:%J;aQMq!fJFWU<
+"5O(_?`<u,.0KbnoDa=~>
+o`#&$"9`?%f`1sS!%IjG"*XkN_#FB6"9BLJk5PR["9_`irVm!?"9].Ko)Aft"9b%\rsq*m"Mk';
+q#CA["9bP#s7*2j"7cEk_#=K:%/pA8$j6t_"9]K?(An:@$j6\K1B[h)<W3a9$l0g&rWE3flMpke
+!=\Mrrr[HR"PrqS!:g!e"$$K(h=U^LnJhZfqu6^t"9e8p"7cEknc&P;Acr5s3?eSM+r2sj"9^M)
+((:re((:s&(+CF1">_5;$l06e$n5Nd"GWfRrr`<Nr;R"%":VU9nc/.Ps8E-$:%J;aQMq!fJFWU<
+"5O(_?`<u,.0KbnoDa=~>
+p\tHfs8QF/"G#,(rr`<Nr;QkL"9cO>s8N3&3U5c,"L8.5<U0P_"<msW1ZS'+"L8.ML@Om8&F*6u
+"F'nGq#Bl="9bCts7iSn"P3bZ.=h>?s(2Rf"9]p7AnH72B)[#RB)_uB1R;WbG@+s:G8p_g3U6Vg
++p8[LZEg-kL/eulJ=2^hR?j/3ZC/"dQBjN>*1!"\^p:cQTF[I7R03XA^tmVXbd'53"S(jY!V'e$
+"98l-"9TDB":Y)/!"Ac.!"AZ+"q1V;LB%;DXoACkrr<!$!&OQQ"]Y[LRHj>:rs/)os1ff]"ASIe
+"doc%(4brRrr]P0"D4V4"!RjN(A%QV~>
+p\tHfs8QF/"G#,(rr`<Nr;QkL"9cO>s8N3&3U5c,"L8.5<U0P_"<msW1ZS'+"L8.ML@Om8&F*6u
+"F'nGq#Bl="9bCts7iSn"P3bZ.=h>?s(2Rf"9]p7AnH72B)[#RB)_uB1R;WbG@+s:G8p_g3U6Vg
++p8[LZEg-kL/eulJ=2^hR?j/3ZC/"dQBjN>*1!"\^p:cQTF[I7R03XA^tmVXbd'53"S(jY!V'e$
+"98l-"9TDB":Y)/!"Ac.!"AZ+"q1V;LB%;DXoACkrr<!$!&OQQ"]Y[LRHj>:rs/)os1ff]"ASIe
+"doc%(4brRrr]P0"D4V4"!RjN(A%QV~>
+p\tHfs8QF/"G#,(rr`<Nr;QkL"9cO>s8N3&3U5c,"L8.5<U0P_"<msW1ZS'+"L8.ML@Om8&F*6u
+"F'nGq#Bl="9bP#s7iSn"P3bZ.=h>?s(2Rf"9]p7AnH72B)[#RB)_uB1R;WbG@+s:G8p_g3U6Vg
++p8[LZEg9oL/eulJ=2^hR?j/7ZC/"dQBjN>*1!"\^p:cQU^rm;R03XA^tmVXbd'53"S(jY!V'e$
+"98l-"9TDB":Y)/!"Ac.!"AZ+"q1V;LB%;DXoACkrr<!$!&OQQ"]Y[LRHj>:rs/)os1ff]"ASIe
+"doc%(4brRrr]P0"D4V4"!RjN(A%QV~>
+o`###"9`r#s8N3%.K'2JJ-6"jrr<!$!Aj$'rrfV1"BFacrrjSL":U$joD]$1"=])]naZ;P"PmZ0
+"JG\m#)36`T`>&eWW*(P"9`?3rrNr=1\UhNl4sLsq>UPO('HY_rrXGJ"<?b2#n-qP"<7OI((;2U
+":67l*"2rc"9].um/I4YAdg,=rkJf`^s'*=*#<.lqS3<@^s%!<*/==*#I6,g"GZsVnZDfknc&Rg
+"9:7UrrZ7(,0]WX"S#1p*+/::"eZ8,%#4<Nrr]P0"D4V4"!RjN(A%QV~>
+o`###"9`r#s8N3%.K'2JJ-6"jrr<!$!Aj$'rrfV1"BFacrrjSL":U$joD]$1"=])]naZ;P"PmZ0
+"JG\m#)36`T`>&eWW*(P"9`?3rrNr=1\UhNl4sLsq>UPO('HY_rrXGJ"<?b2#n-qP"<7OI((;2U
+":67l*"2rc"9].um/I4YAdg,=rkJf`^s'*=*#<.lqS3<@^s%!<*/==*#I6,g"GZsVnZDfknc&Rg
+"9:7UrrZ7(,0]WX"S#1p*+/::"eZ8,%#4<Nrr]P0"D4V4"!RjN(A%QV~>
+o`###"9`r#s8N3%.K'2JJ-6"jrr<!$!Aj$'rrfV1"BFacrrjSL":U$joD]$1"=])]naZ;P"PmZ0
+"Jktq#)36`V#UJiWW*(P"9`?3rrNr=1\UhNl4sLsq>UPO('HY_rrXGJ"<?b2#n-qP"<7OI((;2U
+":67l*"2rc"9].um/I4YAdg,=rkJf`^s'*=*#<.lqS3<@^s%!<*/==*#I6,g"GZsVnZDfknc&Rg
+"9:7UrrZ7(,0]WX"S#1p*+/::"f)P0%#4<Nrr]P0"D4V4"!RjN(A%QV~>
+o`###"9`>gs8N3%.K'2JJ-6"jrr<!$!BK3&rrfV1"BFL\rr=MI"99Fr":W*GnaZYZL'.XPs8VVg
+rrgpV"D7]2nHAmD"9^aas8)6ls1ea?:&k7YlLFlR",73e6L+RY1B[h@6=rr(Ag.?dr]'sFr](KU
+9fYNa,#&gU":P\Y.1@3m+q?CK"9],^(*!_k*!?ZYna-8Yj%TY4_#"'5Z31;rpAY5L"9c%,rrhkB
+$j;<^s8N3%.K'2N<<OLr^p:bkpp(-mZA'+t$ou,pZ34bB"<<a*rr^%>"D4V4""=?U(A%QV~>
+o`###"9`>gs8N3%.K'2JJ-6"jrr<!$!BK3&rrfV1"BFL\rr=MI"99Fr":W*GnaZYZL'.XPs8VVg
+rrgpV"D7]2nHAmD"9^aas8)6ls1ea?:&k7YlLFlR",73e6L+RY1B[h@6=rr(Ag.?dr]'sFr](KU
+9fYNa,#&gU":P\Y.1@3m+q?CK"9],^(*!_k*!?ZYna-8Yj%TY4_#"'5Z31;rpAY5L"9c%,rrhkB
+$j;<^s8N3%.K'2N<<OLr^p:bkpp(-mZA'+t$ou,pZ34bB"<<a*rr^%>"D4V4""=?U(A%QV~>
+o`###"9`>gs8N3%.K'2JJ-6"jrr<!$!BK3&rrfV1"BFL\rr=MI"99Fr":W*GnaZYZL'.XTs8VVg
+rrgpV"D7]2nHAmD"9^aas8)6ls1ea?:&k7YlLFlR",73e6L+RY1B[h@6=rr(Ag.?dr]'sFr](KU
+9fYNa,#&gU":P\Y.1@3m+q?CK"9],^(*!_k*!?ZYna-8Yj%TY4_#"'5Z31;rpAY5L"9c%,rrhkB
+$j;<^s8N3%.K'2N<<OLr^p:bkpp(-mZA'+t$ou,pZ34bB"<<a*rr^%>"D4V4""=?U(A%QV~>
+p\tKgs8QF/"D72Vs8N3%.K'2JJ-6"jrr<!$!BK3&rrfV1"BFacrr=MI"9C:ei<0,hr<*SFs7l-a
+s-<cjT`>&epo=>rf)u4gq>UQW"9_'brr_'["BGC"#4_`nTH")$lMh8A":W*9s7--ZL)'p-qW\O[
+lK[!Wj&HL-REX^I_"ujjfC?-L"=a>cs0;a".0Ke>rrh.P"=_.brs&#ns0;b1T_ABfL'.XbqYp]g
+TG@ZbWrE(hrr<!$!%IjG!*.VR!G:m#rr^%>"D4V4"!RjN(A%QV~>
+p\tKgs8QF/"D72Vs8N3%.K'2JJ-6"jrr<!$!BK3&rrfV1"BFacrr=MI"9C:ei<0,hr<*SFs7l-a
+s-<cjT`>&epo=>rf)u4gq>UQW"9_'brr_'["BGC"#4_`nTH")$lMh8A":W*9s7--ZL)'p-qW\O[
+lK[!Wj&HL-REX^I_"ujjfC?-L"=a>cs0;a".0Ke>rrh.P"=_.brs&#ns0;b1T_ABfL'.XbqYp]g
+TG@ZbWrE(hrr<!$!%IjG!*.VR!G:m#rr^%>"D4V4"!RjN(A%QV~>
+p\tKgs8QF/"D72Vs8N3%.K'2JJ-6"jrr<!$!BK3&rrfV1"BFacrr=MI"9C:ei<0,hr<*SFs7l-a
+s-<cjV#UJipo=>rf)u4gq>UQW"9_'brr_'["BGC"#4_`nU`9M(lMh8A":W*9s7--ZL)'p-qW\O[
+lK[!Wj&HL-REX^I_"ujjfC?-L"=a>cs0;a&.0Ke>rrh.P"=_.brs&#ns0;b1V"XfjL'.XbqYp]g
+U_X)fWrE(hrr<!$!%IjG!*.VR!G:m#rr^%>"D4V4"!RjN(A%QV~>
+o`#&$"9`?,f`1sS!%IjG"+ULW_#FB6"9C=Dk5PRi"9`*%rVm$M"9]q#lJqmLlJqp#9`tTCr;QtF
+"9bCts7*)g"4mYYB)2H/h#mj:pAY6="9_'hrs&#ns0<UI3U6VH*!A(frVm#jJ.)S4qZ$Tc#QO)h
+nNm@-nauh`l5Tpnqu6_)"9e)k&Fn@H"=_.ds6BXLs8TA-"IAl`#3taYL'.XPq>UQ&$j;<brrDTg
+s8N3%1]77m<<NF\<C0#H1FXb/1FXb/<B3cR1HA/c.4I&/.K2+'.K2+/.5Ot2*"2sWnbrIiZ31;B
+W;crK"9]_9s*t~>
+o`#&$"9`?,f`1sS!%IjG"+ULW_#FB6"9C=Dk5PRi"9`*%rVm$M"9]q#lJqmLlJqp#9`tTCr;QtF
+"9bCts7*)g"4mYYB)2H/h#mj:pAY6="9_'hrs&#ns0<UI3U6VH*!A(frVm#jJ.)S4qZ$Tc#QO)h
+nNm@-nauh`l5Tpnqu6_)"9e)k&Fn@H"=_.ds6BXLs8TA-"IAl`#3taYL'.XPq>UQ&$j;<brrDTg
+s8N3%1]77m<<NF\<C0#H1FXb/1FXb/<B3cR1HA/c.4I&/.K2+'.K2+/.5Ot2*"2sWnbrIiZ31;B
+W;crK"9]_9s*t~>
+o`#&$"9`?,f`1sS!%IjG"+ULW_#FB6"9C=Dk5PRi"9`*%rVm$M"9]q#lJqmLlJqp#9`tTCr;QtF
+"9bP#s7*)g"4mYYB)2H/h#mj:pAY6="9_'hrs&#ns0<UI3U6VH*!A(frVm#jJ.)S4qZ$Tc#QO)h
+nNm@-nauh`l5Tpnqu6_)"9e)k&Fn@H"=_.ds6BXLs8TA-"IAl`#3taYL'.XTq>UQ&$j;<brrDTg
+s8N3%1]77m<<NF\<C0#H1FXb/1FXb/<B3cR1HA/c.4I&/.K2+'.K2+/.5Ot2*"2sWnbrIiZ31;B
+W;crK"9]_9s*t~>
+o`#&$"9^aMf`1sS!%IjG"*XkN_#FB6"9B^^k5Pjq('H(1J:NB/$j6]5hZ"/W?N^KOAp8cUAgmik
+RK*<^WW*(E"9`?4rrq3e"ASpdq#:lV$j9r;s7--hlMpn"$j8o^rsTYG.I-s5nc/,k"9dQRrrhjd
+"<?t2rrDTarr_d,"=a6J!`]@+m/IXeh,OS%_#OGps7--hZ31<'q>UZhs8S_p"Mjj5"0r=<QE1&c
+nc/Utj!"UTbfmlYj(8EMZJPTbh.@E<B&iji"2GZTAuP_3.0Kb^oDa=~>
+o`#&$"9^aMf`1sS!%IjG"*XkN_#FB6"9B^^k5Pjq('H(1J:NB/$j6]5hZ"/W?N^KOAp8cUAgmik
+RK*<^WW*(E"9`?4rrq3e"ASpdq#:lV$j9r;s7--hlMpn"$j8o^rsTYG.I-s5nc/,k"9dQRrrhjd
+"<?t2rrDTarr_d,"=a6J!`]@+m/IXeh,OS%_#OGps7--hZ31<'q>UZhs8S_p"Mjj5"0r=<QE1&c
+nc/Utj!"UTbfmlYj(8EMZJPTbh.@E<B&iji"2GZTAuP_3.0Kb^oDa=~>
+o`#&$"9^aMf`1sS!%IjG"*XkN_#FB6"9B^^k5Pjq('H(1J:NB/$j6]5hZ"/W?N^KOAp8cUAgmik
+RK*<^WW*(E"9`?4rrq3e"ASpdq#:lV$j9r;s7--hlMpn"$j8o^rsTYG.I-s5nc/,k"9dQRrrhjd
+"<?t2rrDTarr_d,"=a6J!`]@+m/IXeh,OS%_#OGps7--hZ31<+q>UZhs8Skt"Mjj5"0r=<QE1&c
+nc/Utj!"UTbfmlYj(8EMZJPTbh.@E<B&iji"2GZTAuP_3.0Kb^oDa=~>
+p\tKgs8QF/";^%Ms8N3%.K'2JG6A&arr<!$!=Y:WrrV_F*;9R::!DMp!one>p]LX<L?b]:"0r%4
+B)2H/nJ27%pAY6H$j9r5rr\Pi"@DMU&Fof#('GiHs8VBanTP*=fDkg>$ifbes7,CSl8&P_nalbh
+$j8$Zs7,XZs$?hknac\enc/.Ls8VUr"<tYXrr\ns"GZXM".99#ZMFM&R2,p[VuI1@1B[h#+q,nV
+('HG/rr2ugir9JQG6A$t9j^4C9gSskL8b+P,5q`:s*t~>
+p\tKgs8QF/";^%Ms8N3%.K'2JG6A&arr<!$!=Y:WrrV_F*;9R::!DMp!one>p]LX<L?b]:"0r%4
+B)2H/nJ27%pAY6H$j9r5rr\Pi"@DMU&Fof#('GiHs8VBanTP*=fDkg>$ifbes7,CSl8&P_nalbh
+$j8$Zs7,XZs$?hknac\enc/.Ls8VUr"<tYXrr\ns"GZXM".99#ZMFM&R2,p[VuI1@1B[h#+q,nV
+('HG/rr2ugir9JQG6A$t9j^4C9gSskL8b+P,5q`:s*t~>
+p\tKgs8QF/";^%Ms8N3%.K'2JG6A&arr<!$!=Y:WrrV_F*;9R::!DMp!one>p]LX<L?b]:"0r%4
+B)2H/nJ27%pAY6H$j9r5rr\Pi"@DMU&Fof#('GiHs8VBanTP*=fDkg>$ifbes7,CSl8&P_nalbh
+$j8$Zs7,XZs$?hknac\enc/.Ls8VUr"<tYXrr]&""GZXM".99#ZMFM&R2,p[VuI1@1B[h#+q,nV
+('HG/rr2ugir9JQG6A$t9j^4C9gSskL8b+P,5q`:s*t~>
+o`#&$"9]_0f`1sS!%IjG"*XkN_#FB6"9Aq!kPkYSR:]IoAc\4LhZ!f(QA/aY?Y9:E!bR2&WW*b(
+s8TA-":QJ'1H@d%9qZ\M(,L]"QBqH'#Cr4S((<3XLAdDAL3GEV"@DDR!t5;gnbrIjnTPBEfCf.L
+l9YUVh>d$FnbE+dnI,OEqu6au"9e8`rrDTgrsr]E,%$b2R@o;?R<KVj3JRF(#aq!OL1VDLAsrOh
+#FSQp"F'nGnZ)TiZ8q[_!Z[Wuhu<c6AdnD:!I*h.rrX\Q":Xo%J,~>
+o`#&$"9]_0f`1sS!%IjG"*XkN_#FB6"9Aq!kPkYSR:]IoAc\4LhZ!f(QA/aY?Y9:E!bR2&WW*b(
+s8TA-":QJ'1H@d%9qZ\M(,L]"QBqH'#Cr4S((<3XLAdDAL3GEV"@DDR!t5;gnbrIjnTPBEfCf.L
+l9YUVh>d$FnbE+dnI,OEqu6au"9e8`rrDTgrsr]E,%$b2R@o;?R<KVj3JRF(#aq!OL1VDLAsrOh
+#FSQp"F'nGnZ)TiZ8q[_!Z[Wuhu<c6AdnD:!I*h.rrX\Q":Xo%J,~>
+o`#&$"9]_0f`1sS!%IjG"*XkN_#FB6"9Aq!kPkYSR:]IoAc\4LhZ!f(QA/aY?Y9:E!bR2&WW*b(
+s8TA-":QJ'1H@d%9r)tQ(,L]"QBqH'#Cr4S((<3XLAdDAL3GEV"@DDR!t5;gnbrIjnTPBEfCf.L
+l9YUVh>d$FnbE+dnI,OEqu6au"9e8`rrDTgrsr]E,%$b6RA>SCR<KVj3JRF,#aq!SL1VDLAsrOl
+#FSQp"F'nGnZ)TiZ8q[_!Z[Wuhu<c6AdnD:!I*h.rrX\Q":Xo%J,~>
+o`#&$"9]_0f`1sS!%IjG"*XkN_#FB6"9Aps[/^0rq>UHbW;ctis7)cQ"995/"98l)"9:IIrsTYG
+,0\mCnc.Wn('N[jrrhk(*%B_CrrDTarse!."?GNBn`oE09`tUhn,ECXrr3"C%/0l*$l8(1":PD9
+GO_X3%.V-$bd+Oi^p:bK_!9eV%HEadJ=rQiGCZ?ZGB^j$rr=MI"S;YD~>
+o`#&$"9]_0f`1sS!%IjG"*XkN_#FB6"9Aps[/^0rq>UHbW;ctis7)cQ"995/"98l)"9:IIrsTYG
+,0\mCnc.Wn('N[jrrhk(*%B_CrrDTarse!."?GNBn`oE09`tUhn,ECXrr3"C%/0l*$l8(1":PD9
+GO_X3%.V-$bd+Oi^p:bK_!9eV%HEadJ=rQiGCZ?ZGB^j$rr=MI"S;YD~>
+o`#&$"9]_0f`1sS!%IjG"*XkN_#FB6"9Aps[/^0rq>UHbW;ctis7)oU"995/"98l)"9:IIrsTYG
+,0\mCnc.Wn('N[jrrhk(*%B_CrrDTarse!."?GNBn`oE09`tUhn,ECXrr3"C%/0l*$l8(1":PD9
+GO_X3%.V-$bd+Oi^p:bO_!9eV%HEadJ>AuqGCZKbGB^j$rr=MI"S;YD~>
+p\tKgs8QF/"<?ISs8N3%.K'2JG6A&arr<!$!=Y:Ors.iZnc/.LlKWs#p\t?$"9`?4rrq!u(/<iZ
+q#:K4+r4e\r;Qrjj(8Ds6L+RW*!?C)*#9;6+q3lB"!S]f%/9r++rpRb!%Ijd"$$bm%.!p0l;[ri
+.:6(A?WCH"3<TI/3C5_m3C5_mr`'Iq"9^MI69.@m69.%A"9aI[s8VWXrrDTDrrDS`rrXGJ":Xo%
+J,~>
+p\tKgs8QF/"<?ISs8N3%.K'2JG6A&arr<!$!=Y:Ors.iZnc/.LlKWs#p\t?$"9`?4rrq!u(/<iZ
+q#:K4+r4e\r;Qrjj(8Ds6L+RW*!?C)*#9;6+q3lB"!S]f%/9r++rpRb!%Ijd"$$bm%.!p0l;[ri
+.:6(A?WCH"3<TI/3C5_m3C5_mr`'Iq"9^MI69.@m69.%A"9aI[s8VWXrrDTDrrDS`rrXGJ":Xo%
+J,~>
+p\tKgs8QF/"<?ISs8N3%.K'2JG6A&arr<!$!=Y:Ors.iZnc/.LlKWs#p\t?$"9`?4rrq!u(/<iZ
+q#:K4+r4e\r;Qrjj(8Ds6L+RW*!?C)*#9;6+q3lB"!S]f%/9r++rpRb!%Ijd"$$bm%.!p0l;[ri
+.:6(A?WCH"3<TI/3C5_m3C5_mr`'Iq"9^MI69.@m69.%A"9aI[s8VWXrrDTDrrDS`rrXGJ":Xo%
+J,~>
+o`#&$"9]M*f`1sS!%IjG"*XkN_#FB6"9ApsWW3"gVuHk7"9`?4rr_9i"AS^ls7$[#bR=V]s8VWh
+s7--h^^L?4mJd:Ys8On<"99G3"98l)"9B;.mJd@[h,OS%_#"'5Z31;upAY5f"9c%+rs!uV"IB)f
+nYH3bnH/a\n^[X>nY6$c.0Kb^oDa=~>
+o`#&$"9]M*f`1sS!%IjG"*XkN_#FB6"9ApsWW3"gVuHk7"9`?4rr_9i"AS^ls7$[#bR=V]s8VWh
+s7--h^^L?4mJd:Ys8On<"99G3"98l)"9B;.mJd@[h,OS%_#"'5Z31;upAY5f"9c%+rs!uV"IB)f
+nYH3bnH/a\n^[X>nY6$c.0Kb^oDa=~>
+o`#&$"9]M*f`1sS!%IjG"*XkN_#FB6"9ApsWW3"gVuHk7"9`?4rr_9i"AS^ls7$[#bR=V]s8VWh
+s7--h^^L?4mJd:Ys8On<"99G3"98l)"9B;.mJd@[h,OS%_#"'5Z31;upAY5j"9c%+rs!uV"IB)f
+nYH3bnH/a\n^[X>nY6$c.0Kb^oDa=~>
+o`#&$"9^a:g&D0>('H)arr[HJ"Mk$:rr`?BQGWY%nc&Ognb`=dna-;UnbrIfnbrIfnc&Rgn_aBH
+nc&RgnbN1bnc&Ojnc/XZqYpiWs8TkC"ARqHrVm&ks5OLj:%nShf+nKhr;Quks8RfV"?GcIrr`<;
+r:'sjAcr7\s7Ysbs!\'Rrp^!Rp[JCO"9^1RrUC!i63IGWrt)sp"9csKs7--Zs8TA5"D72urr[uY
+"L@n("mSeb"GZIErrDT\rrDTUs8VThlMUY`n`oZ?rs/)on`oZEs7-'fs7-*gs7,scrpg$g!:g'g
+s7-*gs7-!drpfpd!:g'grpfse!:fX[s7-*g!qGRGqu6`fs8W&frVllfrr2ugqZ$Tcqu6]^nbN1b
+nac\\n`p,Rs7,sc!:fsds7$0jnMC.IoDa=~>
+o`#&$"9^a:g&D0>('H)arr[HJ"Mk$:rr`?BQGWY%nc&Ognb`=dna-;UnbrIfnbrIfnc&Rgn_aBH
+nc&RgnbN1bnc&Ojnc/XZqYpiWs8TkC"ARqHrVm&ks5OLj:%nShf+nKhr;Quks8RfV"?GcIrr`<;
+r:'sjAcr7\s7Ysbs!\'Rrp^!Rp[JCO"9^1RrUC!i63IGWrt)sp"9csKs7--Zs8TA5"D72urr[uY
+"L@n("mSeb"GZIErrDT\rrDTUs8VThlMUY`n`oZ?rs/)on`oZEs7-'fs7-*gs7,scrpg$g!:g'g
+s7-*gs7-!drpfpd!:g'grpfse!:fX[s7-*g!qGRGqu6`fs8W&frVllfrr2ugqZ$Tcqu6]^nbN1b
+nac\\n`p,Rs7,sc!:fsds7$0jnMC.IoDa=~>
+o`#&$"9^a:g&D0>('H)arr[HJ"Mk$:rr`?BQGWY%nc&Ognb`=dna-;UnbrIfnbrIfnc&Rgn_aBH
+nc&RgnbN1bnc&Ojnc/XZqYpiWs8TkC"ARqHrVm&ks5OLj:%nShf+nKhr;Quks8RfV"?GcIrr`<;
+r:'sjAcr7\s7Ysbs!\'Rrp^!Rp[JCO"9^1RrUC!i63IGWrt)sp"9csKs7--Zs8TA5"D72urr[uY
+"L@n("mSeb"GZIErrDT\rrDTUs8VThlMUY`n`oZ?rs/)on`oZEs7-'fs7-*gs7,scrpg$g!:g'g
+s7-*gs7-!drpfpd!:g'grpfse!:fX[s7-*g!qGRGqu6`fs8W&frVllfrr2ugqZ$Tcqu6]^nbN1b
+nac\\n`p,Rs7,sc!:fsds7$0jnMC.IoDa=~>
+p\tQis8QF/">aYUQMuU=JGt9)QC40?L(9WETU)7VTU(=eQCsP3T`27qR0Kt4^mQAL.K'2JG6A&a
+rr;s#!FO(KrrqrKh=9d^JcFF'"2H)`B)2H/f*hd^pAY6=$j9r5rr\Pq"@DDRrr`<;qu6bB"9d?K
+rrOVP"S2Tm"99nJrrPLi"RH(!^aTBh_#OH"s7--hZ4$kdnb<%cQ37>YqYp]gL'/9bjo5>Nhu<]H
+mJd1VnG`LYrVllf`r?&/a8Z/0o`#'Z63IE"oDa=~>
+p\tQis8QF/">aYUQMuU=JGt9)QC40?L(9WETU)7VTU(=eQCsP3T`27qR0Kt4^mQAL.K'2JG6A&a
+rr;s#!FO(KrrqrKh=9d^JcFF'"2H)`B)2H/f*hd^pAY6=$j9r5rr\Pq"@DDRrr`<;qu6bB"9d?K
+rrOVP"S2Tm"99nJrrPLi"RH(!^aTBh_#OH"s7--hZ4$kdnb<%cQ37>YqYp]gL'/9bjo5>Nhu<]H
+mJd1VnG`LYrVllf`r?&/a8Z/0o`#'Z63IE"oDa=~>
+p\tQis8QF/">aYUQMuU=JGt9)QC40?L(9WIUm@g^Um?aiQDBh7V#I[uR0Kt4^mQAL.K'2JG6A&a
+rr;s#!FO(KrrqrKh=9d^JcFF'"2H)`B)2H/f*hd^pAY6=$j9r5rr\Pq"@DDRrr`<;qu6bB"9d?K
+rrOVP"S2Tm"99nJrrPLi"RH(!^aTBh_#OH"s7--hZ4$kdnb<%cQ37>YqYp]gL'/9fjo5>Nhu<]H
+mJd1VnG`LYrVllf`r?&/a8Z/0o`#'Z63IE"oDa=~>
+o`"u"":X]$!t5;@*:X13*!@Go"9^1Orr[HJ"Mk$:rWEH7*%<='?WB,a*!mf<6;9d59f"4Sr[Ik'
+$99mu9j^UN1H@cgrAj^1!\#olr_3e]1H@c^1G_$X69.&#rB_ti3B8N;3DDgh3E8d03E9'G69-hX
+68LV^1FY+H9gUir1I=Dg.7.$7694cr"%#^V3W1`;3DDh76:1N)#Uqc#3AWZU1HGFj!'1!E"Z\"f
+6:*^31B9H6644tt9fW=Z?h+0rlK\BK"3^lN:&b1hnHAm9"9`*1rrDTgrr[cS"@DDRrr`<;qu6bB
+"9d?KrrOtZ"TJE$nb<%cnH8tDqu6^a"9e&j"McGh"Mk!9#4_`nTEGC`q>UZas8SAf"L@k'"ITAq
+<HnFS#%(Ab^qb\Tqm$d+QC4D]^tmhufCA.3L6fXFrr2ugkl1YJq>UHbV#LGbkl1YQdf0I?G6A$W
+oDa=~>
+o`"u"":X]$!t5;@*:X13*!@Go"9^1Orr[HJ"Mk$:rWEH7*%<='?WB,a*!mf<6;9d59f"4Sr[Ik'
+$99mu9j^UN1H@cgrAj^1!\#olr_3e]1H@c^1G_$X69.&#rB_ti3B8N;3DDgh3E8d03E9'G69-hX
+68LV^1FY+H9gUir1I=Dg.7.$7694cr"%#^V3W1`;3DDh76:1N)#Uqc#3AWZU1HGFj!'1!E"Z\"f
+6:*^31B9H6644tt9fW=Z?h+0rlK\BK"3^lN:&b1hnHAm9"9`*1rrDTgrr[cS"@DDRrr`<;qu6bB
+"9d?KrrOtZ"TJE$nb<%cnH8tDqu6^a"9e&j"McGh"Mk!9#4_`nTEGC`q>UZas8SAf"L@k'"ITAq
+<HnFS#%(Ab^qb\Tqm$d+QC4D]^tmhufCA.3L6fXFrr2ugkl1YJq>UHbV#LGbkl1YQdf0I?G6A$W
+oDa=~>
+o`"u"":X]$!t5;@*:X13*!@Go"9^1Orr[HJ"Mk$:rWEH7*%<='?WB,a*!mf<6;9d59f"4Sr[Ik'
+$99mu9j^UN1H@cgrAj^1!\#olr_3e]1H@c^1G_$X69.&#rB_ti3B8N;3DDgh3E8d03E9'G69-hX
+68LV^1FY+H9gUir1I=Dg.7.$7694cr"%#^V3W1`;3DDh76:1N)#Uqc#3AWZU1HGFj!'1!E"Z\"f
+6:*^31B9H6644tt9fW=Z?h+0rlK\BK"3^lN:&b1hnHAm9"9`*1rrDTgrr[cS"@DDRrr`<;qu6bB
+"9d?KrrOtZ"TJE$nb<%cnH8tDqu6^a"9e&j"McGh"Mk!9#4_`nU]^gdq>UZas8SAf"L@k'"ITAq
+<HnFS#%(Ab^qb\Tqm$d/QC4Pa^tmhufCA.3L6fXFrr2ugkl1YJq>UHbV#LGbkl1YQdf0I?G6A$W
+oDa=~>
+o`"u"":Y&.$Oe4>9iV<3.61a%%/g;5(*";0.3]3""9C;-r<*63('Fahr;QkC"9cO>rr`HK"9].M
+"98l%"98k%"99G@"9<'0rrh-t"AS1UrrgOc"BFaarrhk9"9^aMs8N3%(An+6G6A'#o`"tA"9e`(
+!:fg`"7ZKs.Js,H63IGWrs$7f"9cO?s8M<`rr]P0"GZmF!<<#fs8N4V"9c%1rp^9onaYmg"9]JK
+qZHm-qZHm-p]L^."9],AJHYNH!"?C@oDa=~>
+o`"u"":Y&.$Oe4>9iV<3.61a%%/g;5(*";0.3]3""9C;-r<*63('Fahr;QkC"9cO>rr`HK"9].M
+"98l%"98k%"99G@"9<'0rrh-t"AS1UrrgOc"BFaarrhk9"9^aMs8N3%(An+6G6A'#o`"tA"9e`(
+!:fg`"7ZKs.Js,H63IGWrs$7f"9cO?s8M<`rr]P0"GZmF!<<#fs8N4V"9c%1rp^9onaYmg"9]JK
+qZHm-qZHm-p]L^."9],AJHYNH!"?C@oDa=~>
+o`"u"":Y&.$Oe4>9iV<3.61a%%/g;5(*";0.3]3""9C;-r<*63('Fahr;QkC"9cO>rr`HK"9].M
+"98l%"98k%"99G@"9<'0rrh-t"AS1UrrgOc"BFaarrhk9"9^aMs8N3%(An+6G6A'#o`"tA"9e`(
+!:fg`"7ZKs.Js,H63IGWrs$7f"9cO?s8M<`rr]P0"GZmF!<<#fs8N4V"9c%1rp^9onaYmg"9]JK
+qZHm-qZHm-p]L^."9],AJHYNH!"?C@oDa=~>
+o`#k;":R):TX'uYG6A=7RHjhPTYTUQn_Ids.<iT,bQu#9^kOW\9u,BZZ37tK3<Uf/rr[HJ"Mk$:
+rrak]6AD/!R=I:+,(QtlQBn23?OR]^TUD4@TUD4@R?hG/$n5e]ZC,o'*"4:%qOg0CJ27<JAso<b
+R@q?]9ahFjL7jj#ZBgfLTR]?K"<9EA+u9W1(+FI#QA2]2QC4D3?Qp\+ZEfmkZBhe..3(-UTX+Ee
+#_4]6":Q%S.3/<i!],%gqOf1@L-c;)L9d55R@osu65DA$^p993TU)7VQ<tgO(7DI_L)^U)*'*q/
+"^cIc"9]_DB)c6<B)c3DAp7Sb"<qH%GQ)1XG?#Uc"@DDRrr`<;qu6bB"9dQQrrOVP"S2Tm"99nJ
+rrPLi"RH'j^aTZp_#+-8lC\Og.Gak#s69aeR1'4kqYp]g1B[ghqud!.h?3foquls,o`P7'hZNof
+jTGSm(;9nO(AS(5%/^5.%,h<h%.jLL~>
+o`#k;":R):TX'uYG6A=7RHjhPTYTUQn_Ids.<iT,bQu#9^kOW\9u,BZZ37tK3<Uf/rr[HJ"Mk$:
+rrak]6AD/!R=I:+,(QtlQBn23?OR]^TUD4@TUD4@R?hG/$n5e]ZC,o'*"4:%qOg0CJ27<JAso<b
+R@q?]9ahFjL7jj#ZBgfLTR]?K"<9EA+u9W1(+FI#QA2]2QC4D3?Qp\+ZEfmkZBhe..3(-UTX+Ee
+#_4]6":Q%S.3/<i!],%gqOf1@L-c;)L9d55R@osu65DA$^p993TU)7VQ<tgO(7DI_L)^U)*'*q/
+"^cIc"9]_DB)c6<B)c3DAp7Sb"<qH%GQ)1XG?#Uc"@DDRrr`<;qu6bB"9dQQrrOVP"S2Tm"99nJ
+rrPLi"RH'j^aTZp_#+-8lC\Og.Gak#s69aeR1'4kqYp]g1B[ghqud!.h?3foquls,o`P7'hZNof
+jTGSm(;9nO(AS(5%/^5.%,h<h%.jLL~>
+o`#k;":R):Up?DaG6A=7RHjhPUql$Un_Ids.<iT,bQu#9^kOW\9u,BZZ37tK3<Uf/rr[HJ"Mk$:
+rrak]6AD;%R=I:+,(QtpQBn>7?OR]^Um[XHUm[XHR?hG/$n5eaZC,o'*"4:%qP6HGJ27<JAsoHj
+RA@Wa9ahFjL8:-'ZBgfPUjtcO"<9EA+u9W1(+FI'QA2]2QC4P7?Qp\+ZEfmoZBhe..3(-UUpBim
+#_4]6":Q%S.3/<i!],%gqP5IDL-c;)L9d55RA?7$65DA$^p993Um@g^Q<tgO(7DI_L)^U)*'*q/
+"^cIc"9]_DB)c6<B)c3DAp7Sb"<qH%GQ)1XG?#Uc"@DDRrr`<;qu6bB"9dQQrrOVP"S2Tm"99nJ
+rrPLi"RH'j^aTZp_#+-8lD+gk.Gak#s69aeR1'4oqYp]g1B[ghqud!.h?3foquls,o`P7'hZNof
+jTGSm(;9nO(AS(5%/^5.%,h<h%.jLL~>
+o`#&$"9^O:rVm&:"9]^4nbN1fR2cusnb`=hZ6BEOlMLS`nJhZ\r;QkC"9cO>s8N3&(5Def"S$(,
+,2N.r".9Q+ZM4A%R2c>i_#F?:lBWk%3V`UWh(o0BT_n`lh,OR\GPM1@j&H42j8Ju\Q50TPZM=G%
+Q517%qYp](*!B![q#:f=3<U+PfBVnM63IEkh>%!Ql8\tefDGRNj(8E<_"n!5l@99G"TJE%h)Y*1
+!Xo2Io`P=3$k2k5!(-)Q"nDWm$j7":h$)hN"9c$jptZ8.h;]pe"QS=ofD+/*j4=D:.I-og"P<0(
+"9e&j&AT^t">_J8":Q7i$lfBQ$k3"9#Rh[]+sI-m1D]ijrsTJB$t$gMs4:T\.G+V"h>dNFnc&Rg
+((=3Yj8]/>h>cbP"=^YQrt"YOAdee^QJM)eR8jM49u-W*&b4J-+rkgls6B.Ss7*mK,%f'unK7&d
+s8V,p9ah.\Am\PMAg/3hZKhJ[lLFoSn]Z2$"P<PN#P!Nt*/<bYh>?^Qs-Wum*$QgU.4GB&,%&.U
+q>UR#(1tABrr32f^f:L?3R%=!"QQ.L('OU\s!\'d"<;XGqYpc[L)'n-JE-Y!#QNhi9dqlKfDb:M
+lLFoSj.JC@$o9(`.3]3!"S;YD~>
+o`#&$"9^O:rVm&:"9]^4nbN1fR2cusnb`=hZ6BEOlMLS`nJhZ\r;QkC"9cO>s8N3&(5Def"S$(,
+,2N.r".9Q+ZM4A%R2c>i_#F?:lBWk%3V`UWh(o0BT_n`lh,OR\GPM1@j&H42j8Ju\Q50TPZM=G%
+Q517%qYp](*!B![q#:f=3<U+PfBVnM63IEkh>%!Ql8\tefDGRNj(8E<_"n!5l@99G"TJE%h)Y*1
+!Xo2Io`P=3$k2k5!(-)Q"nDWm$j7":h$)hN"9c$jptZ8.h;]pe"QS=ofD+/*j4=D:.I-og"P<0(
+"9e&j&AT^t">_J8":Q7i$lfBQ$k3"9#Rh[]+sI-m1D]ijrsTJB$t$gMs4:T\.G+V"h>dNFnc&Rg
+((=3Yj8]/>h>cbP"=^YQrt"YOAdee^QJM)eR8jM49u-W*&b4J-+rkgls6B.Ss7*mK,%f'unK7&d
+s8V,p9ah.\Am\PMAg/3hZKhJ[lLFoSn]Z2$"P<PN#P!Nt*/<bYh>?^Qs-Wum*$QgU.4GB&,%&.U
+q>UR#(1tABrr32f^f:L?3R%=!"QQ.L('OU\s!\'d"<;XGqYpc[L)'n-JE-Y!#QNhi9dqlKfDb:M
+lLFoSj.JC@$o9(`.3]3!"S;YD~>
+o`#&$"9^O:rVm&:"9]^4nbN1fR2cusnb`=hZ6BEOlMLS`nJhZ\r;QkC"9cO>s8N3&(5Def"S$(,
+,2N.r".9Q+ZM4A%R2c>i_#F?:lBWk%3V`UWh(o0BV#1/ph,OR\GPM1@j&H42j8Ju\Q50TPZM=G%
+Q517%qYp](*!B![q#:f=3<U+PfBVnM63IEkh>%!Ql8\tefDGRNj(8E<_"n!5l@99G"TJE%h)Y*1
+!Xo2Io`P=3$k2k5!(-)Q"nDWm$j7":h$)hN"9c$jptZ8.h;]pe"QS=ofD+/*j4=D:.I-og"P<0(
+"9e&j&AT^t">_J8":Q7i$lfBQ$k3"9#Rh[]+sI-m1D]ijrsTJB$t$gMs4:T\.G+V"h>dNFnc&Rg
+((=3Yj8]/>h>cbP"=^YQrt"YOAdee^QJM)eR8jM49u-W*&b4J-+rkgls6B.Ss7*mK,%f'unK7&d
+s8V,p9ah.\Am\PMAg/3hZKhJ[lLFoSn]Z2$"P<PN#P!Nt*/<bYh>?^Qs-Wum*$QgU.4GB&,%&.U
+q>UR#(1tABrr32f^f:L?3R%=!"QQ:P('OU\s!\'d"<;XGqYpc[L)'n-JE-Y!#QNhi9dqlKfDb:M
+lLFoSj.n[D$o9(`.3]3!"S;YD~>
+p\t?cs8QI*"TJE&nc,oo"9>b&rs#,!"IB)fnbrIinH8thq>^Ht!%IjG"*XkN_#FB5"9:ddrrPmt
+"TJE$nc&OjR03Ycq#:fuG6A%Cj8\ZLs7$3p3VWRQ"9<uKrrX5D"D7Q2!:g'g!]'r^r;Qnc"9^Nr
+qu6rls8SJi"I];[r;Ql7"9`?2rrCmS"9=2TrrXGJ":Y#(!Xo27r;R&ms8Q(%"R?$WqYpYc*!?EC
+rrD*T":5JP.4GZ.(.(=rq?6g6rr`B3.1GtS!(-)Q"7cEk1ZnlB*!?]A"98l)"995'rrh.P"9]qF
+"9TDB":Xu,!u;"B%/C#/('Fb?fDbdP.0Ke=p\t:1"9eQ#"'#I,nbE+aB)Vo5lM^_cf*DL!ZM=G%
+h#mjmq>^Ht!(-G[rWE4Ur;Qjn"9dc[rrZj9"PrqS"0r%4RJ6^`TEGD'r;Za!!(-G[rr`<GqYpOq
+rWMuq"3_M`"T89%Z31<'q#:?0rWE4orr3)js8VB`"9<Z@rr_co"ASgo!*/t#oDa=~>
+p\t?cs8QI*"TJE&nc,oo"9>b&rs#,!"IB)fnbrIinH8thq>^Ht!%IjG"*XkN_#FB5"9:ddrrPmt
+"TJE$nc&OjR03Ycq#:fuG6A%Cj8\ZLs7$3p3VWRQ"9<uKrrX5D"D7Q2!:g'g!]'r^r;Qnc"9^Nr
+qu6rls8SJi"I];[r;Ql7"9`?2rrCmS"9=2TrrXGJ":Y#(!Xo27r;R&ms8Q(%"R?$WqYpYc*!?EC
+rrD*T":5JP.4GZ.(.(=rq?6g6rr`B3.1GtS!(-)Q"7cEk1ZnlB*!?]A"98l)"995'rrh.P"9]qF
+"9TDB":Xu,!u;"B%/C#/('Fb?fDbdP.0Ke=p\t:1"9eQ#"'#I,nbE+aB)Vo5lM^_cf*DL!ZM=G%
+h#mjmq>^Ht!(-G[rWE4Ur;Qjn"9dc[rrZj9"PrqS"0r%4RJ6^`TEGD'r;Za!!(-G[rr`<GqYpOq
+rWMuq"3_M`"T89%Z31<'q#:?0rWE4orr3)js8VB`"9<Z@rr_co"ASgo!*/t#oDa=~>
+p\t?cs8QI*"TJE&nc,oo"9>b&rs#8%"IB)fnbrIinH8thq>^Ht!%IjG"*XkN_#FB5"9:ddrrPmt
+"TJE$nc&OjR03Ygq#:fuG6A%Cj8\ZLs7$3p3VWRQ"9<uKrrX5D"D7Q2!:g'g!]'r^r;Qnc"9^Nr
+qu6rls8SJi"I];[r;Ql7"9`?2rrCmS"9=2TrrXGJ":Y#(!Xo27r;R&ms8Q(%"R?$WqYpYc*!?EC
+rrD*T":5JP.4GZ.(.(=rq?6g6rr`B3.1GtS!(-)Q"7cEk1ZnlB*!?]A"98l)"995'rrh.P"9]qF
+"9TDB":Xu,!u;"B%/C#/('Fb?fDbdP.0Ke=p\t:1"9eQ#"'#I,nbE+aB)Vo5lM^_cf*DL!ZM=G%
+h#mjmq>^Ht!(-G[rWE4Ur;Qjn"9dc[rrZj9"PrqS"0r%4RJ6^`U]^h+r;Za!!(-G[rr`<GqYpOq
+rWMuq"3_M`"T89%Z31<+q#:?0rWE4srr3)js8VB`"9<Z@rr_co"ASgo!*/t#oDa=~>
+o`"nurWN6#!qH;rrWE5,q#:Pk"9b%js7-'f"7ZKs<Vc[p"99nKrr[HJ"Mk$:rWE3qr;Qgb"9e`(
+!:g'g".98pT_SNrpj`JM:#l9Ds8V?e"?H5VrWE4UqYpXA"9`rCrrOtZ"T89&Q37=WfDGRPnc/WW
+"9b.lrrDTgrr^%>"CLp'!8[VW!/CIP"!RjN%/0]&('Fd9rrlC*"R?$WqYpYc*!?ECrrq!W"AR+a
+rn%2+#P#)K"@BoafD<8enZj,C<P[5abQP4`('HY_rrX#>"@E):s#C&po`P@4$l09N"9gS1*$Q.6
+q?.9a+p8#W3AW*.,#&gU"R>@R(#r"(*2(*_bh'/Vf9QOJJABCEbeVI%^_tb>J/fP@^s'U<^s($.
+*!?D!s8V-Z.0Ke=p\t:1":Y,+"'#I,lM1AZB)Vo5lM^_cbQn>3bP;)>f)u4gq>^Ht!(-G[rWE4F
+rVm,m3<TKFs8VWdrrZj9"PrqS"/#c"RJ6^`TEGCcr;Za!!(-G[rr`<XqYpOqrWMuq"3_M`"T89%
+TEGCcq#:?"rWE4orr3)js8V-Y"9<Z@rr_Nh"@E%d!)<Fq!"AK!J,~>
+o`"nurWN6#!qH;rrWE5,q#:Pk"9b%js7-'f"7ZKs<Vc[p"99nKrr[HJ"Mk$:rWE3qr;Qgb"9e`(
+!:g'g".98pT_SNrpj`JM:#l9Ds8V?e"?H5VrWE4UqYpXA"9`rCrrOtZ"T89&Q37=WfDGRPnc/WW
+"9b.lrrDTgrr^%>"CLp'!8[VW!/CIP"!RjN%/0]&('Fd9rrlC*"R?$WqYpYc*!?ECrrq!W"AR+a
+rn%2+#P#)K"@BoafD<8enZj,C<P[5abQP4`('HY_rrX#>"@E):s#C&po`P@4$l09N"9gS1*$Q.6
+q?.9a+p8#W3AW*.,#&gU"R>@R(#r"(*2(*_bh'/Vf9QOJJABCEbeVI%^_tb>J/fP@^s'U<^s($.
+*!?D!s8V-Z.0Ke=p\t:1":Y,+"'#I,lM1AZB)Vo5lM^_cbQn>3bP;)>f)u4gq>^Ht!(-G[rWE4F
+rVm,m3<TKFs8VWdrrZj9"PrqS"/#c"RJ6^`TEGCcr;Za!!(-G[rr`<XqYpOqrWMuq"3_M`"T89%
+TEGCcq#:?"rWE4orr3)js8V-Y"9<Z@rr_Nh"@E%d!)<Fq!"AK!J,~>
+o`"nurWN6#!qH;rrWE5,q#:Po"9b%js7-'f"7ZKs<Vc[p"99nKrr[HJ"Mk$:rWE3qr;Qgb"9e`(
+!:g'g".98pV"js!pj`JM:#l9Ds8V?e"?H5VrWE4UqYpXA"9`rCrrOtZ"T89&Q37=WfDGRPnc/WW
+"9b.lrrDTgrr^%>"CLp'!8[VW!/CIP"!RjN%/0]&('Fd9rrlC*"R?$WqYpYc*!?ECrrq!W"AR+a
+rn%2+#P#)K"@BoafD<8enZj,C<P[5abQP4`('HY_rrX#>"@E):s#C&po`P@4$l09N"9gS1*$Q.6
+q?.9a+p8#W3AW*.,#&gU"R>@R(#r"(*2LBcbh'/Vf9QOJJABCEbeVI%^_tb>J/fP@^s'U<^s($.
+*!?D!s8V-Z.0Ke=p\t:1":Y,+"'#I,lM1AZB)Vo5lM^_cbQn>3bP;)>f)u4gq>^Ht!(-G[rWE4F
+rVm,m3<TKFs8VWdrrZj9"PrqS"/H&&RJ6^`U]^ggr;Za!!(-G[rr`<XqYpOqrWMuq"3_M`"T89%
+U]^ggq#:?"rWE4srr3)js8V-Y"9<Z@rr_Nh"@E%d!)<Fq!"AK!J,~>
+o`"nurWEDps8VWhZMjt,T_SNkZ31;rs8VWfrr_co"BG9trr`<Nr;QtF"9cO?nc/Rk!)<Ck!_ie#
+qYpYc"9bCmrseLK"9_HZs7--hl3%5Mp](3q!1*K]"!RjNJG9'F1B[jYrs"bl"@CrEq"k!mR03Y\
+qYpZ5"9`*+rrCmS"9=2TrrX\Q":Y#(!YtnAq>UUu"9e#inbW7fZ5`uMrVluO"9`?4rr_9s"ASUi
+"4n:k?hs^(R2,ollMgu&"<uIXrr3,]G74W7o`#/.(+J)>nc/.Srse!.">f*<s6AY09`tUam/I4E
+63I_4rVm)ls8TA-%&!=o".98pRJHjjR1'41nc/.Z.0Ke=p\t:1"9eQ#"'#I,lM1AZB)Vo5j8Ju\
+^]Xp;bkV2?f)u4gq>^Ht!(-G[rWEXRs8VWhl8\tMh>dNFqu6b1"9dQWrr\ns"I]#a"/#c"RJd*a
+"9:d_s8N3%.Jj&E<W3-qrr^Ib"9eZ&"/#c"RJ?d^ZMjt,RK!3gnc/XLrWE45q#:H]"9_'hrr>dl
+"S;YD~>
+o`"nurWEDps8VWhZMjt,T_SNkZ31;rs8VWfrr_co"BG9trr`<Nr;QtF"9cO?nc/Rk!)<Ck!_ie#
+qYpYc"9bCmrseLK"9_HZs7--hl3%5Mp](3q!1*K]"!RjNJG9'F1B[jYrs"bl"@CrEq"k!mR03Y\
+qYpZ5"9`*+rrCmS"9=2TrrX\Q":Y#(!YtnAq>UUu"9e#inbW7fZ5`uMrVluO"9`?4rr_9s"ASUi
+"4n:k?hs^(R2,ollMgu&"<uIXrr3,]G74W7o`#/.(+J)>nc/.Srse!.">f*<s6AY09`tUam/I4E
+63I_4rVm)ls8TA-%&!=o".98pRJHjjR1'41nc/.Z.0Ke=p\t:1"9eQ#"'#I,lM1AZB)Vo5j8Ju\
+^]Xp;bkV2?f)u4gq>^Ht!(-G[rWEXRs8VWhl8\tMh>dNFqu6b1"9dQWrr\ns"I]#a"/#c"RJd*a
+"9:d_s8N3%.Jj&E<W3-qrr^Ib"9eZ&"/#c"RJ?d^ZMjt,RK!3gnc/XLrWE45q#:H]"9_'hrr>dl
+"S;YD~>
+o`"nurWEDps8VWhZMjt,V"jroZ31;rs8VWfrr_co"BG9trr`<Nr;QtF"9cO?nc/Rk!)<Ck!_ie#
+qYpYc"9bOqrseLK"9_HZs7--hl3%5Mp](3q!1*K]"!RjNJG9'F1B[jYrs"bl"@CrEq"k!mR03Y\
+qYpZ5"9`*+rrCmS"9=2TrrX\Q":Y#(!YtnAq>UUu"9e#inbW7fZ5`uMrVluO"9`?4rr_9s"ASUi
+"4n:k?hs^(R2,ollMgu&"<uIXrr3,]G74W7o`#/.(+J)>nc/.Srse!.">f*<s6AY09`tUam/I4E
+63I_4rVm)ls8TA-%&EUs".98pRJHjjR1'41nc/.Z.0Ke=p\t:1"9eQ#"'#I,lM1AZB)Vo5j8Ju\
+^]Xp;bkV2?f)u4gq>^Ht!(-G[rWEXRs8VWhl8\tMh>dNFqu6b1"9dQWrr]&""I]#a"/H&&RJd*a
+"9:d_s8N3%.Jj&E<W3-qrr^Ib"9eZ&"/H&&RJ?d^ZMjt,RK!3gnc/XLrWE45q#:H]"9_'hrr>dl
+"S;YD~>
+p\t?cs8QI*"9n>qs7-,prWE5,q#:Pk"9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"Mk$:rWE3fr;Qgm
+"9e`(!:g'g".98pT_SNrnTP*=:#5j>s8V?e"?H5VrWE4UqYpX;"9a8PrrDTgrrOtZ"T89&Q37=W
+fDGRPnc/WW"9b.hrr^%>"D7E.!8[VW!/CIP"!RjN%/0]&$j6_2rs8/ps&B1)lMpDNrr]PN"9e]'
+"4mYY?hs^(h#mjIpAY6=('J7Frr]PB"@DDR!u;#"nbrIjnTPBEfD#:Pnc.l@"9csKnc/.Rs8N3%
+.Js,I?N^N%m/I4E9`tmKqYpZ'":VU0rr\Yl%)D]="0r=<LAh,S.0Ke=p\t:1"9eQ#"'#I,lM1AZ
+B)Vo5j8Ju\b6.r7bP;)>f)u4gqYpZf"9_'cs8E-0GQ7^5s6;TI"Ps+Xnb`=gAcr7mqYpbm"9b.m
+s7,sc"/#c"RJd*a"9:d_s8N3%.Jj&E<W3-qrr^Ib"9eZ&"/#c"RJ?d^ZMjt,RK!3glMpnErWE45
+q#:Zc"9_'knaZYZ:&P4ds*t~>
+p\t?cs8QI*"9n>qs7-,prWE5,q#:Pk"9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"Mk$:rWE3fr;Qgm
+"9e`(!:g'g".98pT_SNrnTP*=:#5j>s8V?e"?H5VrWE4UqYpX;"9a8PrrDTgrrOtZ"T89&Q37=W
+fDGRPnc/WW"9b.hrr^%>"D7E.!8[VW!/CIP"!RjN%/0]&$j6_2rs8/ps&B1)lMpDNrr]PN"9e]'
+"4mYY?hs^(h#mjIpAY6=('J7Frr]PB"@DDR!u;#"nbrIjnTPBEfD#:Pnc.l@"9csKnc/.Rs8N3%
+.Js,I?N^N%m/I4E9`tmKqYpZ'":VU0rr\Yl%)D]="0r=<LAh,S.0Ke=p\t:1"9eQ#"'#I,lM1AZ
+B)Vo5j8Ju\b6.r7bP;)>f)u4gqYpZf"9_'cs8E-0GQ7^5s6;TI"Ps+Xnb`=gAcr7mqYpbm"9b.m
+s7,sc"/#c"RJd*a"9:d_s8N3%.Jj&E<W3-qrr^Ib"9eZ&"/#c"RJ?d^ZMjt,RK!3glMpnErWE45
+q#:Zc"9_'knaZYZ:&P4ds*t~>
+p\t?cs8QI*"9n>qs7-,prWE5,q#:Po"9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"Mk$:rWE3fr;Qgm
+"9e`(!:g'g".98pV"js!nTP*=:#5j>s8V?e"?H5VrWE4UqYpX;"9a8PrrDTgrrOtZ"T89&Q37=W
+fDGRPnc/WW"9b.hrr^%>"D7E.!8[VW!/CIP"!RjN%/0]&$j6_2rs8/ps&B1)lMpDNrr]PN"9e]'
+"4mYY?hs^(h#mjIpAY6=('J7Frr]PB"@DDR!u;#"nbrIjnTPBEfD#:Pnc.l@"9csKnc/.Rs8N3%
+.Js,I?N^N%m/I4E9`tmKqYpZ'":VU0rr\Yl%)D]="0r=<LAh,S.0Ke=p\t:1"9eQ#"'#I,lM1AZ
+B)Vo5j8Ju\b6.r7bP;)>f)u4gqYpZf"9_'cs8E-0GQ7^5s6;TI"Ps+Xnb`=gAcr7mqYpbq"9b.m
+s7,sc"/H&&RJd*a"9:d_s8N3%.Jj&E<W3-qrr^Ib"9eZ&"/H&&RJ?d^ZMjt,RK!3glMpnErWE45
+q#:Zc"9_'knaZYZ:&P4ds*t~>
+o`"nurWN6#!qH;rrWE5,q#:Q("9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"Mk$:rWE3fr;Qgb"9eT$
+".98pT_SNrpj`JM<TF,Ls8V?e"?H5VrWE4UqYpXA"9aJRrrOtZ"T89&Q37=NbPV;Dnc/WW"9b.l
+rrDTgrr^%>"CLp'!8[VW!/CIP"!RjN%/0]&('Fd9rrlC*"R?$WqYpZ'.0KePrrq!W"BFaWrr<#g
+"TR`q"@Dh^&&8q`<WE*hs8VWhs-<cj3U6VQ('Gi]s7,.Ls*"SKfDGUJnH]*alMpB1"=!aC"S)Nl
+naZSXrr`<Nrr3/ls8Pdr"RH'mh+\"TZN'sirVm"n"9a8FqYpcis8SAf"JGSj"0r%4LAh,S.0Ke=
+p\t:1":Y,+"'#I,lM1AZB)Vo5lM^_cbQn=qZM=G%f)u4gq>^Ht!(-G[rWE4OrVm,m63IGVs8VWd
+rrZj9"PrqS"/#c"RJ6^`TEGCcr;Za!!(-G[rr`<NqYpOirWMuq"3_M`"T89%TEGCcq#:?"rWE4o
+rr3)js8V-Y"9<'/rr_Nh"@E%d!)<Fq!"AK!J,~>
+o`"nurWN6#!qH;rrWE5,q#:Q("9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"Mk$:rWE3fr;Qgb"9eT$
+".98pT_SNrpj`JM<TF,Ls8V?e"?H5VrWE4UqYpXA"9aJRrrOtZ"T89&Q37=NbPV;Dnc/WW"9b.l
+rrDTgrr^%>"CLp'!8[VW!/CIP"!RjN%/0]&('Fd9rrlC*"R?$WqYpZ'.0KePrrq!W"BFaWrr<#g
+"TR`q"@Dh^&&8q`<WE*hs8VWhs-<cj3U6VQ('Gi]s7,.Ls*"SKfDGUJnH]*alMpB1"=!aC"S)Nl
+naZSXrr`<Nrr3/ls8Pdr"RH'mh+\"TZN'sirVm"n"9a8FqYpcis8SAf"JGSj"0r%4LAh,S.0Ke=
+p\t:1":Y,+"'#I,lM1AZB)Vo5lM^_cbQn=qZM=G%f)u4gq>^Ht!(-G[rWE4OrVm,m63IGVs8VWd
+rrZj9"PrqS"/#c"RJ6^`TEGCcr;Za!!(-G[rr`<NqYpOirWMuq"3_M`"T89%TEGCcq#:?"rWE4o
+rr3)js8V-Y"9<'/rr_Nh"@E%d!)<Fq!"AK!J,~>
+o`"nurWN6#!qH;rrWE5,q#:Q("9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"Mk$:rWE3fr;Qgb"9eT$
+".98pV"js!pj`JM<TF,Ls8V?e"?H5VrWE4UqYpXA"9aJRrrOtZ"T89&Q37=NbPV;Dnc/WW"9b.l
+rrDTgrr^%>"CLp'!8[VW!/CIP"!RjN%/0]&('Fd9rrlC*"R?$WqYpZ'.0KePrrq!W"BFaWrr<#g
+"TR`q"@Dh^&&8q`<WE*hs8VWhs-<cj3U6VQ('Gi]s7,.Ls*"SKfDGUJnH]*alMpB1"=!aC"S)Nl
+naZSXrr`<Nrr3/ls8Pdr"RH'mh+\"TZN'sirVm"r"9a8FqYpcis8SAf"Jkkn"0r%4LAh,S.0Ke=
+p\t:1":Y,+"'#I,lM1AZB)Vo5lM^_cbQn=qZM=G%f)u4gq>^Ht!(-G[rWE4OrVm,m63IGVs8VWd
+rrZj9"PrqS"/H&&RJ6^`U]^ggr;Za!!(-G[rr`<NqYpOirWMuq"3_M`"T89%U]^ggq#:?"rWE4s
+rr3)js8V-Y"9<'/rr_Nh"@E%d!)<Fq!"AK!J,~>
+o`"nurWEPts8VWhZ31:GZM=G%TEGC`qYpZf"9`?4rrNT3.K'2JG6A&arr;s#!+u0/!`]@+qYpZ'
+"9c%)rsY1r"?F^+nc/XF"9^aZrrX#>"G$@K"$$K"QM:C\3<TK_rre_m">djgrrnen"I];[r;QlC
+"9`*+rrCmS"9=2TrrX\Q"<@.8!ZV=Gr;R&ms8QF/"P<\Dqu7,qQ50T+s7--hbQJ&ClM:J["9:IU
+rr_9a"BG9t"/#c"3UQhNnc/,8"<>5UrrhkH*!G<orrZjA(;TSB"7[?H3W/m[nQuD%h<b.EnPo]#
+_#"'5^^L@6pAY6#"9c%+rr^I\"GZmT!uqFHh=ppN('Fd<rs&#ns(2B:nbE+aGQ%^Oj8\ZLs3(TK
+3Qq3t"2G$BJGK6F"9:d_rrWB4"G$IN"S"e]"P<GK"(hZ=h>7-RZ31<9p\t>g"9b.jrrWB>"ASXj
+rr`<^qYpY0$j6_.rrqqY$j6_'rVltm"9b%crrBA("9Y(ls7-*g"QKmn,*r-+#4_`nl3%5Vr;Qak
+r<2`lJ,~>
+o`"nurWEPts8VWhZ31:GZM=G%TEGC`qYpZf"9`?4rrNT3.K'2JG6A&arr;s#!+u0/!`]@+qYpZ'
+"9c%)rsY1r"?F^+nc/XF"9^aZrrX#>"G$@K"$$K"QM:C\3<TK_rre_m">djgrrnen"I];[r;QlC
+"9`*+rrCmS"9=2TrrX\Q"<@.8!ZV=Gr;R&ms8QF/"P<\Dqu7,qQ50T+s7--hbQJ&ClM:J["9:IU
+rr_9a"BG9t"/#c"3UQhNnc/,8"<>5UrrhkH*!G<orrZjA(;TSB"7[?H3W/m[nQuD%h<b.EnPo]#
+_#"'5^^L@6pAY6#"9c%+rr^I\"GZmT!uqFHh=ppN('Fd<rs&#ns(2B:nbE+aGQ%^Oj8\ZLs3(TK
+3Qq3t"2G$BJGK6F"9:d_rrWB4"G$IN"S"e]"P<GK"(hZ=h>7-RZ31<9p\t>g"9b.jrrWB>"ASXj
+rr`<^qYpY0$j6_.rrqqY$j6_'rVltm"9b%crrBA("9Y(ls7-*g"QKmn,*r-+#4_`nl3%5Vr;Qak
+r<2`lJ,~>
+o`"nurWEPts8VWhZ31:GZM=G%U]^gdqYpZf"9`?4rrNT3.K'2JG6A&arr;s#!+u0/!`]@+qYpZ'
+"9c%)rsY1r"?F^+nc/XF"9^aZrrX#>"G$@K"$$K"QM:C\3<TK_rre_m">djgrrnen"I];[r;QlC
+"9`*+rrCmS"9=2TrrX\Q"<@.8!ZV=Gr;R&ms8QF/"P<\Dqu7,qQ50T+s7--hbQJ&ClM:J["9:IU
+rr_9a"BG9t"/H&&3UQhNnc/,8"<>5UrrhkH*!G<orrZjA(;TSB"7[?H3W/m[nQuD%h<b.EnPo]#
+_#"'5^^L@6pAY6#"9c%+rr^I\"GZmT!uqFHh=ppN('Fd<rs&#ns(2B:nbE+aGQ%^Oj8\ZLs3(TK
+3Qq3t"2G$BJGK6F"9:d_rrWB4"G$IN"S"e]"P<GK"(hZ=h>7-RZ31<9p\t>k"9b.jrrWB>"ASXj
+rr`<^qYpY0$j6_.rrqqY$j6_'rVltq"9b%crrBA("9Y(ls7-*g"QKmn,*r-+#4_`nl3%5Vr;Qak
+r<2`lJ,~>
+p\t?cs8QI*"TJE7nc,lt";[<ns8VBas5WYLQ37V^r;R>ns7$3p?iTZds6AnLit_bHr;ROV"9cO?
+nc&^p(5DAZnaZWk":XSqs7-*g'!_WCZN'spnbDYSnaZX6"9]LUrVm#P"9^O\r:(U'nc.Do"9`rK
+nc/.Ls5Pm<%#4<Ps6B.PrrPmt"T89,R03XQ_#OH"s8VWgrskG*"IB)Xj8]/Es47Y^B(u<.f*hcb
+LAh,S.0Kc&pAY16$j?D+#%%KK_#Nrpr;R>uZ82Uds7--h^]Xd,bj+`YrosXB^^L?%rnSCUj6G[i
+j6GI9$j8oQh:L]=bh([$$j8ohrrDTbrsun*"9]--+t5N.('Fa[*#AMn!#GPR-6a3F*"2rQ(,IC"
+1E7/M*#9M0*$QR0":RU@*$R0_$j7d>s8V->n,FhK";ZaPh8&="j1pBP"F&\ej6G[ij5[r?h1c%@
+L?%RZlJq0ij+%O@LAh,S.0LFBp\t^="9e8pn`p/>s8QF/"PrkQ!+u35$/PXOs8Tk;"=_._rt4f$
+Z31;Bnc/XSnc/XL"9_Harr3/ls7,XZnbrXkJGoKNl9YUh_#F??nc/.Ls8QF/"PrqS#+uA-QLY"F
+qYpYj"9b.jrrWB>"?H5Vrr`^(j8]/Ls8V@r"9]/-rreu1"9e#grr\Yl"IB#d"nDW_s8TD(":LXt
+s7--Zs47Y^$tfJ.s8W,h$NJ]\"ASpdnc/V`r<2`lJ,~>
+p\t?cs8QI*"TJE7nc,lt";[<ns8VBas5WYLQ37V^r;R>ns7$3p?iTZds6AnLit_bHr;ROV"9cO?
+nc&^p(5DAZnaZWk":XSqs7-*g'!_WCZN'spnbDYSnaZX6"9]LUrVm#P"9^O\r:(U'nc.Do"9`rK
+nc/.Ls5Pm<%#4<Ps6B.PrrPmt"T89,R03XQ_#OH"s8VWgrskG*"IB)Xj8]/Es47Y^B(u<.f*hcb
+LAh,S.0Kc&pAY16$j?D+#%%KK_#Nrpr;R>uZ82Uds7--h^]Xd,bj+`YrosXB^^L?%rnSCUj6G[i
+j6GI9$j8oQh:L]=bh([$$j8ohrrDTbrsun*"9]--+t5N.('Fa[*#AMn!#GPR-6a3F*"2rQ(,IC"
+1E7/M*#9M0*$QR0":RU@*$R0_$j7d>s8V->n,FhK";ZaPh8&="j1pBP"F&\ej6G[ij5[r?h1c%@
+L?%RZlJq0ij+%O@LAh,S.0LFBp\t^="9e8pn`p/>s8QF/"PrkQ!+u35$/PXOs8Tk;"=_._rt4f$
+Z31;Bnc/XSnc/XL"9_Harr3/ls7,XZnbrXkJGoKNl9YUh_#F??nc/.Ls8QF/"PrqS#+uA-QLY"F
+qYpYj"9b.jrrWB>"?H5Vrr`^(j8]/Ls8V@r"9]/-rreu1"9e#grr\Yl"IB#d"nDW_s8TD(":LXt
+s7--Zs47Y^$tfJ.s8W,h$NJ]\"ASpdnc/V`r<2`lJ,~>
+p\t?cs8QI*"TJE7nc,lt";[<ns8VBas5WYLQ37V^r;R>ns7$3p?iTZds6AnLit_bHr;ROV"9cO?
+nc&^p(5DAZnaZWk":XSqs7-*g'!_WCZN'spnbDYSnaZX6"9]LUrVm#P"9^O\r:(U'nc.Do"9`rK
+nc/.Ls5Pm<%#4<Ps6B.PrrPmt"T89,R03XQ_#OH"s8VWgrskG*"IB)Xj8]/Es47Y^B(u<.f*hcb
+LAh,S.0Kc&pAY16$j?D+#%%KK_#Nrpr;R>uZ82Uds7--h^]Xd,bj+`YrosXB^^L?%rnSCUj6G[i
+j6GI9$j8oQh:L]=bh([$$j8ohrrDTbrsun*"9]--+t5N.('Fa[*#AMn!#GPR-6a3F*"2rQ(,IC"
+1E7/M*#9M0*$QR0":RU@*$R0_$j7d>s8V->n,FhK";ZaPh8&="j1pBP"F&\ej6G[ij5[r?h1c%@
+L?%RZlJq0ij+%O@LAh,S.0LFBp\t^="9e8pn`p/>s8QF/"PrkQ!+u35$/PXOs8Tk;"=_._rt4f$
+Z31;Bnc/XSnc/XL"9_Harr3/ls7,XZnbrXkJGoKNl9YUh_#F??nc/.Ls8QF/"PrqS#,DY1QLY"F
+qYpYn"9b.jrrWB>"?H5Vrr`^(j8]/Ls8V@r"9]/-rrf,5"9e#grr\Yl"IB#d"nDW_s8TD(":LXt
+s7--Zs47Y^$tfJ.s8W,h$NJ]\"ASpdnc/V`r<2`lJ,~>
+o`"nurWN6##4_`!"9]^;qu6ljs8SAn"G$IN#4_`nh#mjfrVm)ls8V+'"=a9K#'U1Q_#Ns)rWE7P
+lM^_eAcrP-s8VWgrr\ns"JGMh"GR$^.G+Ou"4mYY3V`UWl66?6LAUuSj$EkOB'T?p!:g'g"620?
+"T89&R03XK_"dp3Q4*n^qYpZ5"9`?2rrgp^"9aJXrrY%["<@19"7[?6(B4=6nc&OknPo]9bkV2D
+^eFq7s6BXa_"Im2%/pA0%/0l-$j6\A%/0l)6M19XnbW7gnR_n,%/C#+(@hS.%.45u%/L)/,)3DZ
+rr2ugo)Aa\?iC08$j6\A*#8qu"9]M8"TJl4('FaUq#h0C"9a8Ts7-+/"9csKs6BLO"90,>%/Ko+
+<<NHbs82?drr?[1"9@`crrpUL"=^YVqsj^d"2G$BGQ.UBlMgedh#mjTnbE+d":PEWrVm/n63I_@
+s7--Zr;Qn3"9d?Vr:'piZ4$l%rr;lc"TOkm"I]2f!sB#81\^qL"9D6Qr;Qo[<<NFEp\tZe1B[j\
+s7--hL'.XPq#:K&":PF$qu6fT*!?Cgqu6ljs8UmX"ASgo!)<Fq!"AK!J,~>
+o`"nurWN6##4_`!"9]^;qu6ljs8SAn"G$IN#4_`nh#mjfrVm)ls8V+'"=a9K#'U1Q_#Ns)rWE7P
+lM^_eAcrP-s8VWgrr\ns"JGMh"GR$^.G+Ou"4mYY3V`UWl66?6LAUuSj$EkOB'T?p!:g'g"620?
+"T89&R03XK_"dp3Q4*n^qYpZ5"9`?2rrgp^"9aJXrrY%["<@19"7[?6(B4=6nc&OknPo]9bkV2D
+^eFq7s6BXa_"Im2%/pA0%/0l-$j6\A%/0l)6M19XnbW7gnR_n,%/C#+(@hS.%.45u%/L)/,)3DZ
+rr2ugo)Aa\?iC08$j6\A*#8qu"9]M8"TJl4('FaUq#h0C"9a8Ts7-+/"9csKs6BLO"90,>%/Ko+
+<<NHbs82?drr?[1"9@`crrpUL"=^YVqsj^d"2G$BGQ.UBlMgedh#mjTnbE+d":PEWrVm/n63I_@
+s7--Zr;Qn3"9d?Vr:'piZ4$l%rr;lc"TOkm"I]2f!sB#81\^qL"9D6Qr;Qo[<<NFEp\tZe1B[j\
+s7--hL'.XPq#:K&":PF$qu6fT*!?Cgqu6ljs8UmX"ASgo!)<Fq!"AK!J,~>
+o`"nurWN6##4_`!"9]^?qu6ljs8SAn"G$IN#4_`nh#mjfrVm)ls8V+'"=a9K#'U1Q_#Ns)rWE7P
+lM^_eAcrP-s8VWgrr]&""Jkel"GR$^.G+Ou"4mYY3V`UWl66?6LAUuSj$EkOB'T?p!:g'g"620?
+"T89&R03XK_"dp3Q4*n^qYpZ5"9`?2rrgp^"9aJXrrY%["<@19"7[?6(B4=6nc&OknPo]9bkV2D
+^eFq7s6BXa_"Im2%/pA0%/0l-$j6\A%/0l)6M19XnbW7gnR_n,%/C#+(@hS.%.45u%/L)/,)3DZ
+rr2ugo)Aa\?iC08$j6\A*#8qu"9]M8"TJl4('FaUq#h0C"9a8Ts7-+/"9csKs6BLO"90,>%/Ko+
+<<NHbs82?drr?[1"9@`crrpUL"=^YVqsj^d"2G$BGQ.UBlMgedh#mjTnbE+d":PEWrVm/n63I_@
+s7--Zr;Qn3"9d?Vr:'piZ4$l%rr;lc"TOkm"I]2f!sB#81\^qL"9D6Qr;Qo[<<NFEp\tZe1B[j\
+s7--hL'.XTq#:K&":PF$qu6fT*!?Cgqu6ljs8UmX"ASgo!)<Fq!"AK!J,~>
+o`"nurWEZ"s8VWhZ31:GL?%RZqu7241EqS=nc/.Ls7*l-"D6rrrr_:]"=a9K*HqVh_#Ns)"9]-F
+bjjugl<aZ&h=:Nsh>d#5$l50)rs%<'Adf(sfDY^Of)u4:qYpfjj3/JG"CL]rrt'AW"AQ]%lK[p0
+s7,X>9cO<6rsG.s"?Dn8naZYEnc&OjL)(PZrr38olLFni('J")q#:>erWE4UrVm!\"9].uq#:Ke
+1B\o^qu6fh<<O;Wq#:W*1B[j\lMpn.pB1I)o)o%%ncSqQmJd]i<<NFkTV/UB^t6A6('L<,^^dZc
+bd,%"9aihDf>,V^bkf*Yf>&gD3PbU;!l2*ArWE45rr2ugo)AaU<VZb!((:W4":0PXs7-+5"<?Ir
+s8Ni7*;TU:?N^enq#:><rWE5drVm#+":S;Sq#:H3"9`rFrr_d,"BG3rrtYV<GQ%OEnNm?oj7rWV
+G8:>;qYpZ'('L'"rr\ns"I]2frWE4$p](6r!EJ1WrrZj9"<@19%-&<1"TSMes8SAf"JGPi!4)S,
+".B2hlMge`_#=H:B)_f2n`p)Q"60Le6N$i`:&P4ds*t~>
+o`"nurWEZ"s8VWhZ31:GL?%RZqu7241EqS=nc/.Ls7*l-"D6rrrr_:]"=a9K*HqVh_#Ns)"9]-F
+bjjugl<aZ&h=:Nsh>d#5$l50)rs%<'Adf(sfDY^Of)u4:qYpfjj3/JG"CL]rrt'AW"AQ]%lK[p0
+s7,X>9cO<6rsG.s"?Dn8naZYEnc&OjL)(PZrr38olLFni('J")q#:>erWE4UrVm!\"9].uq#:Ke
+1B\o^qu6fh<<O;Wq#:W*1B[j\lMpn.pB1I)o)o%%ncSqQmJd]i<<NFkTV/UB^t6A6('L<,^^dZc
+bd,%"9aihDf>,V^bkf*Yf>&gD3PbU;!l2*ArWE45rr2ugo)AaU<VZb!((:W4":0PXs7-+5"<?Ir
+s8Ni7*;TU:?N^enq#:><rWE5drVm#+":S;Sq#:H3"9`rFrr_d,"BG3rrtYV<GQ%OEnNm?oj7rWV
+G8:>;qYpZ'('L'"rr\ns"I]2frWE4$p](6r!EJ1WrrZj9"<@19%-&<1"TSMes8SAf"JGPi!4)S,
+".B2hlMge`_#=H:B)_f2n`p)Q"60Le6N$i`:&P4ds*t~>
+o`"nurWEZ"s8VWhZ31:GL?%RZqu7241EqS=nc/.Ls7*l-"D6rrrr_:]"=a9K*HqVh_#Ns)"9]-F
+bjjugl<aZ&h=:Nsh>d#5$l50)rs%<'Adf(sfDY^Of)u4:qYpfjj3/JG"CL]rrt'AW"AQ]%lK[p0
+s7,X>9cO<6rsG.s"?Dn8naZYEnc&OjL)(PZrr38olLFni('J")q#:>irWE4UrVm!\"9].uq#:Ke
+1B\o^qu6fh<<O;Wq#:W*1B[j\lMpn.pB1I)o)o%%ncSqQmJd]m<<NFkUnk<J^t6A6('LH0^^dZc
+bd,%"9aihDf>,V^bkf*Yf>&gD3PbU;!l2*ArWE45rr2ugo)AaU<VZb!((:W4":0PXs7-+5"<?Ir
+s8Ni7*;TU:?N^enq#:><rWE5drVm#+":S;Sq#:H3"9`rFrr_d,"BG3rrtYV<GQ%OEnNm?oj7rWV
+G8:>;qYpZ'('L'"rr]&""I]2frWE4$p](6r!EJ1WrrZj9"<@19%-&<1"TSMes8SAf"Jkhm!4)S,
+".B2hlMge`_#=H:B)_f2n`p)Q"60Le6N$i`:&P4ds*t~>
+p\t?cs8QI*"TJE&nc,oo"9T&V(**)P#Rh[U$j6\A+rpRb!#G>4!%IjG#'U1Q_#Ns)r<3-E&/GZu
+$j6\W*%;X3+rh@$"=!XE!ZVsarWE5:rVllLp&kC31]7FV(A@t3,6&)O"9T&8(*`_\r;QbbrWF/U
++sId<*$RC!9d0]C,#(cu1E7j363IE,9m9tB9`dXU<W3+$JGoKO64<u"J7ee8*e9!"J?jA-"9_GR
+R@pjYQA.12"CIRbZEg./TX';=rWEK+nc/X)"9`?4rrh@+$ruilrr^js$tf>8"2In>6Lb![lC_Je
+"<q4<qu6fhJ.)S:p&>0T.0LjNo`#$R$j8$Urs.A1Acr5mT^hRP"S#h%3O8V`#P%iaZ5a!'j7rWX
+nX1R06LjpP"$$JeLAh,T.0L'6RJsMlTEqirTYLsb(:'V4Z4N\7Z9fNHQEm0VZEg-rZG936":sPm
+nc/W^"9]]pZCnM/TV2:i'7^K,<PZDURBj,kR2c>cZEg./T`25#TX#O]"D7W4#k:Ul%#2Q`ZC1]t
+';2X2+p=4;TX(krTX':f%!TM&RJrlZZ3?o,Acr7)r;R!)$j8B1^qee)f*omg"9^`jlIWhWbh#Sg
+"9Gh.r:(?ulJn0=":XSqnc/WT"9`)lr;Qlhs8Tn6"9>+lrrh.%$l4BkrsdfLnc.DR$pt!anc/V`
+rWE30oDa=~>
+p\t?cs8QI*"TJE&nc,oo"9T&V(**)P#Rh[U$j6\A+rpRb!#G>4!%IjG#'U1Q_#Ns)r<3-E&/GZu
+$j6\W*%;X3+rh@$"=!XE!ZVsarWE5:rVllLp&kC31]7FV(A@t3,6&)O"9T&8(*`_\r;QbbrWF/U
++sId<*$RC!9d0]C,#(cu1E7j363IE,9m9tB9`dXU<W3+$JGoKO64<u"J7ee8*e9!"J?jA-"9_GR
+R@pjYQA.12"CIRbZEg./TX';=rWEK+nc/X)"9`?4rrh@+$ruilrr^js$tf>8"2In>6Lb![lC_Je
+"<q4<qu6fhJ.)S:p&>0T.0LjNo`#$R$j8$Urs.A1Acr5mT^hRP"S#h%3O8V`#P%iaZ5a!'j7rWX
+nX1R06LjpP"$$JeLAh,T.0L'6RJsMlTEqirTYLsb(:'V4Z4N\7Z9fNHQEm0VZEg-rZG936":sPm
+nc/W^"9]]pZCnM/TV2:i'7^K,<PZDURBj,kR2c>cZEg./T`25#TX#O]"D7W4#k:Ul%#2Q`ZC1]t
+';2X2+p=4;TX(krTX':f%!TM&RJrlZZ3?o,Acr7)r;R!)$j8B1^qee)f*omg"9^`jlIWhWbh#Sg
+"9Gh.r:(?ulJn0=":XSqnc/WT"9`)lr;Qlhs8Tn6"9>+lrrh.%$l4BkrsdfLnc.DR$pt!anc/V`
+rWE30oDa=~>
+p\t?cs8QI*"TJE&nc,oo"9T&V(**)P#Rh[U$j6\A+rpRb!#G>4!%IjG#'U1Q_#Ns)r<3-E&/GZu
+$j6\W*%;X3+rh@$"=!XE!ZVsarWE5:rVllLp&kC31]7FV(A@t3,6&)O"9T&8(*`_\r;QbbrWF/U
++sId<*$RC!9d0]C,#(cu1E7j363IE,9m9tB9`dXU<W3+$JGoKO64<u"J7ee8*e9!"J?jA-"9_GR
+RA@-aQA.12"CIRbZEg:3Up>_ArWEK+nc/X)"9`?4rrh@+$ruilrr^js$tf>8"2In>6Lb![lD.bi
+"<q4<qu6fhJ.)S:p&>0T.0LjNo`#$R$j8$Urs.A1Acr5mV"+!T"S#h%3O8V`#P%iaZ5a!'j7rWX
+nX1R06LjpP"$$JeLAh,T.0L'6RJsMlU^49%UqdBf(:'b8Z4Nh;Z9fNHQEm<^ZEg:%ZG936":sPm
+nc/Wb"9]]pZD=e3Unn!q'7^K,<PZDURBj,oR2c>cZEg:3V#IY'Up:sa"D7W4#k:Ul%#2Q`ZC1]t
+';Vp6+p=4;Up@;%Up>^j%!TM&RJs#^Z3@&0Acr7)r;R!)$j8B1^qee)f*omg"9^`jlIWhWbh#Sg
+"9Gh.r:(?ulJn0=":XSqnc/WT"9`)lr;Qlhs8Tn6"9>7prrh.%$l4BkrsdfLnc.DR$pt!anc/V`
+rWE30oDa=~>
+o`"nurWN6#"S)Mt":Xr+rs\2r!%IjG#^6CS_#Ns)":Y)/!#G>4rs\Q'rX8eBrVllLo)o(&(AJ"4
+(A%_1('OR8!gs0"p&t@'pB1I)p&kL6";V,arVm!e('Faaq#gg/"9],Am0!Ctr<*Q/lMpn""9_'8
+nc/.Lrr3)j('HGerr_9s"ASjp!:g'g"0rmL6Lk'h^h+Ph"CJt0s8VWhs7--SG74W+q#CBa#lj0V
+">e[0naZAR'B:&86N@)Un`o07s7-,>+p8<SZLRr!AcrmTs8V-XrrfV9"CL3crs%cgs-WumT_\Ti
+TG@ZbrVm$]"9]JC%/9r,$j8$V"9],9$j7RG":cUq":PFhs6BXaZ31:=%/9r*,523?,4u'=1]@LW
+B)V`4nP',h%/C#,*";QE!uqFH(B+a:"9=kfrrrT7":S!E(A]6T":,Db9f!On.9./_"9Br<qDeRC
+*<$'HlMpDSs-<cj,5FS*?O?oE"BB&@<G"RAB)Vo6.<kbu#\GM0<G#hG"@E%d!)<Fq!"AK!J,~>
+o`"nurWN6#"S)Mt":Xr+rs\2r!%IjG#^6CS_#Ns)":Y)/!#G>4rs\Q'rX8eBrVllLo)o(&(AJ"4
+(A%_1('OR8!gs0"p&t@'pB1I)p&kL6";V,arVm!e('Faaq#gg/"9],Am0!Ctr<*Q/lMpn""9_'8
+nc/.Lrr3)j('HGerr_9s"ASjp!:g'g"0rmL6Lk'h^h+Ph"CJt0s8VWhs7--SG74W+q#CBa#lj0V
+">e[0naZAR'B:&86N@)Un`o07s7-,>+p8<SZLRr!AcrmTs8V-XrrfV9"CL3crs%cgs-WumT_\Ti
+TG@ZbrVm$]"9]JC%/9r,$j8$V"9],9$j7RG":cUq":PFhs6BXaZ31:=%/9r*,523?,4u'=1]@LW
+B)V`4nP',h%/C#,*";QE!uqFH(B+a:"9=kfrrrT7":S!E(A]6T":,Db9f!On.9./_"9Br<qDeRC
+*<$'HlMpDSs-<cj,5FS*?O?oE"BB&@<G"RAB)Vo6.<kbu#\GM0<G#hG"@E%d!)<Fq!"AK!J,~>
+o`"nurWN6#"S)Mt":Xr+rs\2r!%IjG#^6CS_#Ns)":Y)/!#G>4rs\Q'rX8eBrVllLo)o(&(AJ"4
+(A%_1('OR8!gs0"p&t@'pB1I)p&kL6";V,arVm!e('Faaq#gg/"9],Am0!Ctr<*Q/lMpn""9_'8
+nc/.Lrr3)j('HGerr_9s"ASjp!:g'g"0rmL6Lk'h^h+Ph"CJt0s8VWhs7--SG74W+q#CBa#lj0V
+">e[0naZAR'B:&86N@)Un`o07s7-,>+p8<SZLRr!AcrmTs8V-XrrfV9"CL3crs%cgs-WumV"t#m
+U_X)frVm$]"9]JC%/9r,$j8$V"9],9$j7RG":cUq":PFhs6BXaZ31:=%/9r*,523?,4u'=1]@LW
+B)V`4nP',h%/C#,*";QE!uqFH(B+a:"9=kfrrrT7":S!E(A]6T":,Db9f!On.9./_"9Br<qDeRC
+*<$'HlMpDSs-<cj,5FS*?O?oE"BB&@<G"RAB)Vo6.<kbu#\GM0<G#hG"@E%d!)<Fq!"AK!J,~>
+o`"o'rWEDps8VWhZMjt,T_SNhTEGCPqYpZf"9_a#s8N3%.K'2JG6A&Srr;s#!(-Ya"O&%m%-.6b
+".98pRJ6^]QMq!e_#464"9:IVs8E-/6N??9naZYZ1B[h#rVm/nj5'"cnL4SDr;QbirWF9sbd*P&
+L1YsdR8!ee.:tn&3B8mMAcr5P<F7O2.3ea?"Z(l9":U%`rsgId"9aHG.4HGb.4HGi:&Y8*G;CEl
++sK$A*!?CO3>OXS.0D@d67Mm:rVm#P"9^0hqYpZX$j9;urt!<h"CM3/nc/XZs8RfV"?H;Xs7--h
+#k@rTL)^=!*6e0W"R9S%"P<>H"S"e]*7sf^!Xo2\pAY?@AfLp^B$C8EpAY>/"9cO?s7-'f"J?/+
+B'T6m#3u6gTEG\=q>UPb"9`rIrr=8B"9rHe+t4rb,5s%j":JR'+riC*.5MA8"ASkE"sPKF+u=F!
+rWE5]rVllLrWE<C.4HJ?.2sH[3F;ml(+D$q3?ek\*!?B[<@J\-3@P^`+r:.\!)<Ck$rmE53B7KV
+"9],K(**#N!#GJ8!#G;3!1Ecb"9],9"<@1>!$_4A"UkML*!?]B"T89%Q37=7m0!CtoE57F"9_'h
+rr>dl"S;YD~>
+o`"o'rWEDps8VWhZMjt,T_SNhTEGCPqYpZf"9_a#s8N3%.K'2JG6A&Srr;s#!(-Ya"O&%m%-.6b
+".98pRJ6^]QMq!e_#464"9:IVs8E-/6N??9naZYZ1B[h#rVm/nj5'"cnL4SDr;QbirWF9sbd*P&
+L1YsdR8!ee.:tn&3B8mMAcr5P<F7O2.3ea?"Z(l9":U%`rsgId"9aHG.4HGb.4HGi:&Y8*G;CEl
++sK$A*!?CO3>OXS.0D@d67Mm:rVm#P"9^0hqYpZX$j9;urt!<h"CM3/nc/XZs8RfV"?H;Xs7--h
+#k@rTL)^=!*6e0W"R9S%"P<>H"S"e]*7sf^!Xo2\pAY?@AfLp^B$C8EpAY>/"9cO?s7-'f"J?/+
+B'T6m#3u6gTEG\=q>UPb"9`rIrr=8B"9rHe+t4rb,5s%j":JR'+riC*.5MA8"ASkE"sPKF+u=F!
+rWE5]rVllLrWE<C.4HJ?.2sH[3F;ml(+D$q3?ek\*!?B[<@J\-3@P^`+r:.\!)<Ck$rmE53B7KV
+"9],K(**#N!#GJ8!#G;3!1Ecb"9],9"<@1>!$_4A"UkML*!?]B"T89%Q37=7m0!CtoE57F"9_'h
+rr>dl"S;YD~>
+o`"o'rWEDps8VWhZMjt,V"jrlU]^gTqYpZf"9_a#s8N3%.K'2JG6A&Srr;s#!(-Ya"O&%m%-.6b
+".98pRJ6^]QMq!e_#464"9:IVs8E-/6N??9naZYZ1B[h#rVm/nj5'"cnL4SDr;QbmrWF9sbd*P&
+L1YsdR8!ee.:tn&3B8mMAcr5P<F7O2.3ea?"Z(l9":U%`rsgId"9aHG.4HGb.4HGi:&Y8*G;CEl
++sK$A*!?CO3>OXS.0D@d67Mm:rVm#P"9^0hqYpZX$j9;urt!<h"CM3/nc/XZs8RfV"?H;Xs7--h
+#k@rTL)^=!*6e0W"R9S%"P<>H"S"e]*7sf^!Xo2\pAY?@AfLp^B$C8EpAY>/"9cO?s7-'f"JcG/
+B'T6m#3u6gU]_+Aq>UPb"9`rIrr=8B"9rHe+t4rb,5s%j":JR'+riC*.5MA8"ASkE"sPKF+u=F!
+rWE5]rVllLrWE<C.4HJ?.2sH[3F;ml(+D$q3?ek\*!?B[<@J\-3@P^`+r:.\!)<Ck$rmE53B7KV
+"9],K(**#N!#GJ8!#G;3!1Ecb"9],9"<@1>!$_4A"UkML*!?]B"T89%Q37=7m0!CtoE57F"9_'h
+rr>dl"S;YD~>
+o`"o'rWN6#!qH;rrWE4oq#:Gh"9b%err_co"AS^lrr`<Nr;QkC"9c%0rrWZ4"ASgo"%!+nfDGRM
+R03Y\p\t5ZrWE5:r;Zd"!'0fRrWE3fqYpXX"9]_=rrP1`"T89)TEGZ3ZN'spqu6bd$llSLrrgO]
+**(hirrBk6"9<ZErrjh[$l8m5q#:IG('O[-qu6_0*$"_Q"2Ho""TA?'f)u4NlMCM_f*hd^pAY61
+('J7Frr]PB"@De]#k?__"9^N8_"%7##3u6RJ.)S4p\tWks5Pm<.EqhlnaYo?rr_co"=a'E#k?`d
+AekLuL@Os:%V>hH_#OH"s7--hZ31;bq>UZhs8SAf%'o^/"0r%4JGoKM*!?CEp\t:1$j?J-s7$1u
+(*(s$rrdNK$j>korrg+?":U^prrqrm^]YX$rVmT%h<LX9"BFaPj6H0pbh(()+p8$8r;Rp?":UsZ
+ZG;lrbfmkq1B[hmJ;/f/J;0@s":SY'L5(5/GQ!$o<<NGmr;Za!![<ARqg\oqL'.W.L7*SkL'F&+
+$j6^$GPcpjL(/>B"9ec)lMpmM"9`(drdY/rJ9Qa6?iC0L9nnCQL1Z``$j6\hL4G#/L6dRKJ;+I@
+:&k7`s8Pgm"98l%s*t~>
+o`"o'rWN6#!qH;rrWE4oq#:Gh"9b%err_co"AS^lrr`<Nr;QkC"9c%0rrWZ4"ASgo"%!+nfDGRM
+R03Y\p\t5ZrWE5:r;Zd"!'0fRrWE3fqYpXX"9]_=rrP1`"T89)TEGZ3ZN'spqu6bd$llSLrrgO]
+**(hirrBk6"9<ZErrjh[$l8m5q#:IG('O[-qu6_0*$"_Q"2Ho""TA?'f)u4NlMCM_f*hd^pAY61
+('J7Frr]PB"@De]#k?__"9^N8_"%7##3u6RJ.)S4p\tWks5Pm<.EqhlnaYo?rr_co"=a'E#k?`d
+AekLuL@Os:%V>hH_#OH"s7--hZ31;bq>UZhs8SAf%'o^/"0r%4JGoKM*!?CEp\t:1$j?J-s7$1u
+(*(s$rrdNK$j>korrg+?":U^prrqrm^]YX$rVmT%h<LX9"BFaPj6H0pbh(()+p8$8r;Rp?":UsZ
+ZG;lrbfmkq1B[hmJ;/f/J;0@s":SY'L5(5/GQ!$o<<NGmr;Za!![<ARqg\oqL'.W.L7*SkL'F&+
+$j6^$GPcpjL(/>B"9ec)lMpmM"9`(drdY/rJ9Qa6?iC0L9nnCQL1Z``$j6\hL4G#/L6dRKJ;+I@
+:&k7`s8Pgm"98l%s*t~>
+o`"o'rWN6#!qH;rrWE4sq#:Gl"9b%err_co"AS^lrr`<Nr;QkC"9c%0rrWZ4"ASgo"%!+nfDGRM
+R03Y\p\t5ZrWE5:r;Zd"!'0fRrWE3fqYpXX"9]_=rrP1`"T89)U]_)7ZN'spqu6bd$llSLrrgO]
+**(hirrBk6"9<ZErrjh[$l8m5q#:IG('O[-qu6_0*$"_Q"2Ho""TA?'f)u4NlMCM_f*hd^pAY61
+('J7Frr]PB"@De]#k?__"9^N8_"%7##3u6RJ.)S4p\tWks5Pm<.EqhlnaYo?rr_co"=a'E#k?`d
+AekLuL@Os:%V>hH_#OH"s7--hZ31;bq>UZhs8SAf%'o^/"0r%4JGoKM*!?CEp\t:1$j?J-s7$1u
+(*(s$rrdNK$j>korrg+?":U^prrqrm^]YX$rVmT%h<Ld="BFaPj6H0pbh(()+p8$8r;Rp?":V*^
+ZG;lrbfmku1B[hmJ;/f/J;0@s":SY'L5(5/GQ!$o<<NGmr;Za!![<ARqg\oqL'.W.L7*SkL'F&+
+$j6^$GPcpjL(/>B"9ec)lMpmM"9`(drdY/rJ9Qa6?iC0L9nnCQL1Z``$j6\hL4G#/L6dRKJ;+I@
+:&k7`s8Pgm"98l%s*t~>
+o`"nurWN6#!qH;rrWE4oq#:Q("9b%js7-'f"7ZKs<Vc[p"99nKrr[HJ"JGbo!uqFH6N$icAcr7\
+qu6bd"9b.errAAa"9?78s8N3%3VWRQ"9:dbrrYsu";^n7!:g'g!]'r^r;R+s":PF+s8VWhlK\BK
+"GR$^L@P0@#0[2Q1Vj%jqsa^eh>RNWJGoKO*!?BQs8Vrcs8N-/"9e`(!:g'g"R8;V"Ps(W$0qQj
+nc/X)3<TK`rrgpV"@CrCs8VTls3(TK:&b1hnIY`9"9`*3s7,C>nc/WW"9_'brs%;b.0L&kj7N?S
+nV.e^h=^dNl;[s9_"7R-('H)Wrs=E""<;$Znc/XSqYpY0"9cO=rs/)os.BJtGO#%prr3(T"9bCo
+nIPZD"9aJZs7-+<(*%Punc/LV#lbYC"TSMlj73-K"%!+nlMC&Nrr@9B"9@'Prrp1@":U%bqsj^d
+#/C?E?iU/rrVm#V*!A:eq>UTR9`tSZr;Qk+";]5Wrrhk9('NIirr]P8"JGMh"0r%4RJd'e";V,7
+p](6r!FOmarr[c[";^b3%,EoH"TSMes8SAf"I]&b"MbcU%&!Lt"QLI)"F'Y@"61.46N$i`:&Y7q%
+.jLL~>
+o`"nurWN6#!qH;rrWE4oq#:Q("9b%js7-'f"7ZKs<Vc[p"99nKrr[HJ"JGbo!uqFH6N$icAcr7\
+qu6bd"9b.errAAa"9?78s8N3%3VWRQ"9:dbrrYsu";^n7!:g'g!]'r^r;R+s":PF+s8VWhlK\BK
+"GR$^L@P0@#0[2Q1Vj%jqsa^eh>RNWJGoKO*!?BQs8Vrcs8N-/"9e`(!:g'g"R8;V"Ps(W$0qQj
+nc/X)3<TK`rrgpV"@CrCs8VTls3(TK:&b1hnIY`9"9`*3s7,C>nc/WW"9_'brs%;b.0L&kj7N?S
+nV.e^h=^dNl;[s9_"7R-('H)Wrs=E""<;$Znc/XSqYpY0"9cO=rs/)os.BJtGO#%prr3(T"9bCo
+nIPZD"9aJZs7-+<(*%Punc/LV#lbYC"TSMlj73-K"%!+nlMC&Nrr@9B"9@'Prrp1@":U%bqsj^d
+#/C?E?iU/rrVm#V*!A:eq>UTR9`tSZr;Qk+";]5Wrrhk9('NIirr]P8"JGMh"0r%4RJd'e";V,7
+p](6r!FOmarr[c[";^b3%,EoH"TSMes8SAf"I]&b"MbcU%&!Lt"QLI)"F'Y@"61.46N$i`:&Y7q%
+.jLL~>
+o`"nurWN6#!qH;rrWE4sq#:Q("9b%js7-'f"7ZKs<Vc[p"99nKrr[HJ"Jl%s!uqFH6N$icAcr7\
+qu6bd"9b.errAAa"9?78s8N3%3VWRQ"9:dbrrYsu";^n7!:g'g!]'r^r;R,"":PF/s8VWhlK\BK
+"GR$^L@P0@#0[2Q1Vj%jqsa^eh>RNWJGoKO*!?BQs8Vrcs8N-/"9e`(!:g'g"R8;V"Ps(W$0qQj
+nc/X)3<TK`rrgpV"@CrCs8VTls3(TK:&b1hnIY`9"9`*3s7,C>nc/WW"9_'brs%;b.0L&kj7N?S
+nV.e^h=^dNl;[s9_"7R-('H)Wrs=E""<;$Znc/XSqYpY0"9cO=rs/)os.fc#GO#%prr3(T"9bOs
+nIPZD"9aJZs7-+<(*%Punc/LV#lbYC"TSMlj73-K"%!+nlMC&Nrr@9B"9@'Prrp1@":U%bqsj^d
+#/C?E?iU/rrVm#V*!A:eq>UTR9`tSZr;Qk+";]5Wrrhk9('NIirr]P8"Jkel"0r%4RJd'e";V,7
+p](6r!FOmarr[c[";^b3%,EoH"TSMes8SAf"I]&b"MbcU%&Ee#"QLI)"F'Y@"61.46N$i`:&Y7q%
+.jLL~>
+o`"o'rWEDps8VWhZMjt,T_SNkTEGCPs8VWfrr_co"AS^lrr`<Nr;QkC"9bCsrrX5D"@E%d##,4'
+j8]/Err3(d"9b.errAAa"9?78s8N3%3V`USnbrXk6Mg]a63IE2p\t:D"9eZ&!1Efh"1%t,lMLSa
+Q4*nHnb`=i^]XcaZKh8c!8%2Q"c!'Is8OnS"SVis('Fd=rs/)os7'G!"R?!d!:'L^"2Ho""TA?'
+f)u4*ZMOS(h&HPllM(;]bT$a[lMCM_Z6BE3q#:cfQ8oof":S"jZA+d?rgEeZ*jV3"ZCjo#"GWS;
+TUDI@TV.^YTX'tc"9__ZL6eKur1F:_TX':f"=]c7TEpskTUDIYR:[ZB"9E,jq#:G.(*^Qmrs/)o
+s0<ggGO#&)#4_`nTF;gGq>UQ&"9aJXrrWZ4"D7E.!YtnAq>UP/"9e#brr?[1"9@`crrC:B"9=2O
+rr^jU"D7N1"P4%b<Up"e#P%iol:hBa6N$ic?N_.[q>UWgG8:=snc&Omnc/W^"9a8RrsA5qnc/.Z
+R03Y\r;Za!!'1&Yrp^6nnc/Ul"?F9prs*-=":Y>1nc/RXs8Nl"9`tV!s7--hL'.XPs7--Zs7--Z
+s0DV,#F>DilMpDSbl._HB)ho1nbrIiirfKOr;Qakr<2`lJ,~>
+o`"o'rWEDps8VWhZMjt,T_SNkTEGCPs8VWfrr_co"AS^lrr`<Nr;QkC"9bCsrrX5D"@E%d##,4'
+j8]/Err3(d"9b.errAAa"9?78s8N3%3V`USnbrXk6Mg]a63IE2p\t:D"9eZ&!1Efh"1%t,lMLSa
+Q4*nHnb`=i^]XcaZKh8c!8%2Q"c!'Is8OnS"SVis('Fd=rs/)os7'G!"R?!d!:'L^"2Ho""TA?'
+f)u4*ZMOS(h&HPllM(;]bT$a[lMCM_Z6BE3q#:cfQ8oof":S"jZA+d?rgEeZ*jV3"ZCjo#"GWS;
+TUDI@TV.^YTX'tc"9__ZL6eKur1F:_TX':f"=]c7TEpskTUDIYR:[ZB"9E,jq#:G.(*^Qmrs/)o
+s0<ggGO#&)#4_`nTF;gGq>UQ&"9aJXrrWZ4"D7E.!YtnAq>UP/"9e#brr?[1"9@`crrC:B"9=2O
+rr^jU"D7N1"P4%b<Up"e#P%iol:hBa6N$ic?N_.[q>UWgG8:=snc&Omnc/W^"9a8RrsA5qnc/.Z
+R03Y\r;Za!!'1&Yrp^6nnc/Ul"?F9prs*-=":Y>1nc/RXs8Nl"9`tV!s7--hL'.XPs7--Zs7--Z
+s0DV,#F>DilMpDSbl._HB)ho1nbrIiirfKOr;Qakr<2`lJ,~>
+o`"o'rWEDps8VWhZMjt,V"jroU]^gTs8VWfrr_co"AS^lrr`<Nr;QkC"9bP"rrX5D"@E%d##,4'
+j8]/Err3(d"9b.errAAa"9?78s8N3%3V`USnbrXk6Mg]a63IE2p\t:D"9eZ&!1Efh"1%t,lMLSa
+Q4*nHnb`=i^]XcaZKh8c!8%2Q"c!'Is8OnS"SVis('Fd=rs/)os7'G!"R?!d!:'L^"2Ho""TA?'
+f)u4*ZMOS(h&HPllM(;]bT$a[lMCM_Z6BE3q#:cfQ8oof":S"jZA+dCrgEe^*jV3"ZD:2'"GW_?
+Um\$HUnjEaUp?Cg"9__ZL6eX$r1jRcUp>^j"=]c7U^3BoUm\$aR:[ZB"9E,jq#:G.(*^Qmrs/)o
+s0<ggGO#&)#4_`nU^S6Kq>UQ&"9aJXrrWZ4"D7E.!YtnAq>UP/"9e#brr?[1"9@`crrC:B"9=2O
+rr^jU"D7N1"P4%b<Up"e#P%iol:hBa6N$ic?N_.[q>UWgG8:=snc&Omnc/Wb"9a8RrsA5qnc/.Z
+R03Y\r;Za!!'1&Yrp^6nnc/Ul"?F9prs*-=":Y>1nc/RXs8Nl"9`tV!s7--hL'.XTs7--Zs7--Z
+s0DV,#F>DilMpDSbl._HB)ho1nbrIiirfKOr;Qakr<2`lJ,~>
+o`"o'rWN6#!qH;rrWE4oq#:Pk"9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"I]8h"!RjN:&P"q63IGO
+s8VB`rr\Yl"I]#a!1*Te!5SO4rr`<^q#:?arWE3fqYpXa"9]_=rrP1`"T89"T`,&oT_e]gnH=RL
+"F'D5rrg+?">e[)rrC[M"9j>Us7-+5rWMrp!YtnAr;Quks7'\("PrtT#4_``R2c>4rVllLrWETX
+AlVi<9kJ!E"9]_DB)bm2?iO+4?[#i["<:ERAl\h;"B?EE"@Dn`"QO(s";]\o!"@Wc!Z#D5q>UP/
+"9`*2Ad<NlG@*Z>"<@D@s'Pe+s'Pe<&4-L&6=3_m?XHf5AmYZDB(>m#!uqFH?haR)((:?Gs7,XX
+rrZj9"P<GK!+u35!T!;FrrBk6"9=2Ort!<V"D7](nc.nEs5P(%6L+CH"R7uM"?HD["()0Nbk_8B
+nR`14ZKh>e"doJrB&iFWrr\ns"I]2f!sB#8:&"\f"9C<ar;Qrj?N^K?nbE+dl9YUVr;Qkb"9b.f
+rrBk6"9Y(ls7-*g"j@_b"D73'rs8/plMpn9"9_'hrr>dm"98l%s*t~>
+o`"o'rWN6#!qH;rrWE4oq#:Pk"9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"I]8h"!RjN:&P"q63IGO
+s8VB`rr\Yl"I]#a!1*Te!5SO4rr`<^q#:?arWE3fqYpXa"9]_=rrP1`"T89"T`,&oT_e]gnH=RL
+"F'D5rrg+?">e[)rrC[M"9j>Us7-+5rWMrp!YtnAr;Quks7'\("PrtT#4_``R2c>4rVllLrWETX
+AlVi<9kJ!E"9]_DB)bm2?iO+4?[#i["<:ERAl\h;"B?EE"@Dn`"QO(s";]\o!"@Wc!Z#D5q>UP/
+"9`*2Ad<NlG@*Z>"<@D@s'Pe+s'Pe<&4-L&6=3_m?XHf5AmYZDB(>m#!uqFH?haR)((:?Gs7,XX
+rrZj9"P<GK!+u35!T!;FrrBk6"9=2Ort!<V"D7](nc.nEs5P(%6L+CH"R7uM"?HD["()0Nbk_8B
+nR`14ZKh>e"doJrB&iFWrr\ns"I]2f!sB#8:&"\f"9C<ar;Qrj?N^K?nbE+dl9YUVr;Qkb"9b.f
+rrBk6"9Y(ls7-*g"j@_b"D73'rs8/plMpn9"9_'hrr>dm"98l%s*t~>
+o`"o'rWN6#!qH;rrWE4sq#:Po"9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"I]8h"!RjN:&P"q63IGO
+s8VB`rr\Yl"I]#a!1*Te!5SO4rr`<^q#:?arWE3fqYpXa"9]_=rrP1`"T89"V#CJsV#(,knH=RL
+"F'D5rrg+?">e[)rrC[M"9j>Us7-+5rWMrp!YtnAr;Quks7'\("PrtT#4_``R2c>4rVllLrWETX
+AlVi<9kJ!E"9]_DB)bm2?iO+4?[#i["<:ERAl\h;"B?EE"@Dn`"QO(s";]\o!"@Wc!Z#D5q>UP/
+"9`*2Ad<NlG@*Z>"<@D@s'Pe+s'Pe<&4-L&6=3_m?XHf5AmYZDB(>m#!uqFH?haR)((:?Gs7,XX
+rrZj9"P<GK!+u35!T!;FrrBk6"9=2Ort!<V"D7](nc.nEs5P(%6L+CH"R7uM"?HD["()0Nbk_8B
+nR`14ZKh>e"doJrB&iFWrr]&""I]2f!sB#8:&"\f"9C<ar;Qrj?N^K?nbE+dl9YUVr;Qkb"9b.f
+rrBk6"9Y(ls7-*g"j@_b"D73'rs8/plMpn9"9_'hrr>dm"98l%s*t~>
+o`"nurWN6#!qH;rrWE4or;Qcerr32."9b%js7-'f"7ZKs<VcXr$j8$Wrr[HJ"I]8h"!RjN6N$ic
+?N^Mfrr32ms8SJi"IAf^!1*Te#f-K?nc/Ul"?H5VrWE3fqYpXa"9]qGrrDTgrrP1`"T89)TEGZ+
+ZN'spqu6bd$j;=]rrgLJ">djgrrC[M"9<uNrr=MI"SVj#+rgacnc/XZrr3(4"9dcarsA5\nc/XZ
+R3Db:rVllLoE>1&!$(S5!"AT)!(-V`s7-*g*O8[$1JMJ*?U?P/69,/O(.(_i3AWZO.7,gH"9^OY
+.K;12.6.eV">`%e1I<ns.K;1.$j8"83AWJj.K2+/$j6\h.5O:>.K2.&.0<5:lM:G^Acr5\q?-m/
+"9]/)"98l+"9]JC"BF:WrrX\Y1R\";!YtnIq>UP("9e#brr?[1"9@`crrfV1":U^prs/)obQJ'!
+s7-$e"5O@g<W<$unHf0bnc.Vn"9^a_rrZU2"Mjj5"n?1-"MjR)rrfV1"F'/+rr\ns"I]2frWE<t
+s8VWcs8N3&1Y;O("(hZ=(AIh2l8&PGr;Qkl"9b%crrBA("9=kerrpUT"9`?,q>UQQ"9_Hsrr>dl
+"S;YD~>
+o`"nurWN6#!qH;rrWE4or;Qcerr32."9b%js7-'f"7ZKs<VcXr$j8$Wrr[HJ"I]8h"!RjN6N$ic
+?N^Mfrr32ms8SJi"IAf^!1*Te#f-K?nc/Ul"?H5VrWE3fqYpXa"9]qGrrDTgrrP1`"T89)TEGZ+
+ZN'spqu6bd$j;=]rrgLJ">djgrrC[M"9<uNrr=MI"SVj#+rgacnc/XZrr3(4"9dcarsA5\nc/XZ
+R3Db:rVllLoE>1&!$(S5!"AT)!(-V`s7-*g*O8[$1JMJ*?U?P/69,/O(.(_i3AWZO.7,gH"9^OY
+.K;12.6.eV">`%e1I<ns.K;1.$j8"83AWJj.K2+/$j6\h.5O:>.K2.&.0<5:lM:G^Acr5\q?-m/
+"9]/)"98l+"9]JC"BF:WrrX\Y1R\";!YtnIq>UP("9e#brr?[1"9@`crrfV1":U^prs/)obQJ'!
+s7-$e"5O@g<W<$unHf0bnc.Vn"9^a_rrZU2"Mjj5"n?1-"MjR)rrfV1"F'/+rr\ns"I]2frWE<t
+s8VWcs8N3&1Y;O("(hZ=(AIh2l8&PGr;Qkl"9b%crrBA("9=kerrpUT"9`?,q>UQQ"9_Hsrr>dl
+"S;YD~>
+o`"nurWN6#!qH;rrWE4sr;Qcerr32."9b%js7-'f"7ZKs<VcXr$j8$Wrr[HJ"I]8h"!RjN6N$ic
+?N^Mfrr32ms8SJi"IAf^!1*Te#f-K?nc/Ul"?H5VrWE3fqYpXa"9]qGrrDTgrrP1`"T89)U]_)/
+ZN'spqu6bd$j;=]rrgLJ">djgrrC[M"9<uNrr=MI"SVj#+rgacnc/XZrr3(4"9dcarsA5\nc/XZ
+R3Db:rVllLoE>1&!$(S5!"AT)!(-V`s7-*g*O8[$1JMJ*?U?P/69,/O(.(_i3AWZO.7,gH"9^OY
+.K;12.6.eV">`%e1I<ns.K;1.$j8"83AWJj.K2+/$j6\h.5O:>.K2.&.0<5>lM:G^Acr5\q?-m/
+"9]/)"98l+"9]JC"BF:WrrX\Y1R\";!YtnIq>UP("9e#brr?[1"9@`crrfV1":U^prs/)obQJ'!
+s7-$e"5O@g<W<$unHf0bnc.Vn"9^a_rrZU2"Mjj5"n?1-"MjR)rrfV1"F'/+rr]&""I]2frWE<t
+s8VWcs8N3&1Y;O("(hZ=(AIh2l8&PGr;Qkp"9b%crrBA("9=kerrpUT"9`?,q>UQQ"9_Hsrr>dl
+"S;YD~>
+p\t?cs8QI*"9n>qs7--)rWE@ss8VWZr;Qkl":UUqrrDTgrr_9a"CM*,"nDWm"9^1Orr[HJ"LA%,
+$o8"h3WK-Ls8Pdr(?>Do#4_`nR03YYp\tYV";(pTs7--hl3%5Mp](3q!(-P^"@<4oB(>g!!:g'g
+!]'r^r;QbirWE5:qu6ljs8SJi"I],d"O$uS.DY`Y!8[VW!/CIP"!RjN%/0]&$j6_2rs8/ps&B1)
+lMpDOrrhkt.0KePrtX,g"=](kQA1-^QA1+s"<sLhL6e-[rg*P<rr`BZTRd#r#+:4#?PWc2lMpke
+!#G;.!=T,*rrOtZ"SVir9a(1i!_ie#lMhK/"9`>&L1Z1+L1XEg";Z3IQA5C)rItPO"9^`>QBm:)
+Q3;pu"9aJXrrjhS"GZsHq>UL3"9eQ#"'#I,lM1AZB)Vo5j8Ju\bQJ1kT_SNhf)u4gq>^Ht!(-G[
+rWE4.rr38os%NV!j8]/Lqu6b1"9dQWrs#,!"JGepnbW7fTEGCcr;Za!!(-G[rr`<Grr2ugrr2sm
+rWMuq"O%hg"S)Hj"/#c"RJ?d^ZMjt,RK!3gnc/XSrWE45q#:Zj"9_'ks7--h:&P4ds*t~>
+p\t?cs8QI*"9n>qs7--)rWE@ss8VWZr;Qkl":UUqrrDTgrr_9a"CM*,"nDWm"9^1Orr[HJ"LA%,
+$o8"h3WK-Ls8Pdr(?>Do#4_`nR03YYqu?Wl%#+ls#f-K1s8V?e"?H5VrWE3fqYp[b"9`?,r;Qce
+rr3$U"9eZ&!20;o!5SL3#4_`nR03Y\qYp]B":-Hlq#:?MrWE4UrVlsD"9]/,rrNT3"T89*nc/Vh
+"9e#inb`=hnZjSH"TA?8f)u4*L6e-[L7+?^L'.W'TR_c_QA5C)reCFU!]-L"re:WFL5'%N"@DDR
+rr`<;pAY.%"S_ot1B[jSrrGgspAY1g"9e#i&nV7LAsS0`L6dR+<<NF?GF"PLrg*M;#>G=(3JNic
+LAmJAL,/r8LAh,U.0Kd.s7,pb!YtnAq>UOs"9e#brr?[1"9@K\rrgOK#TTN4rr^jU"D7K0rr`<g
+p](3q!+5a*#k@ph"9dcbs7-!d"(hZ=h>7-UTEGCjs8VWcrr\ns"I]2frWE3fp](6r!$_FB!:g'g
+!)<Fqp\tB?*!?E7rVltm"9b.frrBA("9=khrr_fks6BRd!+u$+$1S-$6N@)Us8Pgl"S;YD~>
+p\t?cs8QI*"9n>qs7--)rWEA"s8VWZr;Qkp":UUqrrDTgrr_9a"CM*,"nDWm"9^1Orr[HJ"LA%,
+$o8"h3WK-Ls8Pdr(?>Do#4_`nR03YYqu?Wa%#+ls#f-K1s8V?e"?H5VrWE3fqYp[b"9`?,r;Qce
+rr3$U"9eZ&!2TSs!5SL3#4_`nR03Y\qYp]B":-Hlq#:?MrWE4UrVlsD"9]/,rrNT3"T89*nc/Vh
+"9e#inb`=hnZjSH"TA?8f)u4*L6e-[L7+?^L'.W'Uk"2cQA5C)reCFU!]-X&re:WFL5'%N"@DDR
+rr`<;pAY.%"S_ot1B[jSrrGgspAY1g"9e#i&nV7LAsS0`L6dR+<<NF?GF"PLrg*M;#>G=(3JNic
+LAmJAL,/r8LAh,U.0Kd.s7,pb!YtnAq>UOs"9e#brr?[1"9@K\rrgOK#TTZ8rr^jU"D7K0rr`<g
+p](3q!+5a*#k@ph"9dcbs7-!d"(hZ=h>7-UU]^grs8VWcrr]&""I]2frWE3fp](6r!$_FB!:g'g
+!)<Fqp\tB?*!?E7rVltq"9b.frrBA("9=khrr_fks6BRd!+u$+$1S-$6N@)Us8Pgl"S;YD~>
+o`"nurWN6#!qH;rrWE5,r;Qc^rr3.p"9aJZnbiChnH8u%r;Qrcs8NK1.K'2JG6A&Srr3KQ"9^ab
+s7--h9`tmis8VWgrr\Yl"JGMh%#+ls%)Do5s8VTl"?H5VrWE3fqYp[b"9`)sq#:CO"9eZ&!20;o
+!l4j+rVm)ls8SJi"IB&e!:g'g"O$uO.DY`Y!8[VW!/CIP"!RjN%/0]&('Fd9rrlC*"R?$WqYpZ'
+.0KePrr^jU"BG6s!Xo2lpAY6b$j9<#rr]P8"?GcIrr`<;pAY7("TSMlqYpUG"9e`(!:fpc!C?q_
+rrPLi"R?!hAcr7\qYp]6$j:2-p\t>`"9aJTrr[uY"GZmT"X4'PJH,08rrNr=%/Ko*<<NHiq#:>+
+rWE5drVm#E"9]!rq#:HJ"9`?4s8N3%6MLNZ"9:ddrrtdm"QTO^nb`=gAcr7mqYpYj"9b.err\ns
+"I]2frWE3fp](6r!$_:>!*0"$p\t?I*!?EBrr\ns"I]&b!4)S,!20>k"7cEkj8K/]B))B.l3%5V
+r;QakrWE30oDa=~>
+o`"nurWN6#!qH;rrWE5,r;Qc^rr3.p"9aJZnbiChnH8u%r;Qrcs8NK1.K'2JG6A&Srr3KQ"9^ab
+s7--h9`tmis8VWgrr\Yl"JGYlrVI"X";)'Xs7--hnH8tTp](3q!(-P^"@<4o?g@Fd!]'r^r;Qbi
+rWE;<s7-'f#4_`nR03YYrr2ugrr3,F"9^0hq#:?MrWE4UrVlsD"9]/,rrNr="Sr'$<<NHis7,sc
+"0s?Y"TA?&f)u4Vq#:C("?H2U"7Zd&:&4ekZ4$jrlMpke!#G;.":PG5s7,sc!\"6Trr2ugqYpR_
+"SVis63IGVrrZj9"O-`B"MbEKB'T-j".98pLACiOL'.X6rVm$F"9a8TnbN1d('G'ArrZ7("R>d^
+!+u35!:'O_"O$uO#aY8c"4mYYB)2K,"9:d_s8E-$6N$if63IGOs8VWdrrZj9"PrqS"/#c"RJ6^`
+TEGCcr;Za!!(-G[rr`<GqYpOqrWMuq"4nLq"T89%TEGCcq#:?"rWE4orr3)js8V-Y"9<'/rr_Nh
+"@E%d!)<Fq!"AK!J,~>
+o`"nurWN6#!qH;rrWE5,r;Qc^rr3.t"9aJZnbiChnH8u%r;Qrcs8NK1.K'2JG6A&Srr3KQ"9^ab
+s7--h9`tmis8VWgrr\Yl"JkqprU:5M";)'Xs7--hnH8tTp](3q!(-P^"@<4o?g@Fd!]'r^r;Qbm
+rWE;<s7-'f#4_`nR03YYrr2ugrr3,F"9^0hq#:?MrWE4UrVlsD"9]/,rrNr="Sr'$<<NHis7,sc
+"0s?Y"TA?&f)u4Vq#:C("?H2U"7Zd&:&4ekZ4$jrlMpke!#G;.":PG5s7,sc!\"6Trr2ugqYpR_
+"SVis63IGVrrZj9"O-`B"MbEKB'T-j".98pLACiOL'.X6rVm$F"9a8TnbN1d('G'ArrZ7("R>d^
+!+u35!:'O_"O$uO#aY8c"4mYYB)2K,"9:d_s8E-$6N$if63IGOs8VWdrrZj9"PrqS"/H&&RJ6^`
+U]^ggr;Za!!(-G[rr`<GqYpOqrWMuq"4nLq"T89%U]^ggq#:?"rWE4srr3)js8V-Y"9<'/rr_Nh
+"@E%d!)<Fq!"AK!J,~>
+o`"nurWEDps8VWhZMjt,RJd'blMgecTEGCPr;R>ns69^i6N?TGs8VWhrr`HRr;QkC":VU8rsokJ
+"@E.gnc/V`"9d?Vs7-*g",6p]T_JHpQ37d*_#N^"s69^i3VWRQ"9:dbrrYRj"D7E.!]'r^r;Qc&
+rWE5:q#:Ga"9b.lrrDTgrrgOK#V!RarrCmS"9=2TrrX\Q":Y#(!YtnAq>UUu"9e#inbW7fZ82Ud
+rVm&Q"9_'8lM^_dnc.2D"?HJ]qXF^g^]Xd?rr2ugrVluD$j8o^s8N3%(A@e."TSK%nbW7e1B[j[
+rrDTcrrGFhpAY1\"9e#i%V>hH_#OGpn^mg@R03YIq=+^Ms8RfV"Mk'7nHAm-"9a8RrrjSL"F'n9
+q>UL3"9eQ#"'#I,lM1AZB)Vo5j8JuXbl._FQMCI^f)u4gq>^Ht!(-G[rWE3Wr;Qsf"9dQ\s7-!d
+"(hZ=h>7-RTEGCcp\t>g"9b.js8E-$6MLN["99YFrrDTgrr?'u"S_p!bT[/mnbrIiTEGCcq#:?"
+rWE4hrr3)js8V-Y"9<'/rr_Nh"@E%d!)<CpoDa=~>
+o`"nurWEDps8VWhZMjt,RJd'blMgecTEGCPr;R>ns69^i6N?TGs8VWhrr`HRr;QkC":VU8rsokJ
+"@E.gnc/V`"9d?Vs7-*g",6p]T_nchq[WZ'Q37d*_#N^"s69^i3VWRQ"9:dbrrYRj"D7E.!]'r^
+r;Qc&rWE5:q#:Ga"9b.lrrDTgrrgOK#V!RarrCmS"9=2TrrX\Q":Y#(!YtnAq>UUu"9e#inbW7f
+Z82UdrVm&Q"9_'8lM^_dnc.2D"?HJ]qXF^g^]Xd?rr2ugrVluD$j8o^s8N3%(A@e."TSK%nbW7e
+1B[j[rrDTcrrGFhpAY1\"9e#i%V>hH_#OGpn^mg@R03YIq=+^Ms8RfV"Mk'7nHAm-"9a8RrrjSL
+"F'n9q>UL3"9eQ#"'#I,lM1AZB)Vo5j8JuXbl._FQMCI^f)u4gq>^Ht!(-G[rWE3Wr;Qsf"9dQ\
+s7-!d"(hZ=h>7-RTEGCcp\t>g"9b.js8E-$6MLN["99YFrrDTgrr?'u"S_p!bT[/mnbrIiTEGCc
+q#:?"rWE4hrr3)js8V-Y"9<'/rr_Nh"@E%d!)<CpoDa=~>
+o`"nurWEDps8VWhZMjt,RJd'blMgecU]^gTr;R>ns69^i6N?TGs8VWhrr`HRr;QkC":VU8rsokJ
+"@E.gnc/V`"9d?Vs7-*g",6p]V#12ln.,KfQ37d*_#N^"s69^i3VWRQ"9:dbrrYRj"D7E.!]'r^
+r;Qc&rWE5:q#:Ga"9b.lrrDTgrrgOK#V!RarrCmS"9=2TrrX\Q":Y#(!YtnAq>UUu"9e#inbW7f
+Z82UdrVm&Q"9_'8lM^_dnc.2D"?HJ]qXF^g^]Xd?rr2ugrVluD$j8o^s8N3%(A@e."TSK%nbW7e
+1B[j[rrDTcrrGFhpAY1\"9e#i%V>hH_#OGpn^mg@R03YIq=+^Ms8RfV"Mk'7nHAm-"9a8RrrjSL
+"F'n9q>UL3"9eQ#"'#I,lM1AZB)Vo5j8JuXbl._FQMCI^f)u4gq>^Ht!(-G[rWE3Wr;Qsf"9dQ\
+s7-!d"(hZ=h>7-RU]^ggp\t>k"9b.js8E-$6MLN["99YFrrDTgrr?'u"S_p!bT[/mnbrIiU]^gg
+q#:?"rWE4hrr3)js8V-Y"9<'/rr_Nh"@E%d!)<CpoDa=~>
+p\t?cs8QI*":=Vus7-,p":P^Eq#:H%"9a8Orr_Nh$t&i1!Ytnfr;QkC"9c%0rsTkM$s!?-nc/W$
+"9d?Rrr\Pi"JGMh%$h#.#f-K1s8V?e"?H5VrWE3fqYpXa"9`?6rrDTgrrOtZ"T89"T`,&o_#+-9
+nc/WW"9b.hrrgOK"=_.]rrCmS"9=2TrrXGJ":Y#(!Xo27rVuofs8N7&"9e#inbW7f^c;N#rVm&Q
+"9_'8lMLS`irfKOpAY6H"9_a&rs&#Ys3)5]6L+UN"9952s8N6%rrDTcrrOVP"TJE$nc&Rgnc/Ui
+3<]'U!^["mlMgrn"9cO:rrett"D6rnrr[uY"JGSj"2G$BJGoKO.0Kd(s7,pb!YtnAq>UOs"9e#b
+rr?[1"9@K\rrgOK":1=grr^jU"D7N1"7ZKs6MLNZ"9:I[rru1#"QTO^nb`=gAcr7mqYpbm"9b.m
+s7,sc"/#c"RJd*a"9:d_s8N3%,6%TBnc&Og:&Y:irrgOc"9e8nrr\ns"I]&b!4)S,!1Eid"7#pd
+j8K/]B))B4l3%5Vs7,XZs%WFpoDa=~>
+p\t?cs8QI*":=Vus7-,p":P^Eq#:H%"9a8Orr_Nh$t&i1!Ytnfr;QkC"9c%0rsTkM$s!?-nc/W$
+"9d?Rrr\Pi"JGYls82ir%$h#.#f-K1s8V?e"?H5VrWE3fqYpXa"9`?6rrDTgrrOtZ"T89"T`,&o
+_#+-9nc/WW"9b.hrrgOK"=_.]rrCmS"9=2TrrXGJ":Y#(!Xo27rVuofs8N7&"9e#inbW7f^c;N#
+rVm&Q"9_'8lMLS`irfKOpAY6H"9_a&rs&#Ys3)5]6L+UN"9952s8N6%rrDTcrrOVP"TJE$nc&Rg
+nc/Ui3<]'U!^["mlMgrn"9cO:rrett"D6rnrr[uY"JGSj"2G$BJGoKO.0Kd(s7,pb!YtnAq>UOs
+"9e#brr?[1"9@K\rrgOK":1=grr^jU"D7N1"7ZKs6MLNZ"9:I[rru1#"QTO^nb`=gAcr7mqYpbm
+"9b.ms7,sc"/#c"RJd*a"9:d_s8N3%,6%TBnc&Og:&Y:irrgOc"9e8nrr\ns"I]&b!4)S,!1Eid
+"7#pdj8K/]B))B4l3%5Vs7,XZs%WFpoDa=~>
+p\t?cs8QI*":=Vus7-,p":P^Eq#:H%"9a8Orr_Nh$t&i1!Ytnfr;QkC"9c%0rsTkM$s!?-nc/W$
+"9d?Rrr\Pi"Jkqps7$'g%$h#.#f-K1s8V?e"?H5VrWE3fqYpXa"9`?6rrDTgrrOtZ"T89"V#CJs
+_#+-9nc/WW"9b.hrrgOK"=_.]rrCmS"9=2TrrXGJ":Y#(!Xo27rVuofs8N7&"9e#inbW7f^c;N#
+rVm&Q"9_'8lMLS`irfKOpAY6H"9_a&rs&#Ys3)5]6L+UN"9952s8N6%rrDTcrrOVP"TJE$nc&Rg
+nc/Ui3<]'U!^["mlMgrn"9cO:rrf,#"D6rnrr[uY"Jkkn"2G$BJGoKO.0Kd(s7,pb!YtnAq>UOs
+"9e#brr?[1"9@K\rrgOK":1=grr^jU"D7N1"7ZKs6MLNZ"9:I[rru1#"QTO^nb`=gAcr7mqYpbq
+"9b.ms7,sc"/H&&RJd*a"9:d_s8N3%,6%TBnc&Og:&Y:irrgOc"9e8nrr]&""I]&b!4)S,!1Eid
+"7#pdj8K/]B))B4l3%5Vs7,XZs%WFpoDa=~>
+o`"nurWN6#.ImGR":PE`^p:8]^p:bD^mQ/dJBY=7ZG<c=Z32.6^qe10^p;S^$j8$Wrr[HJ"JGbo%
+l4=k3TJ`8s4oI6"Mk';nc&OjQ37>Vp\tYP":,.Gs6BXanH8tTp](3q!)<=i"&/n$B(u<,3<TK_r
+rBA("9?[@rr]P0"I],d"Pj1`1X,Xo!9=%]!/CIP"!RjN(A@b0*!?E?rrQO1"S_oubW,e/rVm&]"
+9_HTnb`=girfK@pAY6="9_Hprr^IJ"@DDRrr`<;pAY7("TSMlqYpUQ"9e`(!:fpc!C?q_rrPLi"
+RQ."n`*UP"Mk';lMpDSnZi9#JGK3Ln`p.B"9c%+rr]P0"GZmT"!RjNLA1]L('Fd9rrZ7("S)9e!
++u35!:'O_"NpoR,,"`2"4mYYB)2K,"9:d_s8E-$?i9p.?N^Mss8VWdrrZj9"PrqS"/#c"T_JHgT
+EGCcr;Za!!(-G[rr`<GqYpOqrWMuq"4n_""T89%TEGCjq#:?0rWE4orr3)js8VB`"9<'/rr_co"
+@E%d!)<Fq!"AK!J,~>
+o`"nurWN6#.ImGR":PE`^p:8]^p:bD^mQ/dJBY=7ZG<c=Z32.6^qe10^p;S^$j8$Wrr[HJ"JGbo%
+l4=k3TJ`8s4oI6"Mk';nc&OjQ37>Vq>^Kl%"JHd"Mk'&s8VTl"?H5VrWE3qqYpXl"9`?2rrP1`"
+T89"ZMjt,bkV2?Z31;uqYp]S"9^O)q#:?SrWE4UrVlsD"9]M6rrO/C"Sr'!?N^N+rr^J*"9e]'"
+lf^g:#5@:rr_9a">fcO"3^lN:&4ekbQJ&8lMpke!#G;.":PG5s7,sc!]'r^rr2ugqYpR_"SVis6
+3IGXrt+_\<<NH?s8VBanc/-b"9a8Nrs&#Ys-WumZMFM&Z31;brVlsD"9aJRrrNr="Sr'"<<NHpq
+#:>+rWE5drVm#D":-3Eq#:HJ"9`?4s8N3%6MLNZ"9;g,rrug5"R?$enb`=gAcr7mqYpYj"9bClr
+r\ns"I]2frWE3fp](6r!$_:>!*0"$p\t?I+p8&Hrr\ns"JGPi!5SR:!20>k"7cEklM^ndB))B.n
+H8t]r;QakrWE30oDa=~>
+o`"nurWN6#.ImGR":PE`^p:8]^p:bD^mQ/dJBY=7ZG<cAZ32.6^qe10^p;S^$j8$Wrr[HJ"Jl%s%
+l4=k3TJ`8s4oI6"Mk';nc&OjQ37>Vq>^Ka%"JHd"Mk'&s8VTl"?H5VrWE3qqYpXl"9`?2rrP1`"
+T89"ZMjt,bkV2?Z31;uqYp]S"9^O)q#:?SrWE4UrVlsD"9]M6rrO/C"Sr'!?N^N+rr^J*"9e]'"
+lf^g:#5@:rr_9a">fcO"3^lN:&4ekbQJ&8lMpke!#G;.":PG5s7,sc!]'r^rr2ugqYpR_"SVis6
+3IGXrt+_\<<NH?s8VBanc/-b"9a8Nrs&#Ys-WumZMFM&Z31;brVlsD"9aJRrrNr="Sr'"<<NHpq
+#:>+rWE5drVm#D":-3Iq#:HJ"9`?4s8N3%6MLNZ"9;g,rrug5"R?$enb`=gAcr7mqYpYn"9bOpr
+r]&""I]2frWE3fp](6r!$_:>!*0"$p\t?I+p8&Hrr]&""Jkhm!5SR:!2TVo"7cEklM^ndB))B.n
+H8t]r;QakrWE30oDa=~>
+q#:?arr3+F";W!5rVm&,";V+[*:<q0*<$'B$l0i^$j7b@"9^1Orss;V"LA'ts"ac\$pls7<B:$]%
+lm?E3E9'd.0Kc&AnGCWB)Z-S<G!Zg*-^]Jnc/XF*!@$h?XIDW?XIDW?iC02(1q/c?iFXB('Fa[?
+Y3YPrFQ4?G8:qsnbrIlZ5*QG6=sU(B)c6<Ad:=!"?C($AmbOL"AK"%(/=d?s'Gn@?XIDWrWE4Ur
+Vls[":PG4B)c6<B)c6<B)VoMAm].^?XIDW*!?COAm].W?Y3nWAka$D"T;p7<=B";q>UTR$l2S-p
+\tB?"9_`pqYpZ'*!A:es8N3&%.X)lrriB%!:fpc!]'r^rr2ugqYpR_"SVis63IGVrrZU2%)D`>"
+Mb-C?fUn\"0r%4ZMFM1bQJ'7s8VWL<<NGZf>,2ursg"O*2(+!f>,2^j&H4%ZM=G"GQ%^Fh>R?V^
+_R%URJHjcnZj>_LAUuSlG,1k<S.'H%IkkM"ASFds7+o*$mOa-rrhVA+p?s&rre`6(5DASrr]P0"
+IAucrWE4$p](6r!Z[lnrVm&]?N^Kfj7rW_bT[Gus8VWhs.BK1RJ?dbTG@YGQM^[cbW-Y!L?eU7"
+4n_"6N-obnP/rboDa=~>
+q#:?arr3+F";W!5rVm&,";V+[*:<q0*<$'B$l0i^$j7b@"9^1Orss;V"LA'ts"ac\$pls7<B:$]%
+lm?E3E9'd.0Kc&AnGCWB)Z-S<G!Zg*-^]Jnc/XF*!@$h?XIDW?XIDW?iC02(1q/c?iFXB('Fa[?
+Y3YPrFQ4?G8:qsnbrIlZ5*QG6=sU(B)c6<Ad:=!"?C($AmbOL"AK"%(/=d?s'Gn@?XIDWrWE4Ur
+Vls[":PG4B)c6<B)c6<B)VoMAm].^?XIDW*!?COAm].W?Y3nWAka$D"T;p7<=B";q>UTR$l2S-p
+\tB?"9_`pqYpZ'*!A:es8N3&%.X)lrriB%!:fpc!]'r^rr2ugqYpR_"SVis63IGVrrZU2%)D`>"
+Mb-C?fUn\"0r%4ZMFM1bQJ'7s8VWL<<NGZf>,2ursg"O*2(+!f>,2^j&H4%ZM=G"GQ%^Fh>R?V^
+_R%URJHjcnZj>_LAUuSlG,1k<S.'H%IkkM"ASFds7+o*$mOa-rrhVA+p?s&rre`6(5DASrr]P0"
+IAucrWE4$p](6r!Z[lnrVm&]?N^Kfj7rW_bT[Gus8VWhs.BK1RJ?dbTG@YGQM^[cbW-Y!L?eU7"
+4n_"6N-obnP/rboDa=~>
+q#:?arr3+F";W!5rVm&,";V+[*:<q0*<$'B$l0i^$j7b@"9^1Orss;V"LA'ts"ac\$pls7<B:$]%
+lm?E3E9'd.0Kc&AnGCWB)Z-S<G!Zg*-^]Jnc/XF*!@$h?XIDW?XIDW?iC02(1q/c?iFXB('Fa[?
+Y3YPrFQ4?G8:qsnbrIlZ5*QG6=sU(B)c6<Ad:=!"?C($AmbOL"AK"%(/=d?s'Gn@?XIDWrWE4Ur
+Vls[":PG4B)c6<B)c6<B)VoMAm].^?XIDW*!?COAm].W?Y3nWAka$D"T;p7<=B";q>UTR$l2S-p
+\tB?"9_`pqYpZ'*!A:es8N3&%.X)lrriB%!:fpc!]'r^rr2ugqYpR_"SVis63IGVrrZU2%)D`>"
+Mb-C?fUn\"0r%4ZMFM1bQJ'7s8VWL<<NGZf>,2ursg"O*2LC%f>,2^j&H4%ZM=G"GQ%^Fh>R?V^
+_R%URJHjcnZj>_LAUuSlG,1k<S.'H%IkkM"ASFds7+o*$mOa-rrhVA+p?s&rre`6(5DASrr]P0"
+IAucrWE4$p](6r!Z\#rrVm&]?N^Kfj7rW_bT[Gus8VWhs.fc5RJ?dbU_X(KQM^[cbW-Y!L?eU7"
+4n_"6N-obnP/rboDa=~>
+q#:?arr3+U$j7@%rVlr)";^q=!#FPs!%IjG#Bp:RZN'4i1Yr67RJd'c^a\(B$4I%?,3/^gnc,mD
+fE;G0naZYZ9`u6Z"==Nm((:ro"F!08":RV/9ahFG$l06[Q<sat*+*;i?WD<9L,/r86L+UM"9@ud
+rr``5s8VWcrrOVP"TJE$nc&Rgnc/Ui3<]'U!^["mlMhE>";ZaJbeW8ph9:T^";[ZjqqVLmf>*+V
+$td`[h$A`D"=Z,H*%;<q"9Bqeo`Y76rsSoW*<$'@*;U'F(,Hs0":)aBnc/Wp+p@ZLruqFOrWN6@
+rtYYU+q4DQ#n/73+rhdH+u:GB"9;g-rtFZl"9]\n"<n6i(*"M<$j6\A('OUF!X'8YrWE9O1F`,.
+rr`abs8VBanJhZ7$op*`q[<H?r<*9D.2EmP*;p!@*!H-I"WTib"9]M<rrett"<nWZ$j-VJ.2Mmc
+"q2[k((:roqZQj5ru;1d1E6N#:&Y(ml:q3[oDa=~>
+q#:?arr3+U$j7@%rVlr)";^q=!#FPs!%IjG#Bp:RZN'4i1Yr67RJd'c^a\(B$4I%?,3/^gnc,mD
+fE;G0naZYZ9`u6Z"==Nm((:ro"F!08":RV/9ahFG$l06[Q<sat*+*;i?WD<9L,/r86L+UM"9@ud
+rr``5s8VWcrrOVP"TJE$nc&Rgnc/Ui3<]'U!^["mlMhE>";ZaJbeW8ph9:T^";[ZjqqVLmf>*+V
+$td`[h$A`D"=Z,H*%;<q"9Bqeo`Y76rsSoW*<$'@*;U'F(,Hs0":)aBnc/Wp+p@ZLruqFOrWN6@
+rtYYU+q4DQ#n/73+rhdH+u:GB"9;g-rtFZl"9]\n"<n6i(*"M<$j6\A('OUF!X'8YrWE9O1F`,.
+rr`abs8VBanJhZ7$op*`q[<H?r<*9D.2EmP*;p!@*!H-I"WTib"9]M<rrett"<nWZ$j-VJ.2Mmc
+"q2[k((:roqZQj5ru;1d1E6N#:&Y(ml:q3[oDa=~>
+q#:?arr3+U$j7@%rVlr)";^q=!#FPs!%IjG#Bp:RZN'4i1Yr67RJd'c^a\(B$4I%?,3/^gnc,mD
+fE;G0naZYZ9`u6Z"==Nm((:ro"F!08":RV/9ahFG$l06[Q<sat*+*;i?WD<9L,/r86L+UM"9@ud
+rr``5s8VWcrrOVP"TJE$nc&Rgnc/Ui3<]'U!^["mlMhE>";ZaJbeW8ph9:T^";[fnqqVLmf>*+V
+$td`[h$A`D"=Z,H*%;<q"9Bqeo`Y76rsSoW*<$'@*;U'F(,Hs0":)aBnc/Wp+p@ZLruqFOrWN6@
+rtYYU+q4DQ#n/73+rhdH+u:GB"9;g-rtFZl"9]\n"<n6i(*"M<$j6\A('OUF!X'8YrWE9O1F`,.
+rr`abs8VBanJhZ7$op*`q[<H?r<*9D.2EmP*;p!@*!H-I"WTib"9]M<rrf,#"<nWZ$j-VJ.2Mmc
+"q2[k((:roqZQj5ru;1d1E6N#:&Y(ml:q3[oDa=~>
+q#:?arr3+U$j7R?rVm,<"9]-?RBjX)Z2g<hL')XMGC][:$%R5SR>-H.*!@_grtoq_"LA'ms$?hk
+1OtdGL4FJlJ9QNfJ9QP@G79"GJ9QNfJ:NAK$k/I"rrfVf"=\m!G6WSAJ9QNfJGFBnJ9QNfJ9QPC
+G6!BsJ--c".Gat&%'h;b$r)JBJ:MioGC]R7#(UoJGCXmfq0*-qGCXmfAcr5s_#=95?iC0.<VgnF
+J9QNfJ9QNfJGXNpJ9QNfJ9QP@G6*5<rdY')?QAbB":PDW":Y#-!Xo2?o`P7]lMphd!:fg`":PG5
+s7,sc!]'r^rr2ugqYpR_"SVis63IGVrr@9B":>P?":P\A";V+K%/'f(%/'f.$j6\A"9].f"9B8H
+rWE5]rVlo((>8lu(/=i/nc/,R$j7@$"9=bcrr<K,"98kd"9958rrKD@h?3ferWEF4s7--hnQ#Pk
+!"AK!J,~>
+q#:?arr3+U$j7R?rVm,<"9]-?RBjX)Z2g<hL')XMGC][:$%R5SR>-H.*!@_grtoq_"LA'ms$?hk
+1OtdGL4FJlJ9QNfJ9QP@G79"GJ9QNfJ:NAK$k/I"rrfVf"=\m!G6WSAJ9QNfJGFBnJ9QNfJ9QPC
+G6!BsJ--c".Gat&%'h;b$r)JBJ:MioGC]R7#(UoJGCXmfq0*-qGCXmfAcr5s_#=95?iC0.<VgnF
+J9QNfJ9QNfJGXNpJ9QNfJ9QP@G6*5<rdY')?QAbB":PDW":Y#-!Xo2?o`P7]lMphd!:fg`":PG5
+s7,sc!]'r^rr2ugqYpR_"SVis63IGVrr@9B":>P?":P\A";V+K%/'f(%/'f.$j6\A"9].f"9B8H
+rWE5]rVlo((>8lu(/=i/nc/,R$j7@$"9=bcrr<K,"98kd"9958rrKD@h?3ferWEF4s7--hnQ#Pk
+!"AK!J,~>
+q#:?arr3+U$j7R?rVm,<"9]-?RBjX)Z2g<hL')XMGC][:$%R5SR>-H.*!@_grtoq_"LA'ms$?hk
+1OtdGL4FJlJ9QNfJ9QP@G79"GJ9QNfJ:NAK$k/I"rrfVf"=\m!G6WSAJ9QNfJGFBnJ9QNfJ9QPC
+G6!BsJ--c".Gat&%'h;b$r)JBJ:MioGC]R7#(UoJGCXmfq0*-qGCXmfAcr5s_#=95?iC0.<VgnF
+J9QNfJ9QNfJGXNpJ9QNfJ9QP@G6*5<rdY')?QAbB":PDW":Y#-!Xo2?o`P7]lMphd!:fg`":PG5
+s7,sc!]'r^rr2ugqYpR_"SVis63IGVrr@9B":>P?":P\A";V+K%/'f(%/'f.$j6\A"9].f"9B8H
+rWE5]rVlo((>8lu(/=i/nc/,R$j7@$"9=bcrr<K,"98kd"9958rrKD@h?3ferWEF4s7--hnQ#Pk
+!"AK!J,~>
+q#:?arr3F^$j6\n3?gdM3<TI#RH"5KnP'-8r;R.K"9c%1lMkH!"D6]UrsY;("APPDG@l%c"9_'K
+rsnQn('K0Dj5%"@$j7cBn_jEVf-227_!9P-^bZ)r.HB(\!qD!\rWEZM((:Te(+C4+":R(1*;^K\
+$o9[B";X!H('GBU()HlP!'0?ErWE5kp](6rs8N)hqYpUQ"9e`(!:fpc!C?q_rrPLi"R?!eB)Vo5%
+/^52$mGfW%/9r/*#8qc";^e9%OhM`B#*$6^s(ipf?Djuqof&UqpuJ)fA5'1h;-\uf?Djjf?Djj^
+fC@:'u8Yqs8TAE"9`r)f?Djjf?E'p^qeS$h>c+,bQ,HUbQ-8oh>c(1h6K`j$t&r4#Yb^OZJDh<b
+h`9BrR_%m!5SKU!8%5+s47S$f?Djjh1c%PRJd'e$j6]-rkSQc#L(fDf?DIjh>Z%*h$M]Wbh(J&f
+?Djjrn%1c!/CIgr;R.t$j:1dbh((jbh()<fDj%tfA5'&fD`u*fA5'&beVHSbh^(dlC]R/<W)js?
+i:-!s*t~>
+q#:?arr3F^$j6\n3?gdM3<TI#RH"5KnP'-8r;R.K"9c%1lMkH!"D6]UrsY;("APPDG@l%c"9_'K
+rsnQn('K0Dj5%"@$j7cBn_jEVf-227_!9P-^bZ)r.HB(\!qD!\rWEZM((:Te(+C4+":R(1*;^K\
+$o9[B";X!H('GBU()HlP!'0?ErWE5kp](6rs8N)hqYpUQ"9e`(!:fpc!C?q_rrPLi"R?!eB)Vo5%
+/^52$mGfW%/9r/*#8qc";^e9%OhM`B#*$6^s(ipf?Djuqof&UqpuJ)fA5'1h;-\uf?Djjf?Djj^
+fC@:'u8Yqs8TAE"9`r)f?Djjf?E'p^qeS$h>c+,bQ,HUbQ-8oh>c(1h6K`j$t&r4#Yb^OZJDh<b
+h`9BrR_%m!5SKU!8%5+s47S$f?Djjh1c%PRJd'e$j6]-rkSQc#L(fDf?DIjh>Z%*h$M]Wbh(J&f
+?Djjrn%1c!/CIgr;R.t$j:1dbh((jbh()<fDj%tfA5'&fD`u*fA5'&beVHSbh^(dlC]R/<W)js?
+i:-!s*t~>
+q#:?arr3F^$j6\n3?gdM3<TI#RH"5KnP'-8r;R.K"9c%1lMkH!"D6]UrsY;("AP\HG@l%c"9_'K
+rsnQn('K0Dj5%"@$j7cBn_jEVf-227_!9P-^bZ)r.HB(\!qD!\rWEZM((:Te(+C4+":R(1*;^K\
+$o9[B";X!H('GBU()HlP!'0?ErWE5kp](6rs8N)hqYpUQ"9e`(!:fpc!C?q_rrPLi"R?!eB)Vo5%
+/^52$mGfW%/9r/*#8qc";^e9%OhM`B#*$6^s(ipf?Djuqof&UqpuJ)fA5'1h;-\uf?Djjf?Djj^
+fC@:'u8Yqs8TAE"9`r)f?Djjf?E'p^qeS$h>c+,bQ,HUbQ-8oh>c(1h6K`j$t&r4#Yb^OZJDh<b
+h`9BrR_%m!5SKU!8%5+s47S$f?Djjh1c%PRJd'e$j6]-rkSQc#L(fDf?DIjh>Z%*h$M]Wbh(J&f
+?Djjrn%1c!/CIgr;R/#$j:1dbh((jbh()<fDj%tfA5'&fD`u*fA5'&beVHSbh^(dlD,j3<W)js?
+i:-!s*t~>
+q#:?arr3+U$k*7Iqud-2";Za^l2UeR#QO>as47Y^.K'2UG6A&Ss6BW7"9`)ss6B.<rrAJd"99G<
+"9:dLs8VTls7--S.K0JM(B4gB"9]pAs8VBDrrC[M"TK5=$l0WX"9:I8rs.ihs0<UI<Uoqc"O%Vs
+?h*pk#4]JK$ruTXqu6cMActHcs8E-$nb<%d$j?V1nbW7e.0KeQrrDTgrrDTgrrGFhpAY1\"9e#i
+"(hZrZMOS(^`4+=h=ppOTH#DRq>UZ)('L'*s7+hC!-eDF"Z$Q91K?71"9=bGrse7*"9]KjL5'nP
+('G'%hu=+j"<;$ATV/U+$j6]-hu=,@.1??bZBi_-Acr7Bir9S[s8U:e">d?VR@p3/$j6\AoDa=~>
+q#:?arr3+U$k*7Iqud-2";Za^l2UeR#QO>as47Y^.K'2UG6A&Ss6BW7"9`)ss6B.<rrAJd"99G<
+"9:dLs8VTls7--S.K0JM(B4gB"9]pAs8VBDrrC[M"TK5=$l0WX"9:I8rs.ihs0<UI<Uoqc"O%Vs
+?h*pk#4]JK$ruTXqu6cMActHcs8E-$nb<%d$j?V1nbW7e.0KeQrrDTgrrDTgrrGFhpAY1\"9e#i
+"(hZrZMOS(^`4+=h=ppOTH#DRq>UZ)('L'*s7+hC!-eDF"Z$Q91K?71"9=bGrse7*"9]KjL5'nP
+('G'%hu=+j"<;$ATV/U+$j6]-hu=,@.1??bZBi_-Acr7Bir9S[s8U:e">d?VR@p3/$j6\AoDa=~>
+q#:?arr3+U$k*7Iqud-2";Za^l2UeR#QO>as47Y^.K'2UG6A&Ss6BW7"9`)ss6B.<rrAJd"99G<
+"9:dLs8VTls7--S.K0JM(B4gB"9]pEs8VBDrrC[M"TK5=$l0WX"9:I8rs.ihs0<UI<Uoqc"O%Vs
+?h*pk#4]JK$ruTXqu6cMActHcs8E-$nb<%d$j?V1nbW7e.0KeQrrDTgrrDTgrrGFhpAY1\"9e#i
+"(hZrZMOS(^`4+=h=ppOU`:hZq>UZ)('L'*s7+hC!-eDF"Z$Q91K?71"9=bGrse7*"9]KjL5'nP
+('G'%hu=+j"<;$AUnk<3$j6]-hu=,@.1??bZBi_1Acr7Bir9S[s8U:e">d?ZRA?W7$j6\AoDa=~>
+q#:?arr34X";W2S^p:cRZ2i_Bs8VTls7$L#.K'2TG6A&Ss6BW="9_`ps7,@Rs7$)WpB1L*?f(e_
+1\V"T1Vj%jn`'QKfCf=I*81>snc/Wp*!B!fqYp]M"9_']p\tBJ*!B:3rVm)ls8S`#"@DDRrWE5k
+p\t@)"TSMlqYpUQ"9e`(!:fpc!C?q_rrPLi"R?!tAcrmTs8V-Zj8].P"9^O4p\t>`"9b%drs,h4
+"GZsVnaZPW!:fmbs7--h!:fsdrpfa_!+u35!$_CFrs\l0!/C@M!qH<jrpfmc!p]gcrpfmc"7cE8
+:&Y7q%/U/4%'op's7--hrUK.P"J>l#*";fL#8RFN"=aBNlM1AZna-8a^`ima+p8#W";V+CT^r*_
+nbrIflMgh`nbiFel2q"$*;]j=%/g;/%.jLL~>
+q#:?arr34X";W2S^p:cRZ2i_Bs8VTls7$L#.K'2TG6A&Ss6BW="9_`ps7,@Rs7$)WpB1L*?f(e_
+1\V"T1Vj%jn`'QKfCf=I*81>snc/Wp*!B!fqYp]M"9_']p\tBJ*!B:3rVm)ls8S`#"@DDRrWE5k
+p\t@)"TSMlqYpUQ"9e`(!:fpc!C?q_rrPLi"R?!tAcrmTs8V-Zj8].P"9^O4p\t>`"9b%drs,h4
+"GZsVnaZPW!:fmbs7--h!:fsdrpfa_!+u35!$_CFrs\l0!/C@M!qH<jrpfmc!p]gcrpfmc"7cE8
+:&Y7q%/U/4%'op's7--hrUK.P"J>l#*";fL#8RFN"=aBNlM1AZna-8a^`ima+p8#W";V+CT^r*_
+nbrIflMgh`nbiFel2q"$*;]j=%/g;/%.jLL~>
+q#:?arr34X";W2W^p:cRZ2i_Bs8VTls7$L#.K'2TG6A&Ss6BW="9_`ps7,@Rs7$)WpB1L*?f(e_
+1\V"T1Vj%jn`'QKfCf=I*81>snc/Wp*!B!fqYp]M"9_']p\tBJ*!B:3rVm)ls8Sl'"@DDRrWE5k
+p\t@)"TSMlqYpUQ"9e`(!:fpc!C?q_rrPLi"R?!tAcrmTs8V-Zj8].T"9^O4p\t>`"9b%drs,h4
+"GZsVnaZPW!:fmbs7--h!:fsdrpfa_!+u35!$_CFrs\l0!/C@M!qH<jrpfmc!p]gcrpfmc"7cE8
+:&Y7q%/U/4%'op's7--hrUK.P"Jc/'*";fL#8RFN"=aBNlM1AZna-8a^`ima+p8#W";V+CV"4Nc
+nbrIflMgh`nbiFel2q"$*;]j=%/g;/%.jLL~>
+q#:?arr3+e('GWIh#@TKs8V?m"@E%d"*XkVZMsk,Z31;;nU^_frsJQ$s1f3L6GW-kq#(-n&HkGo
+rt!og"BGL%q#CBas8V*f"?GcIrWE5kp](6rs8N)hqYpUG"9e`(!:fpc!C?q_rrPLi"R?!hAcr7P
+qYp\k"9]LUp\tA^"9a8FqYpZ'"9aJ3rr_Q%L/%Xr#<=Rh1H@cgZJkfcn^j(,r\OR's"ad,9n9P7
+i;Wtd+u:Ys1]8a*1I?VtlJqmTn^j1@1En8(.5Nb(.92,YiVs;AZ?J;X.5O:>.5MtC"9@uas*t~>
+q#:?arr3+e('GWIh#@TKs8V?m"@E%d"*XkVZMsk,Z31;;nU^_frsJQ$s1f3L6GW-kq#(-n&HkGo
+rt!og"BGL%q#CBas8V*f"?GcIrWE5kp](6rs8N)hqYpUG"9e`(!:fpc!C?q_rrPLi"R?!hAcr7P
+qYp\k"9]LUp\tA^"9a8FqYpZ'"9aJ3rr_Q%L/%Xr#<=Rh1H@cgZJkfcn^j(,r\OR's"ad,9n9P7
+i;Wtd+u:Ys1]8a*1I?VtlJqmTn^j1@1En8(.5Nb(.92,YiVs;AZ?J;X.5O:>.5MtC"9@uas*t~>
+q#:?arr3+e('GWIh#@TKs8V?m"@E%d"*XkVZMsk,Z31;;nU^_frsJQ$s1f3L6GW-kq#(-n&HkGo
+rt!og"BGL%q#CBas8V*f"?GcIrWE5kp](6rs8N)hqYpUG"9e`(!:fpc!C?q_rrPLi"R?!hAcr7P
+qYp\o"9]LUp\tA^"9a8FqYpZ'"9aJ3rr_Q%L/%Xr#<=Rh1H@cgZJkfcn^j(,r\OR's"ad,9n9P7
+i;Wtd+u:Ys1]8a*1I?VtlJqmTn^j1@1En8(.5Nb(.92,YiVs;AZ?J;X.5O:>.5MtC"9@uas*t~>
+q#:?arr37Y$j7!ps7--Zj8TJVs8VBSs6:R,3U6SC%Y+ZbRK*<PG6A%\j8\Z>M>mVOnbi1WrrDTf
+rrDTKrt=l%s0<CC:#5jLnc/Xas69^i6MCE]f)u4Vr;Quks8U[Z"@DDRrWE5kp\t@)"TSMlqYpUG
+"9e`(!:g'g!:g'g!C?q_rrPLi"R?!tAcr7Ps8VWhnc/W^"9^0tqYpcbs8SJi"I])c#/C?ELB%;D
+h#IEEf)Ga?oD\j]lHoS2n`9`Mn^[[>nb<%anRhb'oDa=~>
+q#:?arr37Y$j7!ps7--Zj8TJVs8VBSs6:R,3U6SC%Y+ZbRK*<PG6A%\j8\Z>M>mVOnbi1XrrN#e
+rVHfhqtpEjs82$['(Q#%Z5*R;h>dNFs8Vlol3%5VpAY6H"9_a&rs&#ns47Y^6L+UM"9@udrr``5
+s8VWcrrOVP"TJE$nc&Ognc&Oh63R#^!^["mlMhB,"9cO?s7--Zs8S_p"=_Rkrs%cgs-WumRJHje
+^]Xdps8VWEs8VW?rrDT\rrMZTd/X.9jT#8Mec5[>p\t9aB)Vr)s*t~>
+q#:?arr37Y$j7!ps7--Zj8TJVs8VBSs6:R,3U6SC%Y+ZbRK*<PG6A%\j8\Z>M>mVOnbi1XrrMWZ
+rU:$]nF6JIs7#7P'(Q#%Z5*R;h>dNFs8Vlol3%5VpAY6H"9_a&rs&#ns47Y^6L+UM"9@udrr``5
+s8VWcrrOVP"TJE$nc&Ognc&Oh63R#^!^["mlMhB,"9cO?s7--Zs8Skt"=_Rkrs%cgs-WumRJHje
+^]Xdps8VWEs8VW?rrDT\rrMZTd/X.9jT#8Mec5[>p\t9aB)Vr)s*t~>
+q#:?arr3+O":QL7g&D32.0M[$rVltM";\<BrrfV1"D6qMs3CWHZ7,oVq>UQ^('mY.rr^IR"BG9t
+"3__f6L+UM"9@udrr``5s8VWcrrOtZ"TJE$nbW7d3<]'U!^["mlMgru"9cO=rs7ois.BJt6HoK,
+nH\@Zs-<cjJEm%%"TQ7?"F#FsOoGUT3<TI#j7NA%~>
+q#:?arr3+O":QL7g&D32.0M[$rVltM";\<BrrfV1"D6qMs3CWHZ7,oVq>UQ^('mY.rr^IR"BG9t
+"3__f6L+UM"9@udrr``5s8VWcrrOtZ"TJE$nbW7d3<]'U!^["mlMgru"9cO=rs7ois.BJt6HoK,
+nH\@Zs-<cjJEm%%"TQ7?"F#FsOoGUT3<TI#j7NA%~>
+q#:?arr3+O":QL7g&D32.0M[$rVltM";\<BrrfV1"D6qMs3CWHZ7,oVq>UQ^('mY.rr^IR"BG9t
+"3__f6L+UM"9@udrr``5s8VWcrrOtZ"TJE$nbW7d3<]'U!^["mlMgru"9cO=rs7ois.fc#6HoK,
+nH\@Zs-<cjJEm%%"TQ7?"F#FsOoGUT3<TI#j7NA%~>
+q#:?arr3:T";VE#TSB+oQM6dTQC4/,QC4/,QC4/,rg>'uR@0A/QBmr)TS>62*2'UC^p6rC"BD+f
+Z8i$j1PVQgR@ot9QN!9[QC4/,QC4/,QC4/,rg="WR@0A,R@0B?R/iQPR0T%GR?j/,R?mi?!1*VP
+#F:dGQBmr,QN!9[QC4/,QC4/,QC4/,rg="WR@0A,R@0B?R/iQPR0T%GR?j/,R?mi?!1*VP"I>ID
+QC799!1EhZ!L]VUR0B7OTUDIGpR)#IrL*MT$,E4>Z?I8k3L6*2TEa5<('m74bPApbj+\-O6D2rS
+TX*D0b_?6'3U6YD"9@uds8N6%rrDTcrrOVP"TJE$nbW7d63R#^!^["mlMgru(*^Qkrrqqc"9]LU
+q#:NfQ50Tij8/c[TEGBHGCYGEQN!<PQN*BCQN!9RQC40>QN)[BQC4D6RJW<MR/iQPR/iQPR0T%G
+R?j/,R?mi?'pb8UQBmr,QBmr3TX(5YR?j8,R@0B?RK&TPR0T%GR?j/,R?mi?!1*VP#F:dGQBmr,
+QN!9RQC40>Q3WhDR?j86R?mf+".#@CQN!9PQN!9WQC4/,QC4/,rg<bPrg<kSR@0B=RJqpCTU(=u
+qj@GMrg="WR@0A,R@0B?R/iQPR2VBZR?j/,R?iS^QC4D=R@0A/R>.B&1B[h)_"@YW~>
+q#:?arr3:T";VE#TSB+oQM6dTQC4/,QC4/,QC4/,rg>'uR@0A/QBmr)TS>62*2'UC^p6rC"BD+f
+Z8i$j1PVQgR@ot9QN!9[QC4/,QC4/,QC4/,rg="WR@0A,R@0B?R/iQPR0T%GR?j/,R?mi?!1*VP
+#F:dGQBmr,QN!9[QC4/,QC4/,QC4/,rg="WR@0A,R@0B?R/iQPR0T%GR?j/,R?mi?!1*VP"I>ID
+QC799!1EhZ!L]VUR0B7OTUDIGpR)#IrL*MT$,E4>Z?I8k3L6*2TEa5<('m74bPApbj+\-O6D2rS
+TX*D0b_?6'3U6YD"9@uds8N6%rrDTcrrOVP"TJE$nbW7d63R#^!^["mlMgru(*^Qkrrqqc"9]LU
+q#:NfQ50Tij8/c[TEGBHGCYGEQN!<PQN*BCQN!9RQC40>QN)[BQC4D6RJW<MR/iQPR/iQPR0T%G
+R?j/,R?mi?'pb8UQBmr,QBmr3TX(5YR?j8,R@0B?RK&TPR0T%GR?j/,R?mi?!1*VP#F:dGQBmr,
+QN!9RQC40>Q3WhDR?j86R?mf+".#@CQN!9PQN!9WQC4/,QC4/,rg<bPrg<kSR@0B=RJqpCTU(=u
+qj@GMrg="WR@0A,R@0B?R/iQPR2VBZR?j/,R?iS^QC4D=R@0A/R>.B&1B[h)_"@YW~>
+q#:?arr3:T";VE#UkY\"QM6dTQC4/,QC4/,QC4/,rg>'uR@0A/QBmr)UkUZ6*2KmG^p6rC"BD7n
+Z8i$j1PV]kRA?7=QN!9[QC4/,QC4/,QC4/,rg="WR@0A,R@0B?R/iQPR0T%GR?j/,R?mi?!1*VP
+#F:dGQBmr,QN!9[QC4/,QC4/,QC4/,rg="WR@0A,R@0B?R/iQPR0T%GR?j/,R?mi?!1*VP"I>ID
+QC79=!1Eh^!L]bYbQXfdUs,X1pR)#IrL*MX$,E@BZ?I8k3L6*2U^#Y@('m74bPApbj+\-O6DW5W
+UpAh4b_?6'3U6YD"9@uds8N6%rrDTcrrOVP"TJE$nbW7d63R#^!^["mlMgru(*^Qkrrqqg"9]LU
+q#:NfQ50Tij8/c[U]^fLGCYGEQN!<PQN*BCQN!9RQC40>QN)[BQC4P:RJW<MR/iQPR/iQPR0T%G
+R?j/,R?mi?'pb8UQBmr,QBmr7Up?eaR?j8,R@0B?RK&TPR0T%GR?j/,R?mi?!1*VP#F:dGQBmr,
+QN!9RQC40>Q3WhDR?j8:R?mf+".#@CQN!9PQN!9WQC4/,QC4/,rg<bPrg<kSR@0B=RJqpCUm?b$
+qj@GMrg="WR@0A,R@0B?R/iQPR2VBZR?j/,R?iS^QC4PER@0A/R>.N*1B[h)_"@YW~>
+q#:?arr3+U$j6\KeH>mm%/9r*(4cVg"9\u5":,;0"98`(!;[*(#jVWn#QY>Gp&kCF#lXr.(*XOj
+#QZ^erWEHA3@P4L1FX+="9:IIs8E-$nb<%d$j?V1nbW7e.0KeQrrDTcrrGFhpAY1\"9e#i!bMQ<
+ra5Y:s'Hd@"9]-"9heVf6;:HlAlUho":RUk9iY1[9j_61%"SP?"9f3gs6BXSq#>j~>
+q#:?arr3+U$j6\KeH>mm%/9r*(4cVg"9\u5":,;0"98`(!;[*(#jVWn#QY>Gp&kCF#lXr.(*XOj
+#QZ^erWEHA3@P4L1FX+="9:IIs8E-$nb<%d$j?V1nbW7e.0KeQrrDTcrrGFhpAY1\"9e#i!bMQ<
+ra5Y:s'Hd@"9]-"9heVf6;:HlAlUho":RUk9iY1[9j_61%"SP?"9f3gs6BXSq#>j~>
+q#:?arr3+U$j6\KeH>mm%/9r*(4cVg"9\u5":,;0"98`(1\qL[#jVWn#QY>Gp&kCF#lXr.(*XOj
+#QZ^erWEHA3@P4L1FX+="9:IIs8E-$nb<%d$j?V1nbW7e.0KeQrrDTcrrGFhpAY1\"9e#i!bMQ<
+ra5Y:s'Hd@"9]-"9heVf6;:HlAlUho":RUk9iY1[9j_61%"SP?"9f3gs6BXSq#>j~>
+q#:?arr3P&*#8Za3B9Dd69.@m3C5_mkW&W0rAbWn3DDLo6:+C@3DDLiAi!.A3C5_d9gXaunNu4q
+s$?]Gr^$iM69.@m69.C03<qkj+u;#81HGFjr@&=&*%<m71En7l*#9_6(*Xq_GO#21$j6^up\t@)
+"TSMlqYpUQ"9eGu!DN^nrrDTgrrP1`"R?!hAcr5Fh#mir*%<[<g,T7%9gV2F3Vu/'3=%Di+sJHr
+69.(*1]Aj&+p08M.4P6.rX8f5&c;q7&cW.9"TJc'"TAZ/":,,9TEGK>"9_Hhh>d$?s*t~>
+q#:?arr3P&*#8Za3B9Dd69.@m3C5_mkW&W0rAbWn3DDLo6:+C@3DDLiAi!.A3C5_d9gXaunNu4q
+s$?]Gr^$iM69.@m69.C03<qkj+u;#81HGFjr@&=&*%<m71En7l*#9_6(*Xq_GO#21$j6^up\t@)
+"TSMlqYpUQ"9eGu!DN^nrrDTgrrP1`"R?!hAcr5Fh#mir*%<[<g,T7%9gV2F3Vu/'3=%Di+sJHr
+69.(*1]Aj&+p08M.4P6.rX8f5&c;q7&cW.9"TJc'"TAZ/":,,9TEGK>"9_Hhh>d$?s*t~>
+q#:?arr3P**#8Za3B9Dd69.@m3C5_mkW&W0rAbWn3DDLo6:+C@3DDLiAi!.A3C5_d9gXaunNu4q
+s$?]Gr^$iM69.@m69.C03<qkj+u;#81HGFjr@&=&*%<m71En7l*#9_6(*Xq_GO#21$j6^up\t@)
+"TSMlqYpUQ"9eGu!DN^nrrDTgrrP1`"R?!hAcr5Fh#mir*%<[<g,T7%9gV2F3Vu/'3=%Di+sJHr
+69.(*1]Aj&+p08M.4P6.rX8f5&c;q7&cW.9"TJc'"TAZ/":,,9TEGK>"9_Hhh>d$?s*t~>
+o`#$R1B[i3s,R*ZnbN4an+cqWmg&%9f>,2Rh;d`!!t5;8j88lVnHPYl$j>2InbW7f1B[jNqu6uf
+naW8$"S)$Bnc&Rgnc/Uj3<TKMrr^'&R?ld!rg!VY^uMHps6ogap@%k%s2tYkZHU,"bJ:F^bQ,i^
+ZMC-pZCnN%TW+=^QG<V+1\C]t~>
+o`#$R1B[i3s,R*ZnbN(]f)>XKqu6Wied(Buf>,2Rh;d`!!t5;8j88lVnHPYl$j>2InbW7f1B[jN
+qu6ufnaW8$"S)$Bnc&Rgnc/Uj3<TKMrr^'&R?ld!rg!VY^uMQs#5eH#f%0m$rql`qp=B2drgEf0
+#FVlc^qe./ZMg0kbPAI>TE;ElZMgGqR08hk"9^OQs*t~>
+o`#$R1B[i3s,R*ZnbM\R`r4-]nG^Z+`Wt)Tf>,2Rh;d`!!t5;8j88lVnHPep$j>2InbW7f1B[jN
+qu6ufnaWD("S)$Bnc&Rgnc/Uj3<TKMrr^'&R?ld!rg!V]^uMQs#4Tj\`l?6Hrp]s3p;Zrss2tY8
+ZC/MDbJ:F^R/kG+ZMC9tZD=f)UoBabQG<V+1\C]t~>
+o`#$L1B[j[rrDSerrDS?s/l>#"9@`drt"D1G<$WG3<TI#"<oXGZJGN[""=W]lM^_lj+'HF.1?=^
+1FY+[QJMK="&/n$nU^^ks3CWH*!@JUp&BO~>
+o`#$L1B[j[rrDSerrDS?s/l>#"9@`drt"D1G<$WG3<TI#"<oXGZJGN[""=W]lM^_lj+'HF.1?=^
+1FY+[QJMK="&/n$nU^`4rrDqIs4mVV*!@JUp&BO~>
+o`#$L1B[j[rrDSerrDS?s/l>#"9@`drt"D1G<$WG3<TI#"<oXGZJGN[""=W]lM^_lj+'HF.1?=^
+1FY+[QJMK="&/n$nU^`4rrDP>s4mVV*!@JUp&BO~>
+o`#9S1B[jNs8VWhs7([?K`D)Iqu6Zkrr3)qs8VWfrrDTPs8N3+%0-@mZ;h\:"TB2:":#]B_#OE`
+"9e`(!oqL:qZHm-qud'f_!:q!!^["ml2TH,WrE(orVuik!WVrnrrDinrrDihrrDikrrMobp\t6g
+rr<#n"98/rq"ashnHAm^s7-,mnH8e"";^Y0J,~>
+o`#9S1B[jNs8VWhs7([?K`D)Iqu6Zkrr3)qs8VWfrrDTPs8N3+%0-@mZ;h\:"TB2:":#]B_#OE`
+"9e`(!oqL:qZHm-qud'f_!:q!!^["ml2TH,WrE(orVuik!WVrnrrDinrrDihrrDikrrMobp\t6g
+rr<#n"98/rq"ashnHAm^s7-,mnH8e"";^Y0J,~>
+o`#9S1B[jNs8VWhs7([?K`D)Iqu6Zkrr3)qs8VWfrrDTPs8N3+%0-@mZ;h\:"TB2:":#]B_#OE`
+"9e`(!oqL:qZHm-qud'f_!:q!!^["ml2TH,WrE(orVuik!WVrnrrDinrrDihrrDikrrMobp\t6g
+rr<#n"98/rq"ashnHAm^s7-,mnH8e"";^Y0J,~>
+o`#$L.0KeQrrDTgs8V*\lLF0=nI+XPn`oE0n`oE0n`p,D$gR9PlK[p0lK[p0lM9uJl5T9YnaYo0
+naYo0naYo0naYo7n`oE0n`oE0n`p,D#3ta=n`o/pJcG!7!;QHk!;Ob;'*J^fs6;oj"9]KPZJE;?
+1U<Zc%/pAP6F-VI"9ec)^h,"u"=])2R5kDCTQ`0p";X_)j8VFK"G-UDrrDiKrrDinrrVuqs8D`m
+rrVuqpuhYWnZMlr$j7RMs7,CLs*t~>
+o`#$L.0KeQrrDTgs8V*\lLF0=nI+XPn`oE0n`oE0n`p,D$gR9PlK[p0lK[p0lM9uJl5T9YnaYo0
+naYo0naYo0naYo7n`oE0n`oE0n`p,D#3ta=n`o/pJcG!7!;QHk!;Ob;'*J^fs6;oj"9]KPZJE;?
+1U<Zc%/pAP6F-VI"9ec)^h,"u"=])2R5kDCTQ`0p";X_)j8VFK"G-UDrrDiKrrDinrrVuqs8D`m
+rrVuqpuhYWnZMlr$j7RMs7,CLs*t~>
+o`#$L.0KeQrrDTgs8V*\lLF0=nI+XPn`oE0n`oE0n`p,D$gR9PlK[p0lK[p0lM9uJl5T9YnaYo0
+naYo0naYo0naYo7n`oE0n`oE0n`p,D#3ta=n`o/pJcG!7!;QHk!;Ob;'*J^fs6;oj"9]KPZJE;?
+1U<fg%/pAP6F-VI"9ec)^h,"u"=])2R5kDGUj"Tt";X_-j8VFK"G-UDrrDiKrrDinrrVuqs8D`m
+rrVuqpuhYWnZMlr$j7RMs7,CLs*t~>
+o`#$L1B[j[rs/)ol@p8]$k0HFrsSu4$rt)os60L_q#CBnp]:Eici4:e$j<kj"9^/t_#=96*#AMQ
+'u4/Z"<>3D"9e7_+p8#mZJGQ\l?<C1rsJ&,G8:;aB(81j"N:<?nU^^urrs5A(@hG)nbE-7~>
+o`#$L1B[j[rs/)ol@p8]$k0HFrsSu4$rt)os60L_q#CBnp]CKjqtpBnqu6Tuqu?QnqqqD[((:>O
+L'.W.GJO1W!?;mRrtW=V"9]^[63IG]R3Db:,-p&)s6=e2rr3>j^ipOs"D70j"9c[C!:cKW#5eGt
+s82inJcGTH"r7=Wnc/XZq#>j~>
+o`#$L1B[j[rs/)ol@p8]$k0HFrsSu4$rt)os60L_q#CBnp]CKjnGE4cnG`FjnGi"XnDF6P((:>O
+L'.W.GJO1W!?;mRrtW=V"9]^[63IG]R3Db:,-p&)s6=e2rr3>j^ipOs"D70j"9c[C!:cKW#4VZ^
+s7$'XJcGTH"r7=Wnc/XZq#>j~>
+o`#<Z1B[jNs8VWhj+%oH"9KQTl@Ju<rs';B"<80[B$C/P'FY-Es7--hj*(n71E6N+<>G]dL=cD(
+!qAtfr;R&mb^^H;3?eS/JcC<$c2[eH!"AN"J,~>
+o`#<Z1B[jNs8VWhj+%oH"9KQTl@Ju<rs';B"<80[B$C/P'FY-Es7--hj*(n71E6N+<>G]dL=cD(
+!qAtfr;R&mb^^H;3?eS/JcC<$c2[eH!"AN"J,~>
+o`#<Z1B[jNs8VWhj+%oH"9KQTl@Ju<rs';B"<80[B$C/P'FY-Es7--hj*(n71E6N+<>G]dL=cD(
+!qAtfr;R&mb^^H;3?eS/JcC<$c2[eH!"AN"J,~>
+o`#$R3<TKarrDTfrrMETdJj74s8MQ[s8VWarrhlls6AWqs/Z/"*;p!A6D3lGrr``5s8VWgrrV52
+.K0GZ$j6\WL@P<DnaZYZ3<]3Y#30nC":PD9JcC<$c2[eH!#G5,J,~>
+o`#$R3<TKarrDTfrrMETdJj74s8MQ[s8VWarrhlls6AWqs/Z/"*;p!A6D3lGrr``5s8VWgrrV52
+.K0GZ$j6\WL@P<DnaZYZ3<]3Y#30nC":PD9JcC<$c2[eH!#G5,J,~>
+o`#$R3<TKarrDTfrrMETdJj74s8MQ[s8VWarrhlls6AWqs/Z/"*;p!A6DX/Krr``5s8VWgrrV52
+.K0GZ$j6\WL@P<DnaZYZ3<]3Y#30nC":PD9JcC<$c2[eH!#G5,J,~>
+o`#$R3<TKarrDT3rrDTds82?]s82?_rrDS?s/l;*('FaU9sWgUrt5_Cs8VWhnc/XSTK*,`"9]Kp
+nbW7d63R,a"kR?%"9]-as+13ps8N3%(A.WW~>
+o`#$R3<TKarrDT3rrDTds82?]s82?_rrDS?s/l;*('FaU9sWgUrt5_Cs8VWhnc/XSTK*,`"9]Kp
+nbW7d63R,a"kR?%"9]-as+13ps8N3%(A.WW~>
+o`#$R3<TKarrDT3rrDTds82?]s82?_rrDS?s/l;*('FaU9sWgUrt5_Cs8VWhnc/XSUcAPd"9]Kp
+nbW7d63R,a"kR?%"9]-as+13ps8N3%(A.WW~>
+o`#N`1B[jNs8VWhs4;uc*$QgU.K1Lr.3]rb.3]rbrZV=krZVRr+sJHb+sJK8+oj(k+pTP@+t4rb
++t<L8"%#_Ml@Jtorra)?"?E.Ms8N6%rrDTerrVJ?%/pA4?g@[knbiCf63R)`"Pm&\":Tk]JcF!p
+rr`<1o`'F~>
+o`#N`1B[jNs8VWhs4;uc*$QgU.K1Lr.3]rb.3]rbrZV=krZVRr+sJHb+sJK8+oj(k+pTP@+t4rb
++t<L8"%#_Ml@Jtorra)?"?E.Ms8N6%rrDTerrVJ?%/pA4?g@[knbiCf63R)`"Pm&\":Tk]JcF!p
+rr`<1o`'F~>
+o`#N`1B[jNs8VWhs4;uc*$QgU.K1Lr.3]rb.3]rbrZV=krZVRr+sJHb+sJK8+oj(k+pTP@+t4rb
++t<L8"%#_Ml@Jtorra)?"?E:Qs8N6%rrDTerrVJ?%/pA4?g@[knbiCf63R)`"Pm&\":Tk]JcF!p
+rr`<1o`'F~>
+o`#$R3<TKarrqrms6=e:c3+8Wj8\E7q>UH[rr;ufJcD>A"<7OIB(>Zr":PG5s7-*g#k@rpbVKA)
+:!EP8!:g'g!C?q`rrdNK":XRHs+13qs8N3%(A.WW~>
+o`#$R3<TKarrqrms6=e:c3+8Wj8\E7q>UH[rr;ufJcD>A"<7OIB(>Zr":PG5s7-*g#k@rpbVKA)
+:!EP8!:g'g!C?q`rrdNK":XRHs+13qs8N3%(A.WW~>
+o`#$R3<TKarrqrms6=e:c3+8Wj8\E7q>UH[rr;ufJcD>A"<7OIB(>Zr":PG5s7-*g#k@rpbVKA)
+:!EP8!:g'g!C?q`rrdNK":XRHs+13qs8N3%(A.WW~>
+o`#$R3<TK^rrM/(ble/DlMp/>q>UJ]l@Ju'rrX\Q"JGMh!=T,*rrZU2.DY]X!DN^krrcp:"=!Ae
+s+13qs8N3%%.sRM~>
+o`#$R3<TK^rrM/(ble/DlMp/>q>UJ]l@Ju'rrX\Q"JGMh!=T,*rrZU2.DY]X!DN^krrcp:"=!Ae
+s+13qs8N3%%.sRM~>
+o`#$R3<TK^rrM/(ble/DlMp/>q>UJ]l@Ju'rrX\Q"Jkel!=T,*rrZU2.DY]X!DN^krrcp:"=!Ae
+s+13qs8N3%%.sRM~>
+o`#'Z1B^%[m/I7L?N^L=lIc+<lBriI"ITAr((:<S((ALlrX8f1bk&UMbkJmUbeVH<bkJmSbeVHs
+^]_lsbeVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_lsbeVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_ls
+beVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_lsbeVHs^]M`qbkJmSbeVHq^]M`qbkJmSbeVHq^]M`q
+bkSsZb_AFe:$VcYnbE-7~>
+o`#'Z1B^%[m/I7L?N^L=lIc+<lBriI"ITAr((:<S((ALlrX8f1bk&UMbkJmUbeVH<bkJmSbeVHs
+^]_lsbeVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_lsbeVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_ls
+beVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_lsbeVHs^]M`qbkJmSbeVHq^]M`qbkJmSbeVHq^]M`q
+bkSsZb_AFe:$VcYnbE-7~>
+o`#'Z1B^%[m/I7L?N^L=lIc+<lBriI"ITAr((:<S((ALlrX8f1bk&UMbkJmUbeVH<bkJmSbeVHs
+^]_lsbeVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_lsbeVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_ls
+beVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_lsbeVHs^]M`qbkJmSbeVHq^]M`qbkJmSbeVHq^]M`q
+bkSsZb_AFe:$VcYnbE-7~>
+o`#-c<<O:AGC]<t!-eES#'XZ.":Sndg&D01TO/mo"G$],"G$]U"9],9"?Gc?s*t~>
+o`#-c<<O:AGC]<t!-eES#'XZ.":Sndg&D01TO/mo"G$],"G$]U"9],9"?Gc?s*t~>
+o`#-c<<O:AGC]<t!-eES#'XZ.":Sndg&D01UgG<s"G$],"G$]U"9],9"?Gc?s*t~>
+o`"sJ<TjPh.@K`+s6BU`"7b!9ZMr\[f)a^ZoA]i9qr8"JL,g[u"9]-"nbMGQj6G[ij8%sEj6G[i
+j6G\#l3-/4j6G\#l3?;6j6G[ij8%sCj6G[ij8%sEj6G[ij6G\#l3-/4j6G\#l3?;6j6G[ij8%sC
+j6G[ij8%sEj6G[ij6G\#l3-/4j6G\#l3?;6j6G[ij8%sCj6G[ij8%sEj6G[ij6G\'l2]'-ZMgF)
+f?DIjbfn\SZCmV?JGFBqJ3lt;?U@J!Aet7`"BAf'695$3q&BG[*$Y+s"<ng0*$Y%qrZV=^q]Z"[
+JKfXhgEHbV+q/\cp&BO~>
+o`"sJ<TjPh.@K`+s6BU`"7b!9ZMr\[f)a^ZoA]i9qr8"JL,g[u"9]-"nbMGQj6G[ij8%sEj6G[i
+j6G\#l3-/4j6G\#l3?;6j6G[ij8%sCj6G[ij8%sEj6G[ij6G\#l3-/4j6G\#l3?;6j6G[ij8%sC
+j6G[ij8%sEj6G[ij6G\#l3-/4j6G\#l3?;6j6G[ij8%sCj6G[ij8%sEj6G[ij6G\'l2]'-ZMgF)
+f?DIjbfn\SZCmV?JGFBqJ3lt;?U@J!Aet7`"BAf'695$3q&BG[*$Y+s"<ng0*$Y%qrZV=^q]Z"[
+JKfXhgEHbV+q/\cp&BO~>
+o`"sJ<TjPh.@K`+s6BU`"7b!=ZMr\[f)a^ZoA]i9qr8"JL,g[u"9]-"nbMGQj6G[ij8%sEj6G[i
+j6G\#l3-/4j6G\#l3?;6j6G[ij8%sCj6G[ij8%sEj6G[ij6G\#l3-/4j6G\#l3?;6j6G[ij8%sC
+j6G[ij8%sEj6G[ij6G\#l3-/4j6G\#l3?;6j6G[ij8%sCj6G[ij8%sEj6G[ij6G\'l2]'-ZMgR-
+f?DIjbfn\SZD<nCJGFBqJ3lt;?U@J!Aet7`"BAf'695$3q&BG[*$Y+s"<ng0*$Y%qrZV=^q]Z"[
+JKfXhgEHbV+q/\cp&BO~>
+oD\r]J9PU;rc\?Snok.cQGEM"!:'R`!o8&?h?3lqGO^7aJcC<$JcDbM!p\"co`'F~>
+oD\r]J9PU;rc\?Snok.cQGEM"!:'R`!o8&?h?3lqGO^7aJcC<$JcDbM!p\"co`'F~>
+oD\r]J9PU;rc\?Snok.cQGEM"!:'R`!o8&?h?3lqGO^7aJcC<$JcDbM!p\"co`'F~>
+oD\gUk5PGOrVm&:9`tS=(?5N%$po]anc.nRs8VWhs8VWhs*sS=s7,XZs7,XZs7,XZnaZYZnaZYZ
+naZYZnaZYLnc/XZnc/XZnc/XZnc/.Ls8VWZs8VWZs8VWhs7,XZs7,XZs7,XZnaZYZnaZYZnaZYZ
+naZYLnc/XZnc/XZnc/XZnc/.Ls8VWZs8VWZs8VWhs7,XZs7,XZs7,XZnaZYZs7--hs7--hs7%cB
+naZYZnaZYZnaZYZnaZYLnc/XZnc/XZnc/XZs8VWZs8VWZs8VWZs7,XZs7,W1s+13$s7$$jnc/XZ
+p]#a~>
+oD\gUk5PGOrVm&:9`tS=(?5N%$po]anc.nRs8VWhs8VWhs*sS=s7,XZs7,XZs7,XZnaZYZnaZYZ
+naZYZnaZYLnc/XZnc/XZnc/XZnc/.Ls8VWZs8VWZs8VWhs7,XZs7,XZs7,XZnaZYZnaZYZnaZYZ
+naZYLnc/XZnc/XZnc/XZnc/.Ls8VWZs8VWZs8VWhs7,XZs7,XZs7,XZnaZYZs7--hs7--hs7%cB
+naZYZnaZYZnaZYZnaZYLnc/XZnc/XZnc/XZs8VWZs8VWZs8VWZs7,XZs7,W1s+13$s7$$jnc/XZ
+p]#a~>
+oD\gUk5PGOrVm&:9`tS=(?5N%$po]anc.nRs8VWhs8VWhs*sS=s7,XZs7,XZs7,XZnaZYZnaZYZ
+naZYZnaZYLnc/XZnc/XZnc/XZnc/.Ls8VWZs8VWZs8VWhs7,XZs7,XZs7,XZnaZYZnaZYZnaZYZ
+naZYLnc/XZnc/XZnc/XZnc/.Ls8VWZs8VWZs8VWhs7,XZs7,XZs7,XZnaZYZs7--hs7--hs7%cB
+naZYZnaZYZnaZYZnaZYLnc/XZnc/XZnc/XZs8VWZs8VWZs8VWZs7,XZs7,W1s+13$s7$$jnc/XZ
+p]#a~>
+pAY0Ynb`@dnaZVZnbW7inV/"d,)5XIrrDS?s+14'rrDS?s+13prrDT\s*t~>
+pAY0Ynb`@dnaZVZnbW7inV/"d,)5XIrrDS?s+14'rrDS?s+13prrDT\s*t~>
+pAY0Ynb`@dnaZVZnbW7inV/"d,)5XIrrDS?s+14'rrDS?s+13prrDT\s*t~>
+eGfYY$j8#bJcC<$JcC<$JcG?AJ,~>
+eGfYY$j8#bJcC<$JcC<$JcG?AJ,~>
+eGfYY$j8#bJcC<$JcC<$JcG?AJ,~>
+fDc'8TOn<0JCjf#!:bX?JcC<$JcC<$pA]X~>
+fDc'8TOn<0JCjf#!:bX?JcC<$JcC<$pA]X~>
+fDc'8Uh0`4JCjf#!:bX?JcC<$JcC<$pA]X~>
+o)A]6qI]2N#%fXo"<;s^JcC<$JcC<$JcG9?J,~>
+o)A]6qI]2N#%fXo"<;s^JcC<$JcC<$JcG9?J,~>
+o)A]6qI]2N#%fXo"<;s^JcC<$JcC<$JcG9?J,~>
+o)A[ujoboFJAC^Ts7,W1s+13$s+13$s7H>A~>
+o)A[ujoboFJAC^Ts7,W1s+13$s+13$s7H>A~>
+o)A[ujoboFJAC^Ts7,W1s+13$s+13$s7H>A~>
+o)ArLGCY3fJ:Mk8AcR&SJ-(J2l@Jtds+13$s+14;s*t~>
+o)ArLGCY3fJ:Mk8AcR&SJ-(J2l@Jtds+13$s+14;s*t~>
+o)ArLGCY3fJ:Mk8AcR&SJ-(J2l@Jtds+13$s+14;s*t~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+JcC<$JcC<$JcERdJ,~>
+%%EndData
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/iskola.png b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/iskola.png
new file mode 100644
index 00000000..029791df
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/iskola.png
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/iskola.ps b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/iskola.ps
new file mode 100644
index 00000000..6398f90e
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/iskola.ps
@@ -0,0 +1,4183 @@
+%!PS-Adobe-3.0
+%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner
+%%Title: /home/konczy/logk/iskola.ps
+%%CreationDate: Thu Apr 22 11:34:09 2004
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 14 14 630 480
+%%EndComments
+%%BeginProlog
+% Use own dictionary to avoid conflicts
+10 dict begin
+%%EndProlog
+%%Page: 1 1
+% Translate for offset
+14.173228 14.173228 translate
+% Translate to begin of first scanline
+0.000000 465.000000 translate
+615.750000 -465.000000 scale
+% Image geometry
+821 620 8
+% Transformation matrix
+[ 821 0 0 620 0 0 ]
+% Strings to hold RGB-samples per scanline
+/rstr 821 string def
+/gstr 821 string def
+/bstr 821 string def
+{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
+true 3
+%%BeginData: 225423 ASCII Bytes
+colorimage
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcG<@#P%ionc/XZnU^^ks+141s*t~>
+JcC<$JcG<@#P%ionc/XZnU^^ks+141s*t~>
+JcC<$JcG<@#P%ionc/XZnU^^ks+141s*t~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcG9?"S(dBh;eM7!:bX?JcC<$jo9i~>
+JcC<$JcG9?"S(dBh;eM7!:bX?JcC<$jo9i~>
+JcC<$JcG9?"S(dBh;eM7!:bX?JcC<$jo9i~>
+JcC<$JcG<@#2P"X$liWiJcC<$JcFa0J,~>
+JcC<$JcG<@#2P"X$liWiJcC<$JcFa0J,~>
+JcC<$JcG<@#2P"X$liWiJcC<$JcFa0J,~>
+JcC<$JcG<@#4[E`"9^0hJcC<$JcFa0J,~>
+JcC<$JcG<@#4[E`"9^0hJcC<$JcFa0J,~>
+JcC<$JcG<@#4[E`"9^0hJcC<$JcFa0J,~>
+KDtr:JcC<$n,EJi":W(ss+13$s5F!.~>
+KDtr:JcC<$n,EJi":W(ss+13$s5F!.~>
+KDtr:JcC<$n,EJi":W(ss+13$s5F!.~>
+PlLaQJcC<$j8T>Rs8Q(%%)@GoJcC<$iW"E~>
+PlLaQJcC<$j8T>Rs8Q(%%)@GoJcC<$iW"E~>
+PlLaQJcC<$j8T>Rs8Q(%%)@GoJcC<$iW"E~>
+JcG]K!:bX?JcGEC"'#I>^k)N:s+14/s*t~>
+JcG]K!:bX?JcGEC"'#I>^k)N:s+14/s*t~>
+JcG]K!:bX?JcGEC"'#I>^k)N:s+14/s*t~>
+PQ)$7QGBeoQC4DO^p:9FT`;;!L;<>1s+14@rrZ7(*5MRRs7([?JcC<$k5Tr~>
+PQ)$7QGBeoQC4DO^p:9FT`;;!L;<>1s+14@rrZ7(*5MRRs7([?JcC<$k5Tr~>
+PQ)$7QGBeoQC4PS^p:9FV#R_%L;<>1s+14@rrZ7(*5MRRs7([?JcC<$k5Tr~>
+PlCd.?h"7#$te+Bs+14@rrlC*"G#+[JcC<$JcFd1J,~>
+PlCd.?h"7#$te+Bs+14@rrlC*"G#+[JcC<$JcFd1J,~>
+PlCd.?h"7#$te+Bs+14@rrlC*"G#+[JcC<$JcFd1J,~>
+PlDH_G6A=Sbl?s_+q-K)nc.mI9a"h`JcC<$r;QceqYprnl9YUV$liWun`oXqs+13$s6'E4~>
+PlDH_G6A=Sbl?s_+q-K)nc.mI9a"h`JcC<$r;QceqYprnl9YUV$liWun`oXqs+13$s6'E4~>
+PlDH_G6A=Sbl?s_+q-K-nc.mM9a"h`JcC<$r;QceqYprnl9YUV$liWun`oXqs+13$s6'E4~>
+R/[3Wq#:9qAcr5\rr3,,#Qt:9rVum#!',W1L&V/Cqu6cgs7,.Jrr^K<Ai'5c#omQC_!:t"nc/.V
+s8VV?s+13$s7ZJC~>
+R/[3Wq#:9qAcr5\rr3,,#Qt:9rVum#!',W1L&V/Cqu6cgs7,.Jrr^K<Ai'5c#omQC_!:t"nc/.V
+s8VV?s+13$s7ZJC~>
+R/[3Wq#:9qAcr5\rr3,,#Qt:9rVum#!',W1L&V/Cqu6cgs7,.Jrr^K@Ai'5c#omQC_!:t"nc/.V
+s8VV?s+13$s7ZJC~>
+R/[3Wq#:9qAcr5\rr3,,$j6^=rVum#!',W1JcGQG"5TV^(B+FA,#*TnZA([SrWE?D6@cl-r;Zfe
+JcC<$JcG?AJ,~>
+R/[3Wq#:9qAcr5\rr3,,$j6^=rVum#!',W1JcGQG"5TV^(B+FA,#*TnZA([SrWE?D6@cl-r;Zfe
+JcC<$JcG?AJ,~>
+R/[3Wq#:9qAcr5\rr3,,$j6^=rVum#!',W1JcGQG"5Tbb(B+FA,#*TnZA([SrWE?D6@cl-r;Zfe
+JcC<$JcG?AJ,~>
+R/[3Wq#:9qAcr5\rr3,,#RCR=rVum#!',W1K)bl@rr3Arf9T,H"9],^JACIJrrhktG<$ZB"9T&]
+GD:\KJcC<$mf.e~>
+R/[3Wq#:9qAcr5\rr3,,#RCR=rVum#!',W1K)bl@rr3Arf9T,H"9],^JACIJrrhktG<$ZB"9T&]
+GD:\KJcC<$mf.e~>
+R/[3Wq#:9qAcr5\rr3,,#RCR=rVum#!',W1K)bl@rr3Arf9T,H"9],^JACIJrrhktG<$ZB"9T&]
+GD:\KJcC<$mf.e~>
+R/[3Wq#:9qAcr5\rr3+o#Qt:9rVum#!',W1JcGcM$LrX@('FaU9m<o!r;QfXlM^_cn^jFG*;p!B
+<JJ<LJcC<$JcG<@J,~>
+R/[3Wq#:9qAcr5\rr3+o#Qt:9rVum#!',W1JcGcM$LrX@('FaU9m<o!r;QfXlM^_cn^jFG*;p!B
+<JJ<LJcC<$JcG<@J,~>
+R/[3Wq#:9qAcr5\rr3+s#Qt:9rVum#!',W1JcGcM$LrX@('FaU9m<o!r;QfXlM^_cn^jRK*;p!B
+<JJ<LJcC<$JcG<@J,~>
+R/[3Wq#:9qAcr5\rr3,,$j[!ArVum#!',W1K`;GM^kQ2P*!?C#GI$'#rrDTarrhlJb_BL("9f2i
+?\ZAdJcC<$JcGHDJ,~>
+R/[3Wq#:9qAcr5\rr3,,$j[!ArVum#!',W1K`;GM^kQ2P*!?C#GI$'#rrDTarrhlJb_BL("9f2i
+?\ZAdJcC<$JcGHDJ,~>
+R/[3Wq#:9qAcr5\rr3,,$j[!ArVum#!',W1K`;GM^kQ2P*!?C#GI$'#rrDTarrhlJb_BL("9f2i
+?\ZAdJcC<$JcGHDJ,~>
+R/[3Wq#:9q?N^K\rr3,,1C+,hrVum#!',W1LAqA@Aka9D"9N2.fCo4Enauhaj1o"^(B+F=**&<?
+rVllfJcC<$JcG]KJ,~>
+R/[3Wq#:9q?N^K\rr3,,!!i_5rVum#!',W1LAqA@Aka9D"9N2.fCo4Enauhaj1o"^(B+F=**&<?
+rVllfJcC<$JcG]KJ,~>
+R/[3Wq#:9q?N^K\rr3,,!!i_5rVum#!',W1LAqA@Aka9D"9N22fCo4Enauhaj1o"^(B+F=**&<?
+rVllfJcC<$JcG]KJ,~>
+R/[0VrVlt,"9]qJrrgP%#R%I3s8N3%3J%4#rrDTfrrDT^rsRkmJ5n$$"<:ErZG>N#"nCWYL-c[T
+"9]]OQH\mss8VWbrrDS?s+13/s*t~>
+R/[0VrVlt,"9]qJrre_i#R%I3s8N3%3J%4#rrDTfrrDT^rsRkmJ5n$$"<:ErZG>N#"nCWYL-c[T
+"9]]OQH\mss8VWbrrDS?s+13/s*t~>
+R/[0VrVlt,"9]qJrrgP%#R%I3s8N3%3J%4#rrDTfrrDT^rsRkmJ5n$$"<:ErZG>N#"nCWYL-c[T
+"9]]OQH\mss8VWbrrDS?s+13/s*t~>
+R/[0Vrr3E%?N^KUs8Vl<1C+,hrVum#!',W1NW0+:Z=Yol"9]-fTZlr]rs\2.R:\5`"9]-"B$B(^
+s+13$s8W+L~>
+R/[0Vrr3E%?N^KUs8Vk^!!i_5rVum#!',W1NW0+:Z=Yol"9]-fTZlr]rs\2.R:\5`"9]-"B$B(^
+s+13$s8W+L~>
+R/[0Vrr3E%?N^KUs8Vl<1C+,hrVum#!',W1NW0+:Z=Yol"9]-fUs/Aars\2.R:\5`"9]-"B$B(^
+s+13$s8W+L~>
+R/[0VrVlt,"9]qJrrgOi#R%I3s8N3%3J%4!s8MQbrr_;eJ/nOk!t7MNZIJmVj0E8GrWE<33L8Ls
+rrDS?s+13-s*t~>
+R/[0VrVlt,"9]qJrre`6#R%I3s8N3%3J%4!s8MQbrr_;eJ/nOk!t7MNZIJmVj0E8GrWE<33L8Ls
+rrDS?s+13-s*t~>
+R/[0VrVlt,"9]qJrrgOi#R%I3s8N3%3J%4!s8MQbrr_;eJ/nOk!t7MNZIJmVj0E8GrWE<33L8Ls
+rrDS?s+13-s*t~>
+R/[0Vrr3,r?N^KUrr3,F1C+,hrVum#!',W1Q2_$X^mSdj%/pA3(0-dYr;ZfeeGfToQ?W91"<q3-
+_"!!UJcCK)J,~>
+R/[0Vrr3,r?N^KUrr3+h!!i_5rVum#!',W1Q2_$X^mSdj%/pA3(0-dYr;ZfeeGfToQ?W91"<q3-
+_"!!UJcCK)J,~>
+R/[0Vrr3,r?N^KUrr3,F1C+,hrVum#!',W1Q2_$X^mSdj%/pA3(0-dYr;ZfeeGfToQ?W91"<q3-
+_"!!UJcCK)J,~>
+R/[`fq#CBh<<NFRs8Vl<1C+,hrVum#!',W1Qi@3KTQ_.[rWE?jL;;X8aSu@oZ<n%>"9L#r^k)N:
+s+gW)~>
+R/[`fq#CBh<<NFRs8Vk^!!i_5rVum#!',W1Qi@3KTQ_.[rWE?jL;;X8aSu@oZ<n%>"9L#r^k)N:
+s+gW)~>
+R/[`fq#CBh<<NFRs8Vl<1C+,hrVum#!',W1Qi@3KUj!R_rWE?jL;;X8aSu@oZ<n%>"9L#r^k)N:
+s+gW)~>
+PQ)$6#Qtb>q#@WU"9c%/s8N3%3J%3ss8<'&$rr_O_#F]#Z=YO*$j7QcJcC<$M>r)~>
+PQ)$6#Qtb>q#@W""9c%/s8N3%3J%3ss8<'&$rr_O_#F]#Z=YO*$j7QcJcC<$M>r)~>
+PQ)$6#Qtb>q#@W""9c%/s8N3%3J%3ss8<'&$rr_O_#F]#Z=YO*$j7QcJcC<$M>r)~>
+PQ(a/#QtqBrrfV>"9c%/s8N3%3J%3ss8N3)%)B[7n\Y;+nb`=hbW,e/^k)O:s8VV?s0hrX~>
+PQ(a/#QtqBrrfV>"9c%/s8N3%3J%3ss8N3)%)B[7n\Y;+nb`=hbW,e/^k)O:s8VV?s0hrX~>
+PQ(a/#QtqBrrfV>"9c%/s8N3%3J%3ss8N3)%)B[7n\Y;+nb`=hbW,e/^k)O:s8VV?s0hrX~>
+PQ(a/#Qtb=rrfV`"9c%/s8N3%3J%3ss8N3%(An+3n\P5*nc&OmG6A&Ss8VV?s+13/s*t~>
+PQ(a/#Qtb=rrfV-"9c%/s8N3%3J%3ss8N3%(An+3n\P5*nc&OmG6A&Ss8VV?s+13/s*t~>
+PQ(a/#Qtb=rrfV-"9c%/s8N3%3J%3ss8N3%(An+3n\P5*nc&OmG6A&Ss8VV?s+13/s*t~>
+PQ)$7#QtqCq#@W3"9c%/s8N3%3J%3ss8N3%(;BhKnb`=hG6A&'nU^_ps8VWerrDS?s1&)Z~>
+PQ)$7#QtqCq#@W3"9c%/s8N3%3J%3ss8N3%(;BhKnb`=hG6A&'nU^_ps8VWerrDS?s1&)Z~>
+PQ)$7#QtqCq#@W3"9c%/s8N3%3J%3ss8N3%(;BhKnb`=hG6A&'nU^_ps8VWerrDS?s1&)Z~>
+PQ(a:$j7@FrrfV>"9c%/s8N3%3QD(%h6NHal@Jues8N3%(:O5FAcr7)JcF=$s6>18[f:j~>
+PQ(a:$j7@FrrfV>"9c%/s8N3%3QD(%h6NHal@Jues8N3%(:O5FAcr7)JcF=$s6>18[f:j~>
+PQ(a:$j7@FrrfV>"9c%/s8N3%3QD(%h6NHal@Jues8N3%(:O5FAcr7)JcF=$s6>18[f:j~>
+PQ(a##QtqBrrfVC"9c%/s8N3%6HK0.h01[S"9UuFh<KRkgAh0U!#E$C#(QgZZN'siJcFR+#P%io
+Z=[^Sj+76?s*t~>
+PQ(a##QtqBrrfVC"9c%/s8N3%6HK0.h01[S"9UuFh<KRkgAh0U!#E$C#(QgZZN'siJcFR+#P%io
+Z=[^Sj+76?s*t~>
+PQ(a##QtqBrrfVC"9c%/s8N3%6HK0.h01[S"9UuFh<KRkgAh0U!#E$C#(QgZZN'siJcFR+#P%io
+Z=[^Sj+76?s*t~>
+PlCmVG6A$trr3,:+p8%SrVum#!CH)"rrMZTr;QiMQ9tBM!]dROq#CBaJcFs6"2H>g*4PqQnV.e^
+B'TEdJcG*:!:g$f"7cEknb`=fh6L&Z"9TX3_!:q!!:bX?^]/f~>
+QiI*_"on+:"9^1Qrrg+]"9c%/s8N3&6L*#!!V,IQrrUf<6MU`c3O7rFs8VV?s60Ib^aTC+\,Q^'
+L)'o(lMpC*s6TacnbrIinc/XZqu6`RZ;pi+"!!`ElMge`nU^_Ts*t~>
+QiI*T"on+:"9^1Qrrg+]"9c%/s8N3&6L*#!!V,IQrrUf<6MU`c3O7rFs8VV?s60Ib^aTC+\,Q^'
+L)'o(lMpC*s6TacnbrIinc/XZqu6`RZ;pi+"!!`ElMge`nU^_Ts*t~>
+PQ(`>"9]qJrrg+]"9c%/s8N3&6LiS*!:g!e"7`[/*<$'D(-,)F(B+F=,%e.GJcF^/#4^N(('Fah
+q]Z7o+rhd_1EmV/+oj(`+oj(d+oj(k+oj(k,5s"o+t5<((A]3Y3AUd@,)6*s!:bX?mf*:WqYpQc
+rr3)j^m6GF"9T&mQK.oC!:bX?_uG5~>
+QiI*_"onIS"9]qJrrg+]"9c%/s8N3&6LiS*!:g!e"7`[/*<$'D(-,)F(B+F=,%e.GJcF^/#4^N(
+('Fahq]Z7o+rhd_1EmV/+oj(`+oj(d+oj(k+oj(k,5s"o+t5<((A]3Y3AUd@,)6*s!:bX?mf*:W
+qYpQcrr3)j^m6GF"9T&mQK.oC!:bX?_uG5~>
+QiI*T"on(H"9]qJrrg+]"9c%/s8N3&6LiS*!:g!e"7`[/*<$'D(-,)F(B+F=,%e.GJcF^/#4^N(
+('Fahq]Z7o+rhd_1EmV/+oj(`+oj(d+oj(k+oj(k,5s"o+t5<((A]3Y3AUd@,)6*s!:bX?mf*:W
+qYpQcrr3)j^m6GF"9T&mQK.oC!:bX?_uG5~>
+PQ(`>"9]qJrrfVO"9c%/s8N3&6L)qt!j[PTr<*EUL;<ihn\Bld.K0GO6AE;QrrDS?s6K[dnXr4\
+"98l'"9L$<j+76prrDTdrr_)C9c!^2"Z(n=R6h\f"9U*=fCAk?s7([?`W(G~>
+R/d0_"onIS"9]qJrrfVO"9c%/s8N3&6L)qt!j[PTr<*EUL;<ihn\Bld.K0GO6AE;QrrDS?s6K[d
+nXr4\"98l'"9L$<j+76prrDTdrr_)C9c!^2"Z(n=R6h\f"9U*=fCAk?s7([?`W(G~>
+R/d0T"on(H"9]qJrrfVO"9c%/s8N3&6L)qt!j[PTr<*EUL;<ihn\Bld.K0GO6AE;QrrDS?s6K[d
+nYAL`"98l'"9L$<j+76prrDTdrr_)C9c!^2"Z(n=R6h\f"9U*=fCAk?s7([?`W(G~>
+PQ(`>"9]qJrrfVI"9c%/s8N3&6L*2&!:g'g"6uP0%/g;16AE_[rrKnar<*3HGG+5Ps69Ohn]Z_-
+"9]o\RJO`!bQW_W"<;$ZeA)9oR9p@2?g@L'$*ot2*!?B[9sWf1s6TacnbiCgba('`":9UH_"%I)
+lEY"NrWE?>*(#tVJcEUeJ,~>
+QiI*_s8N1U"9]qJrrfVI"9c%/s8N3&6L*2&!:g'g"6uP0%/g;16AE_[rrKnar<*3HGG+5Ps69Oh
+n]Z_-"9]o\RJO`!bQW_W"<;$ZeA)9oR9p@2?g@L'$*ot2*!?B[9sWf1s6TacnbiCgba('`":9UH
+_"%I)lEY"NrWE?>*(#tVJcEUeJ,~>
+QiI*Ts8N1U"9]qJrrfVI"9c%/s8N3&6L*2&!:g'g"6u\4%/g;16AE_[rrKnar<*3HGGOMTs69Oh
+n]Z_-"9]o\RJO`!bQW_W"<;$ZeA)9oR9p@2?g@L'$*ot2*!?B[9sWf1s6TacnbiCgba('`":9UH
+_"%I)lEY"NrWE?>*(#tVJcEUeJ,~>
+PQ(`N"9]qJrrg+]"9c%/s8N3&6LiV+"5T8;(B+F=$ppBBp&>*RL+3'(""@ifnU^`.rr_esAet@K
+!G:0^rrpV5"@BoodJj@0L*AF(p\t9G?iC01(-.]:JcG'9!qF'\r<*0NL;<Ta!o8ANqud']L>@F\
+`;b>~>
+PQ(`N"9]qJrrg+]"9c%/s8N3&6LiV+"5T8;(B+F=$ppBBp&>*RL+3'(""@ifnU^`.rr_esAet@K
+!G:0^rrpV5"@BoodJj@0L*AF(p\t9G?iC01(-.]:JcG'9!qF'\r<*0NL;<Ta!o8ANqud']L>@F\
+`;b>~>
+PQ(`N"9]qJrrg+]"9c%/s8N3&6LiV+"5T8;(B+F=$ppBBp&>*RL+3'(""@ifnU^`.rr_esAet@K
+!G:0^rrpV5"@BoodJj@0L*AF(p\t9G?iC01(-.]:JcG'9!qF'\r<*0NL;<Ta!o8ANqud']L>@F\
+`;b>~>
+PlCm]L'.W.rr3,,+p8%SrVum#!'/p9s7-!d"4q-@*<$'C*+m"Hnc&[HTN1pn!ZXqYJcG6>#f($r
+"9]]VZJGN[!:fsd"Fq[!?e<U'$1XZE"G#P4s7,XWrs7G866ZO8$ot!>s8VkYrrDTfrs<m93=H#n
+(14B;qu6ZdrVlub^iqU4"9UGlZKd#@a8^Y~>
+PlCm]L'.W.rr3,,+p8%SrVum#!'/p9s7-!d"4q-@*<$'C*+m"Hnc&[HTN1pn!ZXqYJcG6>#f($r
+"9]]VZJGN[!:fsd"Fq[!?e<U'$1XZE"G#P4s7,XWrs7G866ZO8$ot!>s8VkYrrDTfrs<m93=H#n
+(14B;qu6ZdrVlub^iqU4"9UGlZKd#@a8^Y~>
+PlCm]L'.W.rr3,,+p8%SrVum#!'/p9s7-!d"4q-@*<$'C*+m"Hnc&[HUfI?r!ZXqYJcG6>#f($r
+"9]]VZJGN[!:fsd"Fq[!?e<U'$1XfI"G#P4s7,XWrs7G866ZO8$ot-Bs8VkYrrDTfrs<m93=H#n
+(14B;qu6ZdrVlub^iqU4"9UGlZKd#@a8^Y~>
+PlCmVJ-6!(rr3,:*!?DMrVum#!'/j7s5!_T$/Mm2$k*7A1Vh63rrDT\rrV_Y3W0'c1HCcks8VBS
+qu6]el@f0Fn`0Z*Q72q>,%d8'r;QcerVm/ZL("2ZfDkm@cMn$QActH9p\tQ[bQJ[a";YUTnc&Og
+n^md@q"4Ucq#C?opq?\1nc/XZj8T&ij.K`^":PE"GJNbKs7--hnb<%cn_IOrqud$pfDbdNn`k]*
+c2W:~>
+PlCmVJ-6!(rr3,:*!?DMrVum#!'/j7s5!_T$/Mm2$k*7A1Vh63rrDT\rrV_Y3W0'c1HCcks8VBS
+qu6]el@f0Fn`0Z*Q72q>,%d8'r;QcerVm/ZL("2ZfDkm@cMn$QActH9p\tQ[bQJ[a";YUTnc&Og
+n^md@q"4Ucq#C?opq?\1nc/XZj8T&ij.K`^":PE"GJNbKs7--hnb<%cn_IOrqud$pfDbdNn`k]*
+c2W:~>
+PlCmVJ-6!(rr3,:*!?DMrVum#!'/j7s5!_T$/Mm2$k*7A1Vh63rrDT\rrV_Y3W0'c1HCcks8VBS
+qu6]el@f0Fn`0Z*Q72q>,%d8'r;QcerVm/ZL("2ZfDkm@cMn$QActH9p\tQ[bQJ[a";YUTnc&Og
+n^md@q"4Ucq#C?opq?\1nc/XZj8T&ij.p#b":PE"GJNbKs7--hnb<%cn_IOrqud$pfDbdNn`k]*
+c2W:~>
+PlCmVJ-6!(rr3,:+p8%SrVum#!'/p9#3u6gnZkk/rWEu\AsU6<L6e-[J<lUhL4G#EL4G#5J:RWR
+s-<f3s1i4jr<*-]TRm.;rs*-["9]--ZLRYg$,B7<6AF+ls7,X'rrZU:(81X+rUKme$-\\T"9],9
+B%Q=!s8Dutl4!4_s7)b41COBh(1s6)rrV58.K0GQ$mI]df7EtFs*t~>
+PlCmVJ-6!(rr3,:+p8%SrVum#!'/p9#3u6gnZkk/rWEu\AsU6<L6e-[J<lUhL4G#EL4G#5J:RWR
+s-<f3s1i4jr<*-]TRm.;rs*-["9]--ZLRYg$,B7<6AF+ls7,X'rrZU:(81X+rUKme$-\\T"9],9
+B%Q>6s8Dios8;bds8V?mnc/XZTR\g,"9]KPT^)OYj+]#^"9],W3JQ.:s3(Fm~>
+PlCmVJ-6!(rr3,:+p8%SrVum#!'/p9#3u6gnZkk/rWEu\AsU6<L6e-[J<lUhL4G#EL4G#5J:RWR
+s-<f3s1i4jr<*-]Uk/R?rs*-["9]--ZLRYg$,B7<6AF+ls7,X'rrZU:(8Up/rUKme$-\\T"9],9
+B%Q>6s8DHds8;AYs8V?mnc/XZUjt60"9]KPV!@s]j+]#^"9],W3JQ.:s3(Fm~>
+PlCm]L'.c2rr3,,+p8%SrVum#!'/m8!nVW?r<*<R?d/QMh*UB0#']V;s7(gZrWE<39pXi9rrMZi
+p[J7`rp^!gp[J7`oC2h\oC2h\p[J7`rp^!gp[J7`oC2h\oC2h\qsa[OrVlrTQ='Uo!^a3QrVllf
+rr2u`rr3,,.0Kdh`W$'q":ThNpAY3GJ1:I#![;6^oD\gcrr2unqYpTdq#:9pq!mmErrTK+(B+F>
+1U<EK1]BBC6;9d,1I=E&9fY!i<W"i].G+V"l@q+n"9]JrB!U]Qs3CXp~>
+PlCm]L'.c2rr3,,+p8%SrVum#!'/m8!nVW?r<*<R?d/QMh*UB0#']V;s7(gZrWE<39pXi9rrMZi
+p[J7`rp^!gp[J7`oC2h\oC2h\p[J7`rp^!gp[J7`oC2h\oC2h\qsa[OrVlrTQ='Uo!^a3QrVllf
+rr2u`rr3,,.0Kdh`W$'q":ThNpAY3GJ1:I#![;6^oD\gcrr3#oqu-QpqZlZdqu?QgnaZJQ"onK"
+qu?QhrrDrqrrDr)rrTK+(B+F>1U<EK1]BBC6;9d,1I=E&9fY!i<W"i].G+V"l@q+n"9]JrB!U]Q
+s3CXp~>
+PlCm]L'.c2rr3,,+p8%SrVum#!'/m8!nVW?r<*<R?d/QMh*UB0#']V;s7(gZrWE<39pXi9rrMZi
+p[J7`rp^!gp[J7`oC2h\oC2h\p[J7`rp^!gp[J7`oC2h\oC2h\qsa[OrVlrTQ='Uo!^a3QrVllf
+rr2u`rr3,,.0Kdh`W$'q":ThNpAY3GJ1:I#![;6^oD\gcrr3#onGWCen-ALYnGi"QnaZJF"on)l
+nGi"RrrDQfrrDPsrrTK+(B+F>1U<EK1]BBC6;9d,1I=E&9fY!i<W"i].G+V"l@q+n"9]JrB!U]Q
+s3CXp~>
+PlCmVJ-6!(rr3,:*!?DMrVum#!'0$<"67V@.K'AN(.*cTruU_1h*MMQ(/9![<E3C<.1A4K<G#6<
+G=!&R"D73(nc&OhG>7u<"(pBSnV$oEn^iLOrWE9hRH*r>#dPl^6F-XknaXj's7--h#4Y[r"CKCC
+qYpQcrr3&bTJQQM!utpgnU^]Cs4<Q2%/pA53JQAi^`;VB!:'L^"0uMf%/pD0$j+5rlMge`nU^_j
+s*t~>
+PlCmVJ-6!(rr3,:*!?DMrVum#!'0$<"67V@.K'AN(.*cTruU_1h*MMQ(/9![<E3C<.1A4K<G#6<
+G=!&R"D73(nc&OhG>7u<"(pBSnV$oEn^iLOrWE9hRH*r>#dPl^6F-XknaXj's7--h#4Y[r"CKCC
+qYpQcrr3&bTJQQM!utpgnU^]Cs4<Q2%/pA53JQAi^`;VB!:'L^"0uMf%/pD0$j+5rlMge`nU^_j
+s*t~>
+PlCmVJ-6!(rr3,:*!?DMrVum#!'0$<"67V@.K'AN(.*cTruU_1h*MMQ(/9![<E3C<.1A4K<G#6<
+G=!&R"D73(nc&OhG>7u<"(pBSnV$oEn^iLOrWE9hRH*r>#dPl^6F-XknaXj's7--h#4Y[r"CKCC
+qYpQcrr3&bUbhuQ!utpgnU^]Cs4<Q2%/pA53JQAi^`;VB!:'L^"0uMf%/pD0$j+5rlMge`nU^_j
+s*t~>
+PlCmVJ-6!(rr3,:+p8%SrVum#!'0*>"S'9X.2Mmc%if2ss8VWhs7--S3=H$Nh>@3RG9!%Jru&*u
+":ThNs7,XZnc.XbAdeeF$lg]j?Y3#!oNqSuQs]l*!C@e)"9^O4s8VW_rrgP%"ARLdrs.ihl@oEE
+GObY3"7cEkh>I9Rl;dcc![:X1qh>HDL3I6AGCXmLAsrXa#_ml&TS@&jR@3oepricSbP]TalMg;U
+q#CBh^]+<p,5q]I$tc0mrr3/;*!?[ELAnLY^_1iX9m<n9L7+]h9bmj7fDkm@nc&Oih1dBW"9TDq
+QK*Prdf4g~>
+PlCmVJ-6!(rr3,:+p8%SrVum#!'0*>"S'9X.2Mmc%if2ss8VWhs7--S3=H$Nh>@3RG9!%Jru&*u
+":ThNs7,XZnc.XbAdeeF$lg]j?Y3#!oNqSuQs]l*!C@e)"9^O4s8VW_rrgP%"ARLdrs.ihl@oEE
+GObY3"7cEkh>I9Rl;dcc![:X1qh>?AL3I6AGCXo:B)\)%L4GqiL1Y%cRJO]!RJG&-^ruZ"s6BUR
+"8MorpqQh03?nG*!t8e7j8T&^^`3Ic9nrYQs1f7k6;;[0TSAl-L.rEd"P<\RnaZVY!o8S[r<*3<
+1R@'Ps3gpt~>
+PlCmVJ-6!(rr3,:+p8%SrVum#!'0*>"S'9X.2Mmc%if2ss8VWhs7--S3=H$Nh>@3RG9!%Jru&*u
+":ThNs7,XZnc.XbAdeeF$lg]j?Y3#!oNqSuQs]l*!C@e)"9^O4s8VW_rrgP%"ARLdrs.ihl@oEE
+GObY3"7cEkh>I9Rl;dcc![:X1qh>?AL3I6tGCXo:RJrKTL4H(qLAmS@bkf*Tbk_8?^rst#s8VB`
+nH8Rds7jA/!BDA'"9T'EUuVIS"i))\$r)KUZN%]QG=##JZD<5CUkVSZ"9d?Vs7,XYrrV#2.K'AO
+(,M9:JcF0uJ,~>
+PQ(`>":-IUrrg+]#R%I3s8N3&6L*q;s7-$e!nVW9rWE9OGKfp`!:g'g"AK"%3R%C#"D.eBs7-'f
+"Mbu["GZ[N"5T8M*.\7k":#\d"D6Kis7-*gs7-*g"R:^M(7)]7#f'.;3O7rMs5X%W#4_`nl;[rq
+L]d\doE5XQJCji$nc.nSh&HP+GO#)*"<n!Ks6BR_"Fpm`"R>a]"3c9E%/g;1?bl42s8VA8s4[L'~>
+PlCm`L'.c2rr3,:+p\=WrVum#!CH)<s8VWerrUer*<$'B.<j#4rrDTgrrc%!"?F^'rrcp:ZN'In
+rrg+W"9aJRrr_)C?Q=V"r<*?@+p;N6s8VWgs8VWgrrhVA$l5/Crs6D7"?EdQs8V-Wrs&#ns6<Se%
+#>#d%.jZ4.=g%Ms7--Ss4nXt%!V"6rraMKs8VB_rrdi\"9e#arr^Jq.1H.X!aib5rr<#`JcFI(J
+,~>
+PlCmUL'.c2rr3,:+p\=WrVum#!CH)<s8VWerrUer*<$'B.<j#4rrDTgrrc%!"?F^'rrcp:ZN'In
+rrg+W"9aJRrr_)C?Q=V"r<*?@+p;N6s8VWgs8VWgrrhVA$l5/Crs6D7"?EdQs8V-Wrs&#ns6<Se%
+#>#d%.jZ4.=g%Ms7--Ss4nXt%!V"6rraMKs8VB_rrdi\"9e#arr^Jq.1H.X!aib5rr<#`JcFI(J
+,~>
+PlCmVG6A$mrr3,:.0KdZrVum#!BKH0rrhl9R6hnm"9TW1_!:Um"@<M"6GWKu!eq]#rr35Znc,mD
+()DH"rrDTbrr_es66c@2"q3guJ;0AUqM,!"!eu5[rI>0.J;/T/J;/T/rI>60J;/T/J;/T/J;4#Q
+#_mkaJ;/T/J;4#Q$AO(cJ;/T/J;/T/rI>0.J;/T/J;/T/rI>60J;/T/J;/T/J;4#Q#_mkaJ;/T/
+J;4&R$?q#dR>+]]"9`>mqu6Z]rr3+e1B^%M^&J<,Z<n@UB%R%^!:'L^$0m6b"9],n?TB,&9`dX;
+3W1`7.3/=2r@%_&r[Ijk!#Da@!"A`-rs\c-":R;FfCAe=#P%iM*!?\#lMLSa*!H<Anc&Ohl=U"u
+!:':X"QR;'*";fL!t7M.ZM"7tnU^`%s*t~>
+PlCmVG6A$mrr3,:.0KdZrVum#!BKH0rrhl9R6hnm"9TW1_!:Um"@<M"6GWKu!eq]#rr35Znc,mD
+()DH"rrDTbrr_es66c@2"q3guJ;0AUqM,!"!eu5[rI>0.J;/T/J;/T/rI>60J;/T/J;/T/J;4#Q
+#_mkaJ;/T/J;4#Q$AO(cJ;/T/J;/T/rI>0.J;/T/J;/T/rI>60J;/T/J;/T/J;4#Q#_mkaJ;/T/
+J;4&R$?q#dR>+]]"9`>mqu6Z]rr3+e1B^%M^&J<,Z<n@UB%R%^!:'L^$0m6b"9],n?TB,&9`dX;
+3W1`7.3/=2r@%_&r[Ijk!#Da@!"A`-rs\c-":R;FfCAe=#P%iM*!?\#lMLSa*!H<Anc&Ohl=U"u
+!:':X"QR;'*";fL!t7M.ZM"7tnU^`%s*t~>
+PlCmVG6A$mrr3,:.0KdZrVum#!BKH0rrhl9R6hnm"9TW1_!:Um"@<M"6GWKu!eq]#rr35Znc,mD
+()DH"rrDTbrr_es66c@2"q3guJ;0AUqM,!"!eu5[rI>0.J;/T/J;/T/rI>60J;/T/J;/T/J;4#Q
+#_mkaJ;/T/J;4#Q$AO(cJ;/T/J;/T/rI>0.J;/T/J;/T/rI>60J;/T/J;/T/J;4#Q#_mkaJ;/T/
+J;4&R$?q#dR>+]]"9`>mqu6Z]rr3+e1B^%M^&J<,Z<n@UB%R%^!:'L^$0m6b"9],n?TB,&9`dX;
+3W1`7.3/=2r@%_&r[Ijk!#Da@!"A`-rs\c-":R;FfCAe=#P%iM*!?\#lMLSa*!H<Anc&Ohl=U"u
+!:':X"QR;'*";fL!t7M.ZM"7tnU^`%s*t~>
+PlCmOAdAM`rr3,,*!?DMrVum#!CH);rr_PlAfUdQ!t7nlfDPXKnbiCinc/XS3W9-m1I=)X1En7f
+"=YND1EnVT.K0GQB(>p$nc&RenbrIh^f;0L"9T',RHf\0#0^Zf"CIS^q#:T7+p:Was8VW+rrDTf
+rsRk!"9^a#s8VWhs7-*g&(aea"<sN=s4?f@s7,XZs8MQdl3#Yoh;eFu"68\&j8Rm3irIp3fDae<
+h;d>OfA5'7fA5'7rRV>2fA5'7fA5'7rRVD4fA5'7fA5'7fA6DW#i4+gfA5'7fA6DW"l7edfA5'W
+h>ZF:h3LbDrWE?>3PaJ@rVuofrr3/R('GCbbl7/4rsn'U1ZSMknc/XSL*@B9nalb_lBsF:r<*<R
+B!Ut,s6>18h>`!~>
+PlCmOAdAM`rr3,,*!?DMrVum#!CH);rr_PlAfUdQ!t7nlfDPXKnbiCinc/XS3W9-m1I=)X1En7f
+"=YND1EnVT.K0GQB(>p$nc&RenbrIh^f;0L"9T',RHf\0#0^Zf"CIS^q#:T7+p:Was8VW+rrDTf
+rsRk!"9^a#s8VWhs7-*g&(aea"<sN=s4?f@s7,XZs8MQdl3#Yoh;eFu"68\&j8Rm3irIp3fDae<
+h;d>OfA5'7fA5'7rRV>2fA5'7fA5'7rRVD4fA5'7fA5'7fA6DW#i4+gfA5'7fA6DW"l7edfA5'W
+h>ZF:h3LbDrWE?>3PaJ@rVuofrr3/R('GCbbl7/4rsn'U1ZSMknc/XSL*@B9nalb_lBsF:r<*<R
+B!Ut,s6>18h>`!~>
+PlCmOAdAM`rr3,,*!?DMrVum#!CH);rr_PlAfUdQ!t7nlfDPXKnbiCinc/XS3W9-m1I=)X1En7f
+"=YND1EnVT.K0GQB(>p$nc&RenbrIh^f;0L"9T',RHf\0#0^Zf"CIS^q#:T7+p:Was8VW+rrDTf
+rsRk!"9^a#s8VWhs7-*g&(aea"<sZAs4?f@s7,XZs8MQdl3#Yoh;eFu"68\&j8Rm3irIp3fDae<
+h;d>OfA5'7fA5'7rRV>2fA5'7fA5'7rRVD4fA5'7fA5'7fA6DW#i4+gfA5'7fA6DW"l7edfA5'W
+h>ZF:h3LbDrWE?>3PaJ@rVuofrr3/R('GCbbl7/4rsn'U1ZSMknc/XSL*@B9nalb_lBsF:r<*<R
+B!Ut,s6>18h>`!~>
+PlCmOG6A1#rr3,:+p8%SrVum#!CH)>rrhW2R8"\#"9Ti[ZLRVfs7--h!U<\M"9aJLs8VBVrr_es
+3>VPr!DTltrrMZTrr3#hs82<js7--Zs7--dnHf0bs7--Zs7--dnHT$`s7--Zs82<ls7--Zs7--Z
+s82<js7--Zs7--dnHf0bs7--Zs7--dnHT$`s7--Zs8DKfrs/(^+p8ZUs7-$e!:g'g",8!&*<,s=
+lLDdl!:fpc#G<7D,,"6$nbW7gZ7,o#L5Z'=lC_K."9]K,T]>S8rrL=Pl3%+PnG`U7Ag/#i"9TEH
+ZK(o`rpbR>j8XW~>
+Qi@<fs8VA.":-IUrrg+]"9c%/s8N3&6L+"="R=4!9cX-8"!V?_nb)q^nc/Uil;d*P"GZIHs6B7V
+"7`ZW(B"@:9sX]s!V,ISrrMZiqsamjnc/.Znc/LV#ljGpnc/.Znc/LV#645nnc/.Zqsaslnc/.Z
+nc/.Zqsamjnc/.Znc/LV#ljGpnc/.Znc/LV#645nnc/.ZrUKpf#P"3+";X`3nbiCenc&OjL*?a?
+rr3#an\bA,nbW7jTHXL_T^)RIqYp](.0LiLMuO.LTO/lG";X=sj72gB!R(u;"9@`Vrr^JW+r:.\
+!u>7Lj8K#WnU^`#s*t~>
+Qi@<[s8VA.":-IUrrg+]"9c%/s8N3&6L+"="R=4!9cX-8"!V?_nb)q^nc/Uil;d*P"GZIHs6B7V
+"7`ZW(B"@:9sX]s!V,ISrrMZiqsamjnc/.Znc/LV#ljGpnc/.Znc/LV#645nnc/.Zqsaslnc/.Z
+nc/.Zqsamjnc/.Znc/LV#ljGpnc/.Znc/LV#645nnc/.ZrUKpf#P"3+";X`3nbiCenc&OjL*?a?
+rr3#an\bA,nbW7jU`opcV!A!MqYp](.0LiLMuO.LUgG;K";X>"j72gB!R(u;"9@`Vrr^JW+r:.\
+!u>7Lj8K#WnU^`#s*t~>
+PQ(`8":-4Nrrg+d"9c%/s8N3&3U6,6%.Vq].1?=^$po^)h=:LE!T!;<rrJOnqS39?R@otRQN"]!
+ZN%]@RDAh%!:fX["7"J^%/pA3*&E?$P5b^UTHXLAQM:C_j+%786CI`N!:d`%#-p5l%$pq`rVllf
+rr3/-.0Kd>n]_"7nc/.Ys8VWhs8VWgrrV`jnc&Rgnc/XhnbiFenc/Xhnc&Oinc/.Ys8VWgrrDTg
+rrDTgrsJ;?R9pp:"<;$ZlMgealLFcO#4_`Ys3)o-lN@4Qo)A^[rr3&[^fC:8"%%b-nU^_ts*t~>
+Qi@<fs8VtH":-4Nrrg+d"9c%/s8N3&3U6,6%.Vq].1?=^$po^)h=:LE!T!;<rrJOnqS39?R@otR
+QN"]!ZN%]@RDAh%!:fX["7"J^%/pA3*&E?$P5b^UTHXLAQM:C_j+%786CI`N!:d`%#-p5l%$pq`
+rVllfrr3/-.0Kd>n]_"7nc/.Ys8VWhs8VWgrrV`jnc&Rgnc/XhnbiFenc/Xhnc&Oinc/.Ys8VWg
+rrDTgrrDTgrsJ;?R9pp:"<;$ZlMgealLFcO#4_`Ys3)o-lN@4Qo)A^[rr3&[^fC:8"%%b-nU^_t
+s*t~>
+Qi@<[s8VS=":-4Nrrg+d"9c%/s8N3&3U6,6%.Vq].1?=^$po^)h=:LE!T!;<rrJOnqS39?RA?7V
+QN"]!ZN%]@RDAh%!:fX["7"J^%/pA3*&E?$P5b^UU`opEQM:C_j+%786CI`N!:d`%#-p5l%$pq`
+rVllfrr3/-.0Kd>n]_"7nc/.Ys8VWhs8VWgrrV`jnc&Rgnc/XhnbiFenc/Xhnc&Oinc/.Ys8VWg
+rrDTgrrDTgrsJ;?R9pp:"<;$ZlMgealLFcO#4_`Ys3)o-lN@4Qo)A^[rr3&[^fC:8"%%b-nU^_t
+s*t~>
+PQ(`X$j7dRrrg+d"9c%/s8N3&6L+.A"7!1(.K0GP$pq8irVlrhlLFiQ!:fg`!:&kL!:fCT"7_dR
+(B+F<1PX_MrrpVH":SYtq#:N59`tT!fDP[Kn\Y;+nbrImnc/XL63K*[p\tB?.0Kbtp&>$^o)A^[
+Y5\QhAet@K!ut[@nc&Ognb`=en`p#O!PmaNrrD?`rs/)os6>nE*";fL!\%KlJcF[.J,~>
+R/d3`rr3(n$j7dRrrg+d"9c%/s8N3&6L+.A"7!1(.K0GP$pq8irVlrhlLFiQ!:fg`!:&kL!:fCT
+"7_dR(B+F<1PX_MrrpVH":SYtq#:N59`tT!fDP[Kn\Y;+nbrImnc/XL63K*[p\tB?.0Kbtp&>$^
+o)A^[Y5\QhAet@K!ut[@nc&Ognb`=en`p#O!PmaNrrD?`rs/)os6>nE*";fL!\%KlJcF[.J,~>
+R/d3Urr3(r$j7dRrrg+d"9c%/s8N3&6L+.A"7!1(.K0GP$pq8irVlrhlLFiQ!:fg`!:&kL!:fCT
+"7_dR(B+F<1PX_MrrpVH":SYtq#:N59`tT!fDP[Kn\Y;+nbrImnc/XL63K*[p\tB?.0Kbtp&>$^
+o)A^[Y5\QhAet@K!ut[Dnc&Ognb`=en`p#O!PmaNrrD?`rs/)os6>nE*";fL!\%KlJcF[.J,~>
+PQ(aM+p9+hrrhdb"9c%/s8N3&6L+4C!mHBZrWE?4,#t<$\GlZeR8"n)"9KcZ_#+-3nY6$`nc&Ol
+TIC!PL?ea;!:g$f"J@OR"G!`V"l2KJ"JG&YrrDTgrs&"Z.0KdHj-TcJn^jFXrWE<3,'V8Crr^&\
+1CX6c![;7.r;QceJcFs6J,~>
+RK*<arVm8j+p9+iqtnr="9c%/s8N3&6L+4C!mHBZrWE?4,#t<$\GlZeR8"n)"9KcZ_#+-3nY6$`
+nc&OlTIC!PL?ea;!:g$f"J@OR"G!`V"l2KJ"JG&YrrDTgrs&"Z.0KdHj-TcJn^jFXrWE<3,'V8C
+rr^&\1CX6c![;7.r;QceJcFs6J,~>
+RK*<VrVm8j+p9+inF4Fl"9c%/s8N3&6L+4C!mHBZrWE?4,#tH(\GlZeR8"n)"9KcZ_#+-3nY6$`
+nc&OlUaZETL?ea;!:g$f"JdgV"G!`V"l2KJ"Jk>]rrDTgrs&"Z.0KdLj-TcJn^jR\rWE<3,'V8C
+rr^&\1CX6c![;7.r;QceJcFs6J,~>
+PQ(a@*!@Jbrrhdj"9c%/s8N3&3U6PB!:fsd$%P#O"9]]#QH\m+rsJ&OL,05@":Sn1h>[HSnY?*i
+lMpmi+p9p!nbrIpn`p/Sn\?RV6F--brs6hU"9`)ss8VWdrrp2)"9`>mRK!??L,8f3"=\l,bji4C
+!pZFjqud'WRH+8G!:bX?lMlA~>
+R/[0`rVm8]*!@Jcs81AI"9c%/s8N3&3U6PB!:fsd$%P#O"9]]#QH\m+rsJ&OL,05@":Sn1h>[HS
+nY?*ilMpmi+p9p!nbrIpn`p/Sn\?RV6F--brs6hU"9`)ss8VWdrrp2)"9`>mRK!??L,8f3"=\l,
+bji4C!pZFjqud'WRH+8G!:bX?lMlA~>
+R/[0UrVm8]*!@Jcs7"$."9c%/s8N3&3U6PB!:fsd$%P#O"9]]#QH\m+rsJ&OL,05@":Sn1h>[HS
+nY?*ilMpmi+p9p%nbrIpn`p/Sn\?RV6F--brs6hU"9`)ss8VWdrrp2)"9`>mRK!??L,8f3"=\l,
+bji4C!pZRnqud'WRH+8G!:bX?lMlA~>
+PQ(a:&Hj<WrrhLs"9c%/s8N3&6L+FI"nCl`G>/kP"9M<'lMLV]n[AH(lEX+m"9]--QK+b?!V,IS
+rrfV`">djmrt"Z"n`oZEs0=Wn:!EY;naWj`"lk=?"?F9mrs?Jk"9_`?s8VWZW;cn`nb`=lj-E"?
+"9]LUf<P>Wf67Z%"9UZPbjg8akl6/~>
+R/[0`rVm8W&Hj<XqtoPg"9c%/s8N3&6L+FI"nCl`G>/kP"9M<'lMLV]n[AH(lEX+m"9]--QK+b?
+!V,ISrrfV`">djmrt"Z"n`oZEs0=Wn:!EY;naWj`"lk=?"?F9mrs?Jk"9_`?s8VWZW;cn`nb`=l
+j-E"?"9]LUf<P>Wf67Z%"9UZPbjg8akl6/~>
+R/[0UrVm8W&Hj<XnF5!b"9c%/s8N3&6L+FI"nCl`G>/kP"9M<'lMLV]n[AH(lEX+m"9]--QK+b?
+!V,ISrrfV`">djmrt"Z"n`oZEs0=Wn:!EY;naWj`"lk=?"?F9mrs?Jk"9_`?s8VWZW;cn`nb`=l
+j-E"?"9]LUf<P>Wf67Z%"9UZPbjg8akl6/~>
+PQ(a.$j7dRrrhLb"9c%/s8N3&6L+IJ"5T80(B"@;6D3B;s8VWgrrD>krrTuJ,5q]I$os'dV#Lhm
+s8TAR"=^#6s8VWerrq\\3<W^5rr2u`ZMssqlMgedQ5g#fbkV2CnKJ)=?etbPT`57b64<u"1PW]N
+s8VWhrr_f8J/nOk!t6W&^k)OMs*t~>
+PQ)$6$j7dSqtoPV"9c%/s8N3&6L+IJ"5T80(B"@;6D3B;s8VWgrrD>krrTuJ,5q]I$os'dV#Lhm
+s8TAR"=^#6s8VWerrq\\3<W^5rr2u`ZMssqlMgedQ5g#fbkV2CnKJ)=?etbPT`57b64<u"1PW]N
+s8VWhrr_f8J/nOk!t6W&^k)OMs*t~>
+PQ)$6$j7dSnF5"/"9c%/s8N3&6L+IJ"5T80(B"@;6DWZ?s8VWgrrD>krrTuJ,5q]I$os'dV#Lhm
+s8TAR"=^/:s8VWerrq\`3<W^5rr2u`ZMssqlMgedQ5g#fbkV2CnKJ)=?etbPT`57b64<u"1PW]N
+s8VWhrr_f8J/nOk!t6W&^k)OMs*t~>
+Q2_$_s2tNJ,6%TFmnEofZMjh'"9COQrVlu8J3j\D"9KQTT`+lklLCqT!o9/:r<*0AB!S?7#P%iZ
+J.)Q0ZMsk(nbiCjl=L/%1X**'!:fmb"Md##1U?fU"liqm"@BDhrr_;S?ShZa"BE8;s7*>n!:g!e
+!mGj.rWE<=<O1n@s6Tc9~>
+Q2_<gs2tNJ,6.Q;ekH8MZMjh'"9COQrVlu8J3j\D"9KQTT`+lklLCqT!o9/:r<*0AB!S?7#P%iZ
+J.)Q0ZMsk(nbiCjl=L/%1X**'!:fmb"Md##1U?fU"liqm"@BDhrr_;S?ShZa"BE8;s7*>n!:g!e
+!mGj.rWE<=<O1n@s6Tc9~>
+Q2_<gs2tNJ,6.0%`_?R=ZMjh'"9COQrVlu8J3j\D"9KQTV#C;olLCqT!o9/:r<*0AB!S?7#P%iZ
+J.)Q0ZMsk(nbiCjl=L/%1X**'!:fmb"Md##1U?fU"liqm"@BDhrr_;W?ShZa"BE8;s7*>n!:g!e
+!mGj.rWE<=<O1n@s6Tc9~>
+PQ(a/#QuUUrrg+n"9c%/rs/`9<Sd]T^iq7,"9T&PRD?$+!:f[\!h!X?rWE9B6D1@Y#P%iSL)'nJ
+ZM=G'^f:L??d.:)!:e;5#f%kl1R@>+s7-$e$KHj\">cA/s8VBSZN'porVm2aR8"Y(":R):fDbdM
+lEC3fnb`=ef3eIZ"!V?Mj8T&YnbN1bnU^`;s*t~>
+PQ(a/#QuUUrrg+n"9c%/rs/`9<Sd]T^iq7,"9T&PRD?$+!:f[\!h!X?rWE9B6D1@Y#P%iSL)'nJ
+ZM=G'^f:L??d.:)!:e;5#f%kl1R@>+s7-$e$KHj\">cA/s8VBSZN'porVm2aR8"Y(":R):fDbdM
+lEC3fnb`=ef3eIZ"!V?Mj8T&YnbN1bnU^`;s*t~>
+PQ(a/#QuUUrrg+n"9c%/rs/`9<Sd]T^iq7,"9T&PRD?$+!:f[\!h!X?rWE9B6DUX]#P%iSL)'nJ
+ZM=G'^f:L??d.:)!:e;5#f%kl1R@>+s7-$e$KHj\">cA/s8VBSZN'porVm2aR8"Y(":R):fDbdM
+lEC3fnb`=ef3eIZ"!V?Qj8T&YnbN1bnU^`;s*t~>
+PQ(a/$j8$YrrfVI"9c%/s8N3(9sUEdr<*3Y<P[5.s8VWhrrDTBrsS@i9ah.?";ZaWs7*8l"gV,2
+$td`_rrDTerrn-;";ZODfDbj@r;QcefDc-Hs8TAb":TM1rr<#`rr3>cQ6HGOZLRtplLDOe!:'R`
+s7,sc"7"oR3W9-`.;#mGZMsppnc&^]ba(9f"9p&^bl@_5l@K!-s*t~>
+PQ(a/$j8$YrrfVI"9c%/s8N3(9sUEdr<*3Y<P[5.s8VWhrrDTBrsS@i9ah.?";ZaWs7*8l"gV,2
+$td`_rrDTerrn-;";ZODfDbj@r;QcefDc-Hs8TAb":TM1rr<#`rr3>cQ6HGOZLRtplLDOe!:'R`
+s7,sc"7"oR3W9-`.;#mGZMsppnc&^]ba(9f"9p&^bl@_5l@K!-s*t~>
+PQ(a/$j8$YrrfVI"9c%/s8N3(9sUQhr<*3Y<P[5.s8VWhrrDTBrsS@m9ah.?";ZaWs7*8l"gV,2
+$td`_rrDTerrn-;";ZODfDbj@r;QcefDc-Hs8TAb":TM1rr<#`rr3>cQ6HGOZLRtplLDOe!:'R`
+s7,sc"7"oR3W9-`.;#mGZMsppnc&^]ba(9f"9p&^bl@_5l@K!-s*t~>
+PQ(a/&HjQ^rrfVI"9c%/rrWB4":Y53"'(Z2lMghRnbrLfnaZYMn^.:BlC^-G":PD9B$@FX()@#U
+?g@[]nc.nEs8V,P"9^0Hs8VWZf)Ga?d/OBqAcr6:_#OH)rr38os8SB#";YA#Y5\gaTO0,N":R;@
+bl%JAn`lkK"7![6*<$'B(0/0JrrDS?s7lVE~>
+PQ(a/&HjQ^rrfVI"9c%/rrWB4":Y53"'(Z2lMghRnbrLfnaZYMn^.:BlC^-G":PD9B$@FX()@#U
+?g@[]nc.nEs8V,P"9^0Hs8VWZf)Ga?d/OBqAcr6:_#OH)rr38os8SB#";YA#Y5\gaTO0,N":R;@
+bl%JAn`nI#rqk=I"7![6*<$'B(0/0JrrDS?s7lVE~>
+PQ(a/&HjQ^rrfVI"9c%/rrWB4":Y53"'(Z2lMghRnbrLfnaZYMn^.:BlD-EK":PD9B$@FX()@#U
+?g@[]nc.nEs8V,T"9^0Ls8VWZf)Ga?d/OBqAcr6:_#OH)rr38os8SB#";YA#Y5\gaUgGPR":R;@
+bl%JAn`nI#rp\P>"7![6*<$'B(0/0JrrDS?s7lVE~>
+PQ(a:&HjQ^rrfVI"9c%/s83!%(/:IeWW*"hs7c$`s8MNglM^_cn`/5O(B+F=$r+OhZi:3EG6A%\
+fD5FMf2VqV6GV%L"5RR^bglannc/Umh1cmP1SFaIs7-*g"mUgX";[F)s8VW&rrV`UnbiCgh1drh
+"9Uu&ZK&+f!V,INnGrUcnc/UhlMgeb^bZc*"9]\nRH*i9rrDS?s82hH~>
+PQ(a:&HjQ^rrfVI"9c%/s83!%(/:IeWW*"hs7c$`s8MNglM^_cn`/5O(B+F=$r+OhZi:3EG6A%\
+fD5FMf2VqV6GV%L"5RR^bglannc/Umh1cmP1SFaIs7-*g"mUgX";[F)s8VW&rrV`UnbiCgh1drh
+"9Uu&ZK'+-s82!Z!V,INnGrUcnc/UhlMgeb^bZc*"9]\nRH*i9rrDS?s82hH~>
+PQ(a:&HjQ^rrfVI"9c%/s83!%(/:UiWW*"hs7c$`s8MNglM^_cn`/5O(B+F=$r+OhZi:3EG6A%\
+fD5FMf2VqV6GV%L"5RRbbglannc/Umh1cmP1Sk$Ms7-*g"mUgX";[F)s8VW&rrV`UnbiCgh1drh
+"9Uu&ZK'+-s7#4O!V,INnGrUcnc/UhlMgeb^bZc*"9]\nRH*i9rrDS?s82hH~>
+PQ(a/&HjQ^rrfVI"9c%/rriN@"=])]rVm8qs-B'sR@0A,R@0B?R0o7JR?j/,QA1.0lL=fXTU(n3
+R?j07R0TCjTX(5`REY$t!:f:Q!L>bE"9UZMfBTmG"ll","<<0qrt"Z"nc/XSR54sKQK/#FnaY93
+$1Z6-9`tSJL>DCOrrMETrr3Y;1B\,:j8]/Ls8VWhnXq'/*-^5GrrUE!3W9-^*('8s!:f1Ns7*u+
+&+Srbs4tne9ah.-$lilpl@K!1s*t~>
+PQ(a/&HjQ^rrfVI"9c%/rriN@"=])]rVm8qs-B'sR@0A,R@0B?R0o7JR?j/,QA1.0lL=fXTU(n3
+R?j07R0TCjTX(5`REY$t!:f:Q!L>bE"9UZMfBTmG"ll","<<0qrt"Z"nc/XSR54sKQK/#FnaY93
+$1Z6-9`tSJL>DCOrrMETrr3Y;1B\,:j8]/Ls8VWhnXq'/*-^5GrrUE!3W9-^*('8s!:f1Ns7*u+
+&+Srbs4tne9ah.-$lilpl@K!1s*t~>
+PQ(a/&HjQ^rrfVI"9c%/rriN@"=])]rVm8qs-B'sR@0A,R@0B?R0o7JR?j/,QA1.0lL=fXUm@=7
+R?j07R0TOnUp?elREY$t!:f:Q!L>bE"9UZMfBTmG"ll","<<0qrt"Z"nc/XSR54sKQK/#FnaY93
+$1Z6-9`tSJL>DCOrrMETrr3Y;1B\,:j8]/Ls8VWhnY@?3*-^5GrrUE!3W9-^*('8s!:f1Ns7*u+
+&+Srbs4tne9ah.-$lilpl@K!1s*t~>
+PQ(a/&HjQ^rrfVI"9c%/rrWB43LTmHs7$3klJj\h"9],9(1u1frr<i$"9<'%rs&#/TL)XQ<VoK!
+<D?If<C0\[3DG%0lM^_`Z8;I_!t6A\^qKaSnc/XZL)^=!j6HXDs7-*g"J?M5%"Qe+!Pg_m"9KQt
+lI,\9^bZ)r?g@Xj!:g$f"L:#j"G!r\!mHrjr<*1/bj*dZ!qFl/r)Ebl?i"@=Q=_p[L;;F2rr_es
+L0sjQ#ZXT!9iXnf9i_-d!^^M7qYpW^^fC=9!ZYR_JcGQGJ,~>
+PQ(a/&HjQ^rrfVI"9c%/rrWB43LTmHs7$3klJj\h"9],9(1u1frr<i$"9<'%rs&#/TL)XQ<VoK!
+<D?If<C0\[3DG%0lM^_`Z8;I_!t6A\^qKaSnc/XZL)^=!j6HXDs7-*g"J?M5%"Qe+!Pg_m"9KQt
+lI,\9^bZ)r?g@Xj!:g$f"L:#j"G!r\!mHrjr<*1/bj*dZ!qFl/r)Ebl?i"@=Q=_p[L;;F2rr_es
+L0sjQ#ZXT!9iXnf9i_-d!^^M7qYpW^^fC=9!ZYR_JcGQGJ,~>
+PQ(a/&HjQ^rrfVI"9c%/rrWB43LTmHs7$3klJj\h"9],9(1u1frr<i$"9<'%rs&#/UdA'U<VoK!
+<D?If<C0\[3DG%0lM^_`Z8;I_!t6A\^qKaSnc/XZL)^=!j6HXDs7-*g"Jce9%"Qe+!Pg_m"9KQt
+lI,\9^bZ)r?g@Xj!:g$f"L:#j"G!r\!mHrjr<*1/bj*dZ!qFl/r)Ehn?Y5`)Ad=`iR:]f\^t8,V
+"7`[O?i3V(<D?If<D?If<W,Vn6>"%0rrVK$<W*%%*+-L4s7u\F~>
+QN%0Zs8U;'"=!jF"McGl"LA"+rr`KFh>dNFnbrIt1B[iH1G_$XAgmj33B8np3<V,H"9aJJrsU(S
+"<msa$l/s]$j7RI"9UF_"D7'$!6jj6!u;"BRJHj`.3/<i"t=/ilMpnSaSu81qYp]61B[h@qu6ok
+s4pZX"<tY1rrL_YrWEO%bh\[2"9^`jj88iVlJ2CEnc/WT$j7c?rVuofs8N7q*!?C)f=V%gn\AK?
+"9]-5_#=95fCoCJ(A7k4ZN'IarrgOK('G'D"99&-"9Aq:nG`LKlN@4'pAY/],5hWH3JQA[JcG]K
+J,~>
+QN%0Zs8U;'"=!jF"McGl"LA"+rr`KFh>dNFnbrIt1B[iH1G_$XAgmj33B8np3<V,H"9aJJrsU(S
+"<msa$l/s]$j7RI"9UF_"D7'$!6jj6!u;"BRJHj`.3/<i"t=/ilMpnSaSu81qYp]61B[h@qu6ok
+s4pZX"<tY1rrL_YrWEO%bh\[2"9^`jj88iVlJ2CEnc/WT$j7c?rVuofs8N7q*!?C)f=V%gn\AK?
+"9]-5_#=95fCoCJ(A7k4ZN'IarrgOK('G'D"99&-"9Aq:nG`LKlN@4'pAY/],5hWH3JQA[JcG]K
+J,~>
+QN%0Zs8U;'"=!jF"McGl"LA"+rr`KFh>dNFnbrIt1B[iH1G_$XAgmj33B8np3<V,H"9aJJrsU(S
+"<msa$l/s]$j7RI"9UF_"D7'$!6jj6!u;"BRJHj`.3/<i"t=/ilMpnSaSu81qYp]61B[h@qu6ok
+s4pZX"<tY1rrL_YrWEO%bh\[2"9^`jj88iVlJ2CEnc/WT$j7c?rVuofs8N7u*!?C)f=V%gn\AK?
+"9]-5_#=95fCoCJ(A7k4ZN'IarrgOK('G'D"99&-"9Aq:nG`LKlN@4'pAY/],5hWH3JQA[JcG]K
+J,~>
+QN%0as8TkS"=!jF"McGl"LA"+rr`?Oj8Ao\nc/V<";^n7!eq--qu6Z]rWE4Un,F.C":UTabeV#[
+TM5i,TSB+oL6dQ&$teo,(X*!j(4_-oR>-H?*!A8rG>4BRL1UPkQMLO_lJ7jgrWEH73LSLhs8VWd
+rrD*&rrnf>":U%@qYpcUJ/etaT]=f,!qGR@rr35IL,/r86C-7&rs.S=+p8$/_"#qS$1Y;@"<=`I
+s6AnKrsA4g3<TJ>nc/XZ_>al&Z:u);":S:u_"%C'$/H!m$n2Sn":P_<"9958"995:"9QC=naQPY
+fDYmQ*;p!M*$PLg*#9_6$k+R#":W*8rrhTi":S</L(9Vq3<Y(kQA1-^Q8o'N_"I^0f75k$rWEB?
+B#*s:nU^^j~>
+QN%0as8TkS"=!jF"McGl"LA"+rr`?Oj8Ao\nc/V<";^n7!eq--qu6Z]rWE4Un,F.C":UTabeV#[
+TM5i,TSB+oL6dQ&$teo,(X*!j(4_-oR>-H?*!A8rG>4BRL1UPkQMLO_lJ7jgrWEH73LSLhs8VWd
+rrD*&rrnf>":U%@qYpcUJ/etaT]=f,!qGR@rr35IL,/r86C-7&rs.S=+p8$/_"#qS$1Y;@"<=`I
+s6AnKrsA4g3<TJ>nc/XZ_>al&Z:u);":S:u_"%C'$/H!m$n2Sn":P_<"9958"995:"9QC=naQPY
+fDYmQ*;p!M*$PLg*#9_6$k+R#":W*8rrhTi":S</L(9Vq3<Y(kQA1-^Q8o'N_"I^0f75k$rWEB?
+B#*s:nU^^j~>
+QN%0as8TkS"=!jF"McGl"LA"+rr`?Oj8Ao\nc/V<";^n7!eq--qu6Z]rWE4Un,F.C":UTabeV#[
+UeM80UkY\"L6dQ&$teo,(X*!j(4_-oR>-H?*!A8rG>4BRL1UPkQMLO_lJ7jgrWEH73LSLhs8VWd
+rrD*&rrnf>":U%@qYpcUJ/etaUuU50!qGR@rr35IL,/r86C-7&rs.S=+p8$/_"#qS$1Y;@"<=`I
+s6AnKrsA4k3<TJ>nc/XZ_>al&Z:u);":S:u_"%C'$/H!m$n2Sn":P_<"9958"995:"9QC=naQPY
+fDYmQ*;p!M*$PLg*#9_6$k+R#":W*8rrhTi":S</L(9Vq3<Y(kQA1-^Q8o'N_"I^0f75k$rWEB?
+B#*s:nU^^j~>
+Qi@<cnc/BP#Qu@Nrrg+n#R%I3s8N3&3TKr8$lfBcs7,XZs7'\(ZN'jm"P4%b"G#t@!uqFmnb`=f
+J-<1Trr^I\"D7'$"O%8W3U6MA"^`7Ts8VB`rr]P0"I\u`"65eL1]@LY(14lSrrDT;rrDTdrrq5/
+('GhSq>UWg?N_g4h:_i.j8T&_Z7,nZ(5D,RrrDTgrs,i0$j7>Xbjj?cs7--h"Mc2a.C/dL#0]C:
+"BFLPaSu;2lM^_aZ@Eqo"9TWf_!:dr)<qV5:"S"@bh((S66*embh([pb[qgtZN'Iartj8i*+-q6
+f?DJ!f-3#dfA4Zdbh#ht"MjO,"RuTt1Vinf!It=Lrr[cS"MjU.!MD7I"9K?_h1>S+s*t~>
+Qi@<cnc/BP#Qu@Nrrg+;#R%I3s8N3&3TKr8$lfBcs7,XZs7'\(ZN'jm"P4%b"G#t@!uqFmnb`=f
+J-<1Trr^I\"D7'$"O%8W3U6MA"^`7Ts8VB`rr]P0"I\u`"65eL1]@LY(14lSrrDT;rrDTdrrq5/
+('GhSq>UWg?N_g4h:_i.j8T&_Z7,nZ(5D,RrrDTgrs,i0$j7>Xbjj?cs7--h"Mc2a.C/dL#0]C:
+"BFLPaSu;2lM^_aZ@Eqo"9TWf_!:dr)<qV5:"S"@bh((S66*embh([pb[qgtZN'Iartj8i*+-q6
+f?DJ!f-3#dfA4Zdbh#ht"MjO,"RuTt1Vinf!It=Lrr[cS"MjU.!MD7I"9K?_h1>S+s*t~>
+Qi@<cnc/BP#Qu@Nrrg+n#R%I3s8N3&3TKr8$lfBcs7,XZs7'\(ZN'jm"P4%b"G#t@!uqFmnb`=f
+J-<1Trr^I\"D7'$"O%8W3U6MA"^`7Ts8VB`rr]P0"I\u`"65eL1]@LY(14lSrrDT;rrDTdrrq5/
+('GhWq>UWg?N_g4h:_i.j8T&_Z7,nZ(5D,RrrDTgrs,i0$j7>Xbjj?cs7--h"Mc2a.C/dL#0]C:
+"BFLPaSu;2lM^_aZ@Eqo"9TWf_!:dr)<qV5:"S"@bh((S66*embh([pb[qgtZN'Iartj8i*+-q6
+f?DJ!f-3#dfA4Zdbh#ht"MjO,"RuTt1Vinf!It=Lrr[cS"MjU.!MhOM"9K?_h1>S+s*t~>
+PlCmOAcr5\rr3,:.0p'^rVum#!@ck's8VWhrrjAF%0-@trr3%M"L@q)"QL[/"G#t@!ZV=err2u`
+rr3%3"JGYl"3^lNB'oU$bQJ&)lMgehnc/VL"Mk';j8T&\Z31;bq>UHTr;QigJ1:I#"<pQp_!9)B
+$1Z5H"9_`Vs8V-Wrrp2F":UUdf)H!FZ;hYC*-]3ts8VWhrsJ;rs5UCs"9]-5^t8Snnc/X).0Lif
+s8VWdrs4,X">d@`s6Amkrs@u+AfLpV$n6DEp\t?U"9`?5rrG+_qYp_L$j=BGnaQP]f)uLonb`@d
+,5V<AJ-6"jnG`a`"9^a:s8VWgrsXVbfBWD+nc/W5"9cO1rsJ%ZAjRI?":RVOj+IA^~>
+PlCmOAcr5\rr3,:.0p'^rVum#!@ck's8VWhrrjAF%0-@trr3%M"L@q)"QL[/"G#t@!ZV=err2u`
+rr3%3"JGYl"3^lNB'oU$bQJ&)lMgehnc/VL"Mk';j8T&\Z31;bq>UHTr;QigJ1:I#"<pQp_!9)B
+$1Z5H"9_`Vs8V-Wrrp2F":UUdf)H!FZ;hYC*-]3ts8VWhrsJ;rs5UCs"9]-5^t8Snnc/X).0Lif
+s8VWdrs4,X">d@`s6Amkrs@u+AfLpV$n6DEp\t?U"9`?5rrG+_qYp_L$j=BGnaQP]f)uLonb`@d
+,5V<AJ-6"jnG`a`"9^a:s8VWgrsXVbfBWD+nc/W5"9cO1rsJ%ZAjRI?":RVOj+IA^~>
+PlCmOAcr5\rr3,:.0p'^rVum#!@ck's8VWhrrjAF%0-@trr3%M"L@q)"QL[/"G#t@!ZV=err2u`
+rr3%3"Jkqp"3^lNB'oU$bQJ&)lMgehnc/VL"Mk';j8T&\Z31;bq>UHTr;QigJ1:I#"<pQp_!9)B
+$1Z5H"9_`Vs8V-Wrrp2F":UUdf)H!FZ;hYC*-]3ts8VWhrsJ;rs5UCs"9]-5^t8Snnc/X).0Lij
+s8VWdrs4,X">d@`s6Amkrs@u+AfLpV$n6DEp\t?U"9`?5rrG+_qYp_L$j=BGnaQP]f)uLonb`@d
+,5V<AJ-6"jnG`a`"9^a:s8VWgrsXVbfBWD+nc/W5"9cO1rsJ%ZAjRI?":RVOj+IA^~>
+QN%0ab_@PL"=!jF"McGl"LA"+rr`?Yj8K#Xnc/Uj*!@&SrrRoX_#+-7l7!,EJFEL>*!@&VrrDTg
+rsW6;RK)gWj8].p"9`?(rrgpV"?H#LrrQ1'h>@3SZ31<'nc&[HQ9"pI!u<>0^s)f_lEXb*%!Ub2
+rrD*Yrs%bV3<UOVj8JuXn_F-LlHFbe"9`);rr<#grr<#grVm,YG;B@).>GXkrrD?`rro\P"<<`m
+rr<#gs8N;TAg.@XZLQ':$I"oF*!?B[L7lc\pAYBL"9_']s7,XYrrF)BqYpeT"9cO?nc/.Mrr^jU
+"F'_Brri<##4_`nAcr7\n,NCj!@bh]rr]P0j73'I"b6^Y_#Ns"rrDTfrrq6Ys6>=fr<*4&L9fWi
+s*t~>
+QN%0ab_@PL"=!jF"McGl"LA"+rr`?Yj8K#Xnc/Uj*!@&SrrRoX_#+-7l7!,EJFEL>*!@&VrrDTg
+rsW6;RK)gWj8].p"9`?(rrgpV"?H#LrrQ1'h>@3SZ31<'nc&[HQ9"pI!u<>0^s)f_lEXb*%!Ub2
+rrD*Yrs%bV3<UOVj8JuXn_F-LlHFbe"9`);rr<#grr<#grVm,YG;B@).>GXkrrD?`rro\P"<<`m
+rr<#gs8N;TAg.@XZLQ':$I"oF*!?B[L7lc\pAYBL"9_']s7,XYrrF)BqYpeT"9cO?nc/.Mrr^jU
+"F'_Brri<##4_`nAcr7\n,NCj!@bh]rr]P0j73'I"b6^Y_#Ns"rrDTfrrq6Ys6>=fr<*4&L9fWi
+s*t~>
+QN%0ab_@PL"=!jF"McGl"LA"+rr`?Yj8K#Xnc/Uj*!@&SrrRoX_#+-7l7!,EJFEL>*!@&VrrDTg
+rsW6;RK)gWj8].p"9`?(rrgpV"?H#LrrQ1'h>@3SZ31<+nc&[HQ9"pI!u<>0^s)f_lEXb*%!Ub2
+rrD*Yrs%bV3<UOVj8JuXn_F-LlHFbe"9`);rr<#grr<#grVm,YG;B@).>GXkrrD?`rro\P"<<`m
+rr<#gs8N;TAg.@XZLQ':$I"oF*!?B[L8<&`pAYBL"9_']s7,XYrrF)BqYpeT"9cO?nc/.Mrr^jU
+"F'_Brri<##4_`nAcr7\n,NCj!@bh]rr]P0j73'I"b6^Y_#Ns"rrDTfrrq6Ys6>=fr<*4&L9fWi
+s*t~>
+R/[9RTO/];"99nMrrgM$#R%I3s8N3&1ZS?3%-eT2"O+0W^p:af"GZfh"J?qI"GZCF![7a_qYpVI%
+'od1"3^lNB'oU$bR=V'nb`=h63P+(lM^_bZ31;rq>UHbp\tQ[AgnJu"<qH`lHfJCZ9e[6L?eg/j
+730>s6>=S"<=`ErrD??rrLq3rWE9YQKn/C!:g$f!qD[7rWE8GlIPt=^f:L?GMW,q#4^^V";ZOJc
+2Rk1f6@2s!t6Atbjtc9irfKlrVm#js8O&Arr2ugrr3.V"9cO?naQP\f)u4gqZ$QuqYpY0"9c%"r
+rhTi"<<j,rr]PH_"%@&"+ULW_"@X,nbN1kZ:uMY"9]--QJIAsJ,~>
+R/[9RTO/];"99nMrrgM$#R%I3s8N3&1ZS?3%-eT2"O+0W^p:af"GZfh"J?qI"GZCF![7a_qYpVI%
+'od1"3^lNB'oU$bR=V'nb`=h63P+(lM^_bZ31;rq>UHbp\tQ[AgnJu"<qH`lHfJCZ9e[6L?eg/j
+730>s6>=S"<=`ErrD??rrLq3rWE9YQKn/C!:g$f!qD[7rWE8GlIPt=^f:L?GMW,q#4^^V";ZOJc
+2Rk1f6@2s!t6Atbjtc9irfKlrVm#js8O&Arr2ugrr3.V"9cO?naQP\f)u4gqZ$QuqYpY0"9c%"r
+rhTi"<<j,rr]PH_"%@&"+ULW_"@X,nbN1kZ:uMY"9]--QJIAsJ,~>
+R/[9RUgG,?"99nMrrgM$#R%I3s8N3&1ZS?3%-eT2"O+0W^p:af"GZfh"Jd4M"GZCF![7a_qYpVI%
+'od1"3^lNB'oU$bR=V'nb`=h63P+(lM^_bZ31;rq>UHbp\tQ[AgnJu"<qH`lHfJCZ9e[6L?eg/j
+730>s6>=S"<=`ErrD??rrLq3rWE9YQKn/C!:g$f!qD[7rWE8GlIPt=^f:L?GMW,q#4^^V";ZOJc
+2Rk1f6@2s!t6Atbjtc9irfKlrVm#js8O&Arr2ugrr3.V"9cO?naQP\f)u4gqZ$QuqYpY0"9c%"r
+rhTi"<<j,rr]PH_"%@&"+ULW_"@X,nbN1kZ:uMY"9]--QJIAsJ,~>
+Sc8][rr3#N:&Y8((*!G[1\h"Mh+\"TZMjh'"9COCrVm,ms8V@."9^aU"9T&8"F'>7(*!G[G@kGo
+?WC\u"BAf9<F9?M?N^LDmJd:4$k,K!rrQ1/fDGRMTEGC`m/I1JTJI#U"9MTIlMLS]n_*pGf2VqV
+?etSY"l3bn"CKd4rs%MO+p8#tL?njEZ;hYC"?EdJfDc#uAdeeuZMOS*nR!7="F'Chs8VWcrrVJO
+1]@LZ*)2jdnG`UN"9_a$rrEl<qYp_C"9cO?naQP\bQJ]*qZ$R8qYpYJ$j<!frtk2.";ZaD^p:8]
+f7k&qh>dNFs8R9G"Mj:%"5U7L(B+F<3LS_%s8MQcs8VVWs*t~>
+Sc8][rr3#N:&Y8((*!G[1\h"Mh+\"TZMjh'"9COCrVm,ms8V@."9^aU"9T&8"F'>7(*!G[G@kGo
+?WC\u"BAf9<F9?M?N^LDmJd:4$k,K!rrQ1/fDGRMTEGC`m/I1JTJI#U"9MTIlMLS]n_*pGf2VqV
+?etSY"l3bn"CKd4rs%MO+p8#tL?njEZ;hYC"?EdJfDc#uAdeeuZMOS*nR!7="F'Chs8VWcrrVJO
+1]@LZ*)2jdnG`UN"9_a$rrEl<qYp_C"9cO?naQP\bQJ]*qZ$R8qYpYJ$j<!frtk2.";ZaD^p:8]
+f7k&qh>dNFs8R9G"Mj:%"5U7L(B+F<3LS_%s8MQcs8VVWs*t~>
+Sc8][rr3#N:&Y8((*!G[1\h"Mh+\"TZMjh'"9COCrVm,ms8V@."9^aU"9T&8"F'>7(*!G[G@kGo
+?WC\u"BAf9<F9?M?N^LDmJd:4$k,K!rrQ1/fDGRMU]^gdm/I1JUb`GY"9MTIlMLS]n_*pGf2VqV
+?etSY"l3bn"CKd4rs%MO+p8#tL?njEZ;hYC"?EdJfDc#uAdeeuZMOS*nR!7="F'Chs8VWcrrVJO
+1]@LZ*)2jdnG`UN"9_a$rrEl<qYp_C"9cO?naQP\bQJ]*qZ$R8qYpYJ$j<!frtk2.";ZaD^p:8]
+f7k&qh>dNFs8R9G"Mj:%"5U7L(B+F<3LS_%s8MQcs8VVWs*t~>
+V#UJbs8N)hrr3&[L,8c2%78:j&HjQXs8UnL"9c%/s8N3&3U6SC&Fof#nKJ)EfA59Jh;)ZOT^)I8
+"j@qh"D72nrrX5D"ASh=%MgK;">^f5+r2UV1B[hmmJd@A$j6\W%/g;<*"2s!$j6tS$mHYo%'o0u
+$LtE6*!?B[3FB)Wrr2ugh#@WLs1gDn*/<MMrro\g";Z45h>[KFrVm,_J/e[p<L2\0rrV5KB)Vo6
+1U>U3"dpP;(7+"[s8VWhrro\a";ZaWr;Qceg&D-6L,8f3![<B7mJe-q$l2jp^t72oj4?U5fA597
+h:LJ,+p>^]nc/.MrrgpV":QLP":[-i"=XHV*"2ri$j6^!n,N@i#!$m%+rip9rWETE3?fFl1DU)r
+_#NrnrrDTerr_f,J/nOk"!V*FlAbgo~>
+V#UJbs8N)hrr3&[L,8c2%78:j&HjQXs8UnL"9c%/s8N3&3U6SC&Fof#nKJ)EfA59Jh;)ZOT^)I8
+"j@qh"D72nrrX5D"ASh=%MgK;">^f5+r2UV1B[hmmJd@A$j6\W%/g;<*"2s!$j6tS$mHYo%'o0u
+$LtE6*!?B[3FB)Wrr2ugh#@WLs1gDn*/<MMrro\g";Z45h>[KFrVm,_J/e[p<L2\0rrV5KB)Vo6
+1U>U3"dpP;(7+"[s8VWhrro\a";ZaWr;Qceg&D-6L,8f3![<B7mJe-q$l2jp^t72oj4?U5fA597
+h:LJ,+p>^]nc/.MrrgpV":QLP":[-i"=XHV*"2ri$j6^!n,N@i#!$m%+rip9rWETE3?fFl1DU)r
+_#NrnrrDTerr_f,J/nOk"!V*FlAbgo~>
+V#UJbs8N)hrr3&[L,8c2%78:j&HjQXs8UnL"9c%/s8N3&3U6SC&Fof#nKJ)EfA59Jh;)ZOV!@m<
+"j@qh"D72nrrX5D"ASh=%MgK;">^f5+r2UV1B[hmmJd@A$j6\W%/g;<*"2s!$j6tS$mHYo%'o0u
+$LtE6*!?B[3FB)Wrr2ugh#@WLs1gDn*/<MMrro\g";Z45h>[KFrVm,_J/e[p<L2\0rrV5KB)Vo6
+1U>U3"dpP;(7+"[s8VWhrro\a";ZaWr;Qceg&D-6L,8f3![<B7mJe-q$l2jp^t72oj4?U5fA597
+h:LJ,+p>^]nc/.MrrgpV":QLP":[-i"=XHV*"2ri$j6^!n,N@i#!$m%+rip9rWETE3?fFl1DU)r
+_#NrnrrDTerr_f,J/nOk"!V*JlAbgo~>
+VuHbeqYpZfZ;h\>":ubhRFhK6+p9^ss8UnL"9c%/s8N3&3TL)<!:g'g!Ytn_qu6_P"Mjp7"QLI)
+"G#t@!ZVskqYpVI"Mjp7"3_M`B'oU7bR=n"GB[YLGB\ct"CGbQL3I!33<TJQkl1bT^iq"%"9TWN
+ZK'X<"P5F4,-q4J!:g'g"l5gS"<=)ers.i)?N^KO6J(K%!:g$f#G>ZK";Y@MlJ2C>nc&Ol^f:LW
+B$C8S!:g'g"i*G-"AQ]2s8VWErr_)_Ai'Dh!]akuli-tMrWE3:mfW^-s7,UY"kNkc1Os*:G7J5N
+()DXTAq4KDQ9k]_j7*'bl3%50QLXM*h;ddg*/<MDlK[p>Acr7Pm/R+Ur;QlaZ=Y<["9T',L;<`e
+rpc?TJ,~>
+VuHbeqYpZfZ;h\>":ubhRFhK6+p9^ss8UnL"9c%/s8N3&3TL)<!:g'g!Ytn_qu6_P"Mjp7"QLI)
+"G#t@!ZVskqYpVI"Mjp7"3_M`B'oU7bR=n"GB[YLGB\ct"CGbQL3I!33<TJQkl1bT^iq"%"9TWN
+ZK'X<"P5F4,-q4J!:g'g"l5gS"<=)ers.i)?N^KO6J(K%!:g$f#G>ZK";Y@MlJ2C>nc&Ol^f:LW
+B$C8S!:g'g"i*G-"AQ]2s8VWErr_)_Ai'Dh!]akuli-tMrWE3:mfW^-s7,UY"kNkc1Os*:G7J5N
+()DXTAq4KDQ9k]_j7*'bl3%50QLXM*h;ddg*/<MDlK[p>Acr7Pm/R+Ur;QlaZ=Y<["9T',L;<`e
+rpc?TJ,~>
+VuHbeqYpZfZ;h\>":ubhRFhK6+p9^ss8UnL"9c%/s8N3&3TL)<!:g'g!Ytn_qu6_P"Mjp7"QLI)
+"G#t@!ZVskqYpVI"Mjp7"3_M`B'oU7bR=n"GB[YLGB\ct"CGbQL3I!33<TJQkl1bT^iq"%"9TWN
+ZK'X<"P5F4,-q4J!:g'g"l5sW"<=5irs.i)?N^KO6J(K%!:g$f#GbrO";Y@MlJ2C>nc&Ol^f:LW
+B$C8S!:g'g"i*G-"AQ]2s8VWErr_)_Ai'Dh!]akuli-tMrWE3:mfW^-s7,UY"kNkc1Os*:G7J5N
+()DXTAq4KDQ9k]_j7*'bl3%50QLXM*h;ddg*/<MDlK[p>Acr7Pm/R+Ur;QlaZ=Y<["9T',L;<`e
+rpc?TJ,~>
+W;lnfrVm#cj!cu;rWEiXJBR6Xs7hub">fiQs4p!E"LA"+rr`?_j8&]V$j7"9rrSJhZMXY%h>RNZ
+GQ7^5o)Ab2"9eZ&#4__*"LA'mrVlu8"9`?(rrgOS"?H#LrrQ1'ZMXY(R03YIo)A^[r;Zcdrr3)j
+^kO'4"9T'>ZJF=9"P6WV"GZmT$1\&qj(8Ds*.[>4rrDTers8/=1COC%GJNb-rs#,F"9]-`n_!jG
+Z5`uM<O1ohrsS,ls-Xi0"CJtEs7+qF"5TVM*<$'B3L8M#s8VWgrrD?SrtlL[<Qr8&bh(Ij3>TEd
+bfn\_f4H30ZN'Iarr^IJ$tfA9!>Z[Orr[cS"O-B8#MfLc<TF,Lnc&OiTFA.'rr[cS"Mj$s"2KF]
+,5q]H.@/T`rrDSUs*t~>
+W;lnfrVm#cj!cu;rWEiXJBR6Xs7hub">fiQs4p!E"LA"+rr`?_j8&]V$j7"9rrSJhZMXY%h>RNZ
+GQ7^5o)Ab2"9eZ&#4__*"LA'mrVlu8"9`?(rrgOS"?H#LrrQ1'ZMXY(R03YIo)A^[r;Zcdrr3)j
+^kO'4"9T'>ZJF=9"P6WV"GZmT$1\&qj(8Ds*.[>4rrDTers8/=1COC%GJNb-rs#,F"9]-`n_!jG
+Z5`uM<O1ohrsS,ls-Xi0"CJtEs7+qF"5TVM*<$'B3L8M#s8VWgrrD?SrtlL[<Qr8&bh(Ij3>TEd
+bfn\_f4H30ZN'Iarr^IJ$tfA9!>Z[Orr[cS"O-B8#MfLc<TF,Lnc&OiTFA.'rr[cS"Mj$s"2KF]
+,5q]H.@/T`rrDSUs*t~>
+W;lnfrVm#cj!cu;rWEiXJBR6Xs7hub">fiQs4p!E"LA"+rr`?_j8&]V$j7"9rrSJhZMXY%h>RNZ
+GQ7^5o)Ab2"9eZ&#4__*"LA'mrVlu8"9`?(rrgOS"?H#LrrQ1'ZMXY(R03YIo)A^[r;Zcdrr3)j
+^kO'4"9T'>ZJF=9"P6WV"GZmT$1\&qj(8Ds*.[>4rrDTers8/=1COC%GJNb-rs#8J"9]-`n_!jG
+Z5`uM<O1ohrsS,ls-Xi0"CJtEs7+qF"5TbQ*<$'B3L8M#s8VWgrrD?SrtlL[<Qr8&bh(Ij3>TEd
+bfn\_f4H30ZN'Iarr^IJ$tfA9!>Z[Orr[cS"O-B8#MfLc<TF,Lnc&OiU^XR+rr[cS"Mj$s"2KF]
+,5q]H.@/T`rrDSUs*t~>
+V#LPeTM6F*"9K!+ZMOS/f+A-7q#CBM63IFsrVum#!BK39rrjSL"TSMlrr3%M"L@q)#O4)J"D7]6
+nac\]*"2uJrs&#nJ-<1XnbrIibQJ&\mJe!S('H)Vs8VWSs8PCofDkm2h<P$+"9bC`s8VWdrrV5d
+<W*%%,%eXKrrq]'"9]-fqYp`hJ//7jL>)Y4lBYEi"9_H7qYpQcjo5SATL&ba3Io`;rsA5qs7*B=
+"9^`jrVm/ns8TAR"9`r=rVllfir9>/Agn,k"<:./j8JuXnbiCenac\^irfKlqYpR3"T&-%G6A&a
+s7,UY"4mYYB)_f7n`p/E$j>kprs&#ns*tL\ZLIksl3%56ZMa_3nULbJlMpnLs8R9G"MjI*!:fmb
+!:g$f!p['urWE?4"F%0APlH7~>
+V#LPeTM6F*"9K!+ZMOS/f+A-7q#CBM63IFsrVum#!BK39rrjSL"TSMlrr3%M"L@q)#O4)J"D7]6
+nac\]*"2uJrs&#nJ-<1XnbrIibQJ&\mJe!S('H)Vs8VWSs8PCofDkm2h<P$+"9bC`s8VWdrrV5d
+<W*%%,%eXKrrq]'"9]-fqYp`hJ//7jL>)Y4lBYEi"9_H7qYpQcjo5SATL&ba3Io`;rsA5qs7*B=
+"9^`jrVm/ns8TAR"9`r=rVllfir9>/Agn,k"<:./j8JuXnbiCenac\^irfKlqYpR3"T&-%G6A&a
+s7,UY"4mYYB)_f7n`p/E$j>kprs&#ns*tL\ZLIksl3%56ZMa_3nULbJlMpnLs8R9G"MjI*!:fmb
+!:g$f!p['urWE?4"F%0APlH7~>
+V#LPeUeMj."9K!+ZMOS/f+A-7q#CBM63IFsrVum#!BK39rrjSL"TSMlrr3%M"L@q)#O4)J"D7]6
+nac\]*"2uJrs&#nJ-<1XnbrIibQJ&\mJe!S('H)Vs8VWSs8PCofDkm2h<P$+"9bOds8VWdrrV5d
+<W*%%,%eXKrrq]'"9]-fqYp`hJ//7jL>)Y4lBYEi"9_H7qYpQcjo5SAUd>1e3Io`;rsA5qs7*B=
+"9^`jrVm/ns8TAR"9`r=rVllfir9>/Agn,k"<:.3j8JuXnbiCenac\^irfKlqYpR3"T&-%G6A&a
+s7,UY"4mYYB)_f7n`p/E$j>kprs&#ns*tL\ZLIksl3%56ZMa_3nULbJlMpnLs8R9G"MjI*!:fmb
+!:g$f!p['urWE?4"F%0APlH7~>
+VZ-tfR8kF6"=['"bkqDEq#CBh$j8$Xrr[HJ"LA"+rr`?_lM^__nc&Oi('HGkrr_P1"Mjp7#O4)R
+"G$OPnac\a*!@JUs8VWgrrQd8ZMXY(^`3JhmJdEs"9_`bs8VWgrrc[3fDk.7rr\Yl"JF`R$0o`b
+1B[gh,#t<8rrDTSrs7o[s5S;P">djls8VTos7(UZ"9cs6jo5>Nq#:TTAekLP<LN.Ns8VB[rsJ%s
+G?%X;9iYe[_"7R2b[qUn"?De(gA_?.Acr6'h>7-TZ<n"UB%R%^!:f.M!l.,OrWE<`B#*Hgrr_co
+"CM--"S)Nl('OX:!:g'g"bmEg_#NrsrrDTgrs.?_"BFL^s7-*g$l0!9s6B.Es8R9G"G$"A"R6a*
+,-q+G%#+nQlMpnSs8R9G"Mj.!!:fsd"5TAW1]@LZ*%?EoQN)I~>
+VZ-tfR8kF6"=['"bkqDEq#CBh$j8$Xrr[HJ"LA"+rr`?_lM^__nc&Oi('HGkrr_P1"Mjp7#O4)R
+"G$OPnac\a*!@JUs8VWgrrQd8ZMXY(^`3JhmJdEs"9_`bs8VWgrrc[3fDk.7rr\Yl"JF`R$0o`b
+1B[gh,#t<8rrDTSrs7o[s5S;P">djls8VTos7(UZ"9cs6jo5>Nq#:TTAekLP<LN.Ns8VB[rsJ%s
+G?%X;9iYe[_"7R2b[qUn"?De(gA_?.Acr6'h>7-TZ<n"UB%R%^!:f.M!l.,OrWE<`B#*Hgrr_co
+"CM--"S)Nl('OX:!:g'g"bmEg_#NrsrrDTgrs.?_"BFL^s7-*g$l0!9s6B.Es8R9G"G$"A"R6a*
+,-q+G%#+nQlMpnSs8R9G"Mj.!!:fsd"5TAW1]@LZ*%?EoQN)I~>
+VZ-tfR8kF6"=['"bkqDEq#CBh$j8$Xrr[HJ"LA"+rr`?_lM^__nc&Oi('HGkrr_P1"Mjp7#O4)R
+"G$OPnac\a*!@JUs8VWgrrQd8ZMXY(^`3JhmJdEs"9_`bs8VWgrrc[3fDk.7rr\Yl"Jk#V$0o`b
+1B[gh,#tH<rrDTSrs7o[s5S;P">djls8VTos7(UZ"9cs6jo5>Nq#:TTAekLP<LN.Ns8VB[rsJ%s
+G?%X;9iYe[_"7R2b[qUn"?De(gA_?.Acr6'h>7-TZ<n"UB%R%^!:f.M!l.,OrWE<`B#*Hgrr_co
+"CM--"S)Nl('OX:!:g'g"bmEg_#NrsrrDTgrs.?_"BFL^s7-*g$l0!9s6B.Es8R9G"G$"A"R6a*
+,-q+G%#+nQlMpnSs8R9G"Mj.!!:fsd"5TAW1]@LZ*%?EoQN)I~>
+Y5\OmlMgecj-aL.rWE<I:"Sq3rrDTfs8N3%,5qNDL'.XbrVum#!CH)IrtudZ1U=gJj6GHd.@K5]
+j4DN8bSC<aGQ7^'o)Ae@"?G*2rrQd8T_n`k^bZ+*o)A^[rVm#9('I@Ur;R5r63P+(h>d$Fs.BJt
+QK.uFnc&Ojn\BlRrWEH7,(S;Fs6B.RrrDT[rs8/ps5ShL"CJtCrs8/ps1h>3"CJt&rrMZTrVm)-
+63IE?GObY3!:g$f#4]KQ.2E[-o)o.^RGIE.rs->"*!?C)ZLRnn!UB46rrqG5$j8#bqYp`Z3<TI6
+_!h:'nb`=dlMgeilBt?^"9]K#JCif\#4Vg!:&k7`rVlmB"T&-%L'.Xps7,UY"4mYaLAq2Qnc&Rg
+"TA?)lMpm7"9aJKrrgpn"?F9prsuC<B&3Lenc/W5"9cO?s6AMA"QR:PJ/nOk!]cq6R/_[~>
+Y5\OmlMgecj-aL.rWE<I:"Sq3rrDTfs8N3%,5qNDL'.XbrVum#!CH)IrtudZ1U=gJj6GHd.@K5]
+j4DN8bSC<aGQ7^'o)Ae@"?G*2rrQd8T_n`k^bZ+*o)A^[rVm#9('I@Ur;R5r63P+(h>d$Fs.BJt
+QK.uFnc&Ojn\BlRrWEH7,(S;Fs6B.RrrDT[rs8/ps5ShL"CJtCrs8/ps1h>3"CJt&rrMZTrVm)-
+63IE?GObY3!:g$f#4]KQ.2E[-o)o.^RGIE.rs->"*!?C)ZLRnn!UB46rrqG5$j8#bqYp`Z3<TI6
+_!h:'nb`=dlMgeilBt?^"9]K#JCif\#4Vg!:&k7`rVlmB"T&-%L'.Xps7,UY"4mYaLAq2Qnc&Rg
+"TA?)lMpm7"9aJKrrgpn"?F9prsuC<B&3Lenc/W5"9cO?s6AMA"QR:PJ/nOk!]cq6R/_[~>
+Y5\OmlMgecj-aL.rWE<I:"Sq3rrDTfs8N3%,5qNDL'.XbrVum#!CH)IrtudZ1U=gJj6GHd.@K5]
+j4DN8bSC<aGQ7^'o)Ae@"?G*2rrQd8V#1/o^bZ+*o)A^[rVm#9('I@Ur;R5r63P+(h>d$Fs.fc#
+QK.uFnc&Ojn\BlRrWEH7,(S;Fs6B.RrrDT[rs8/ps5ShL"CJtCrs8/ps1h>3"CJt&rrMZTrVm)-
+63IE?GObY3!:g$f#4]KQ.2E[-o)o.^RGIE.rs->"*!?C)ZLRnn!UB46rrqG5$j8#bqYp`Z3<TI6
+_!h:'nb`=dlMgeilBt?^"9]K#JCif\#4Vg!:&k7`rVlmB"T&-%L'.Xps7,UY"4mYaLAq2Qnc&Rg
+"TA?)lMpm7"9aJKrrgpn"?F9prsuC<B&3Lenc/W5"9cO?s6AMA"QR:PJ/nOk!]d(:R/_[~>
+Y5\^rs8V,b?P`VD"!V@$nbrIglLF]Mrr`<GrVltS"9c%/s8N3&6LjmO(*Wka+p8;i.4GZ."<93H
+$j7P!$j6]Wn,F.Z$n6CTJ9Q`uJ3k#YGB]?bGD9*;"F'85"Mb-[GO#)*!e;`Uqu6c(()ES'rrDTd
+rr_)364Ehr!ZZs=rr3#anaHJ]h.@E*.I-d0"gTQ["F'.crs"cF"9]^!j8T)Ync&OklIUb>%/U/7
+,#s/ZJ;0A??RZch"9T'4TYUC'#k>])"9]]O^to"is7,%I"J?/+*/=Ims7--h"i,<t";\<+rs?o(
+64<u"$t$g?i;WoL"9`?5rrFnYqYp_L$j=BGnaQP]f)uM:nb`=e+t<Bg"+ULWB(5g(f-1>;L@P3A
+"0ro4j8AoZJ-6"\f`)8`Ag.?\(--!"bl.PAj.QF&~>
+Y5\^rs8V,b?P`VD"!V@$nbrIglLF]Mrr`<GrVltS"9c%/s8N3&6LjmO(*Wka+p8;i.4GZ."<93H
+$j7P!$j6]Wn,F.Z$n6CTJ9Q`uJ3k#YGB]?bGD9*;"F'85"Mb-[GO#)*!e;`Uqu6c(()ES'rrDTd
+rr_)364Ehr!ZZs=rr3#anaHJ]h.@E*.I-d0"gTQ["F'.crs"cF"9]^!j8T)Ync&OklIUb>%/U/7
+,#s/ZJ;0A??RZch"9T'4TYUC'#k>])"9]]O^to"is7,%I"J?/+*/=Ims7--h"i,<t";\<+rs?o(
+64<u"$t$g?i;WoL"9`?5rrFnYqYp_L$j=BGnaQP]f)uM:nb`=e+t<Bg"+ULWB(5g(f-1>;L@P3A
+"0ro4j8AoZJ-6"\f`)8`Ag.?\(--!"bl.PAj.QF&~>
+Y5\^rs8V,b?P`VD"!V@$nbrIglLF]Mrr`<GrVltS"9c%/s8N3&6LjmO(*Wka+p8;i.4GZ."<93H
+$j7P!$j6]Wn,F.Z$n6CTJ9Q`uJ3k#YGB]?bGD9*;"F'85"Mb-[GO#)*!e;`Uqu6c(()E_+rrDTd
+rr_)364Ehr!ZZs=rr3#anaHJ]h.@E*.I-d0"gTQ["F'.crs"cF"9]^!j8T)Ync&OklIUb>%/U/7
+,#s/ZJ;0A??RZch"9T'4Uqlg+#k>])"9]]O^to"is7,%I"JcG/*/=Ims7--h"i,<t";\<+rs?o(
+64<u"$t$g?i;WoL"9`?5rrFnYqYp_L$j=BGnaQP]f)uM:nb`=e+t<Bg"+ULWB(5g(f-1>;L@P3A
+"0ro4j8AoZJ-6"\f`)8`Ag.?\(--!&bl.PAj.QF&~>
+XoAanZ<nRS":R;Fbjk9("7ZKs,5qNDL'.XbrVum#!BKH@rr=MI"99Y8"9W9$s7,[[!$(>.!+5-n
+#2LI+$n3tgr[A:4('H'H*'#f(68J`IL>`(3nb`=ff7kaR"9K?GZL.Ytf3\X`:#5jLlMgehnV.GT
+,-q7Kn_X9Ph1c=@"?F9ts7-!d!ol9LrWEE@.93[Zbh`*p"ln4?G>/kO"9Uu&ZLRhl#NN*s$j6]-
+^t\l$^eFq7JB\&nnaZYZl@9!?:#kR>"66&).K0GP,%fZkhZ"&T"9_'CbeVidf??r/fDaS3j4Dn,
+*!F(WnaQP^f)u3l.67>U"%!+n6N/bF<F9>u";[<nru:L[.0Kbt3?0"S.5MA8$mIJO*$QgI"9cO?
+s6A;;!mH0Dr<*0XQKk%@J,~>
+XoAanZ<nRS":R;Fbjk9("7ZKs,5qNDL'.XbrVum#!BKH@rr=MI"99Y8"9W9$s7,[[!$(>.!+5-n
+#2LI+$n3tgr[A:4('H'H*'#f(68J`IL>`(3nb`=ff7kaR"9K?GZL.Ytf3\X`:#5jLlMgehnV.GT
+,-q7Kn_X9Ph1c=@"?F9ts7-!d!ol9LrWEE@.93[Zbh`*p"ln4?G>/kO"9Uu&ZLRhl#NN*s$j6]-
+^t\l$^eFq7JB\&nnaZYZl@9!?:#kR>"66&).K0GP,%fZkhZ"&T"9_'CbeVidf??r/fDaS3j4Dn,
+*!F(WnaQP^f)u3l.67>U"%!+n6N/bF<F9>u";[<nru:L[.0Kbt3?0"S.5MA8$mIJO*$QgI"9cO?
+s6A;;!mH0Dr<*0XQKk%@J,~>
+XoAanZ<nRS":R;Fbjk9("7ZKs,5qNDL'.XbrVum#!BKH@rr=MI"99Y8"9W9$s7,[[!$(>.!+5-n
+#2LI+$n3tgr[A:4('H'H*'#f(68J`IL>`(3nb`=ff7kaR"9K?GZL.Ytf3\X`:#5jLlMgehnV.GT
+,-q7Kn_X9Ph1c=@"?F9ts7-!d!ol9LrWEE@.93[Zbh`*p"ln4?G>/kO"9Uu&ZLRhl#NN*s$j6]-
+^t\l$^eFq7JB\&nnaZYZl@9!?:#kR>"662-.K0GP,%fZkhZ"&T"9_'CbeVidf??r/fDaS3j4Dn,
+*!F(WnaQP^f)u3l.67>U"%!+n6N/bF<F9>u";[<nru:L[.0Kbt3?0"S.5MA8$mIJO*$QgI"9cO?
+s6A;;!mH0Dr<*0XQKk%@J,~>
+YQ"[JJ/8(d!^a3KrVll_qYpWes7-'frr`<GrVltS"9c%/s8N3&3U6SC!:g'gs*tVeJ?kJkAnH7;
+J9PU;GD:>?AcT.*s8Q[5G@kH2rFQIF3G)WK?U@(dAnGDCn,EL[s0<(#"9ApcgA_?Hs8VVD*<$'C
+(/:Ienc'3,63I]sbl@_5nc/-bAekLnRGIlKlG/]["9]o\h>[HSnc/UrlG.U1"9],WGJNM?rrDTa
+rrhl-J3j\D"9p&o_!:t"nc&Ooh.@E*">beVn_O3Ll;[ri3O82Qrrq\<$j8#6mf*C@L-c[T"9L$?
+lMCM\n`0WTl3me(1COBp(B"@9%/pA8$j7OY"9cO?nauh]nc&OhithFn!uqFH%/^8.%0$G1B(5g%
+j%TsL"9Y=ss7+_@$J1q_63IE"3L8LkT`9N~>
+YQ"[JJ/8(d!^a3KrVll_qYpWes7-'frr`<GrVltS"9c%/s8N3&3U6SC!:g'gs*tVeJ?kJkAnH7;
+J9PU;GD:>?AcT.*s8Q[5G@kH2rFQIF3G)WK?U@(dAnGDCn,EL[s0<(#"9ApcgA_?Hs8VVD*<$'C
+(/:Ienc'3,63I]sbl@_5nc/-bAekLnRGIlKlG/]["9]o\h>[HSnc/UrlG.U1"9],WGJNM?rrDTa
+rrhl-J3j\D"9p&o_!:t"nc&Ooh.@E*">beVn_O3Ll;[ri3O82Qrrq\<$j8#6mf*C@L-c[T"9L$?
+lMCM\n`0WTl3me(1COBp(B"@9%/pA8$j7OY"9cO?nauh]nc&OhithFn!uqFH%/^8.%0$G1B(5g%
+j%TsL"9Y=ss7+_@$J1q_63IE"3L8LkT`9N~>
+YQ"[JJ/8(d!^a3KrVll_qYpWes7-'frr`<GrVltS"9c%/s8N3&3U6SC!:g'gs*tVeJ?kJkAnH7;
+J9PU;GD:>?AcT.*s8Q[5G@kH2rFQIF3G)WK?U@(dAnGDGn,EL[s0<(#"9ApcgA_?Hs8VVD*<$'C
+(/:Uinc'3,63I]sbl@_5nc/-bAekLnRGIlKlG/]["9]o\h>[HSnc/UrlG.U1"9],WGJNM?rrDTa
+rrhl-J3j\D"9p&o_!:t"nc&Ooh.@E*">beVn_O3Ll;[ri3O82Qrrq\<$j8#6mf*C@L-c[T"9L$?
+lMCM\n`0WTl3me(1COBp(B"@9%/pA8$j7OY"9cO?nauh]nc&OhithFn!uqFH%/^8.%0$G1B(5g%
+j%TsL"9YJ"s7+_@$J2(c63IE"3L8LkT`9N~>
+Z2Xm]Z53BA!]-M7rr;ufrr2ugpAb-q!$_CA",6p]ZMjh'"9CjZqu6`fs5!/D#4_``nc/XZirB&K
+lMgtOnaU5a^^86#^s'+"^p:8ig].<DrVlrZQ9tQR!ZX"NoD]!G1B[i2lMgednc/X@<W3+(B&ipV
+h;J;6^cDAs#):t(s7,.7rVm+j1B[h#<M8CJrs%ML9fYOa_"ds0fDPgQ*/==is69bS$j6\nZJ>H`
+^kMsp.C/sQ!:g'g"dT8o*5Lk0rrTK#%/pA2.>H[Ws8VThlJV[BlK\QSZN'IerrD?`rtj]>L7j'@
+1KA%;L,1V*(-*QY";VCK"D76)%dO)of<W2tbfmlH^qd8"rkJNXr4iGih>dN?g]%9Dqu6`A65KP'
+!?sOss*t~>
+Z2Xm]Z53BA!]-M7rr;ufrr2ugpAb-q!$_CA",6p]ZMjh'"9CjZqu6`fs5!/D#4_``nc/XZirB&K
+lMgtOnaU5a^^86#^s'+"^p:8ig].<DrVlrZQ9tQR!ZX"NoD]!G1B[i2lMgednc/X@<W3+(B&ipV
+h;J;6^cDAs#):t(s7,.7rVm+j1B[h#<M8CJrs%ML9fYOa_"ds0fDPgQ*/==is69bS$j6\nZJ>H`
+^kMsp.C/sQ!:g'g"dT8o*5Lk0rrTK#%/pA2.>H[Ws8VThlJV[BlK\QSZN'IerrD?`rtj]>L7j'@
+1KA%;L,1V*(-*QY";VCK"D76)%dO)of<W2tbfmlH^qd8"rkJNXr4iGih>dN?g]%9Dqu6`A65KP'
+!?sOss*t~>
+Z2Xm]Z53BA!]-Y;rr;ufrr2ugpAb-q!$_CA",6p]ZMjh'"9CjZqu6`fs5!/D#4_``nc/XZirB&K
+lMgtOnaU5a^^86#^s'+"^p:8ig].<DrVlrZQ9tQR!ZX"NoD]!G1B[i2lMgednc/X@<W3+(B&ipV
+h;J;6^cDAs#):t(s7,.7rVm+j1B[h#<M\[Nrs%ML9fYOa_"ds0fDPgQ*/==is69bS$j6\nZJ>H`
+^kMsp.C/sQ!:g'g"dT8o*5Lk0rrTK#%/pA2.>H[Ws8VThlJV[BlK\QSZN'IerrD?`rtj]>L89?D
+1KA%;L,1V*(-*QY";VCK"D76)%dO)of<W2tbfmlH^qd8"rkJNXr4iGih>dN?g]%9Dqu6`A65KP'
+!?sOss*t~>
+]Di3&nc/XZs8Uo@,5q]I$t$=*lMgt1('GWUrsOPa"CL]hs8N3)3TG\jhZ!Z;AdnV@&43\fs8VWh
+s6BXanUM#N6F-Ri#k@rpL)'mp<QsP(s7$*SrVlnB(B+F;:!EG5!TSD'"9CjFr;Qi6?OZH-!^a3X
+rVm)eL*?a'.A6\?s7-*g!TRPd"9Loqn_O3K.2E$h?e>2T"e[%B"?EdcrrV`jnc&OinZlO#"9KR/
+b^of(rr_PP65KP'!Z$OHV#Pr~>
+]Di3&nc/XZs8Uo@,5q]I$t$=*lMgt1('GWUrsOPa"CL]hs8N3)3TG\jhZ!Z;AdnV@&43\fs8VWh
+s6BXanUM#N6F-Ri#k@rpL)'mp<QsP(s7$*SrVlnB(B+F;:!EG5!TSD'"9CjFr;Qi6?OZH-!^a3X
+rVm)eL*?a'.A6\?s7-*g!TRPd"9Loqn_O3K.2E$h?e>2T"e[%B"?EdcrrV`jnc&OinZlO#"9KR/
+b^of(rr_PP65KP'!Z$OHV#Pr~>
+]Di3&nc/XZs8Uo@,5q]I$t$=*lMgt1('GWUrsOPa"CL]hs8N3)3TG\jhZ!Z;AdnV@&43\fs8VWh
+s6BXanUM#N6F-Ri#k@rpL)'mp<QsP(s7$*SrVlnB(B+F;:!EG5!TSD'"9CjFr;Qi6?OZH-!^a3X
+rVm)eL*?a'.AZtCs7-*g!TRPd"9Loqn_O3K.2E$h?e>2T"f*=F"?EdcrrV`jnc&OinZlO#"9KR/
+b^of(rr_PP65KP'!Z$OHV#Pr~>
+^Ae3'rr32ms8VB.J1:F"".?INn`g&UbSC=*rVm7["9`?,nc/Ul"?Gaus5!\XlEXb@%/pA2.=g%I
+rrq4Y"<<`mqu6iO3<Tat_#=95n`g&RnbrIrlIV[3":S:rbjk`5nbrIlbX)^@1O%(ArreWJ$j7@E
+":#>N(1pPd$k3+<"UkML6AE;TrsJ&8AekM*RHjhPnbrInh4S@"":RW&nc&Ogn`0WRf4Gd$"BF:U
+rsJ%'$j6uNh>dNFnbrIpba)T=$j6\WJCj(;s0_k/j.KBlrWE<C?_HGWs*t~>
+^Ae3'rr32ms8VB.J1:F"".?INn`g&UbSC=*rVm7["9`?,nc/Ul"?Gaus5!\XlEXb@%/pA2.=g%I
+rrq4Y"<<`mqu6iO3<Tat_#=95n`g&RnbrIrlIV[3":S:rbjk`5nbrIlbX)^@1O%(ArreWJ$j7@E
+":#>N(1pPd$k3+<"UkML6AE;TrsJ&8AekM*RHjhPnbrInh4S@"":RW&nc&Ogn`0WRf4Gd$"BF:U
+rsJ%'$j6uNh>dNFnbrIpba)T=$j6\WJCj(;s0_k/j.KBlrWE<C?_HGWs*t~>
+^Ae3'rr32ms8VB.J1:F"".?INn`g&UbSC=*rVm7["9`?,nc/Ul"?Gaus5!\XlEXb@%/pA2.=g%I
+rrq4Y"<<`mqu6iO3<Tat_#=95n`g&RnbrIrlIVg7":S:rbjk`5nbrIlbX)^@1O%(ArreWJ$j7@E
+":#>N(1pPd$k3+<"UkML6AE;TrsJ&8AekM*RHjhPnbrInh5"X&":RW&nc&Ogn`0WRf4Gd$"BF:U
+rsJ%'$j6uNh>dNFnbrIpba)T=$j6\WJCj(;s0_k/j.oZprWE<C?_l_[s*t~>
+^An5urr3;\J3kF_";Y@4^ubRubSC=$rVm7["9`?,lMpV^"?GLns53kVnc/V&n`-o2$j6\A3C;d+
+s7)C2"<<0]r;QudTJH]dJE,\i!:'R`#Ja[T"9]^!j8Ao`lMpnLL+*66GN8]&!mGj(rWF)I1I>].
+ZIe.,s7,.$^m8=o3=H#n$mHm`h>[EXQ6HGIGN8Z%!9=(Y#jR^)"9]]OT^(G7"dp>5(,OS?rs%Mh
++p8$\j8AoYf75[V"9T'!RHj\L!:bX?]`/!%rVlubh.A,8"9TVf?g@Rh!:d8mJ,~>
+^An5urr3;\J3kF_";Y@4^ubRubSC=$rVm7["9`?,lMpV^"?GLns53kVnc/V&n`-o2$j6\A3C;d+
+s7)C2"<<0]r;QudTJH]dJE,\i!:'R`#Ja[T"9]^!j8Ao`lMpnLL+*66GN8]&!mGj(rWF)I1I>].
+ZIe.,s7,.$^m8=o3=H#n$mHm`h>[EXQ6HGIGN8Z%!9=(Y#jR^)"9]]OT^(G7"dp>5(,OS?rs%Mh
++p8$\j8AoYf75[V"9T'!RHj\L!:bX?]`/!%rVlubh.A,8"9TVf?g@Rh!:d8mJ,~>
+^An5urr3;\J3kF_";Y@4^ubRubSC=$rVm7["9`?,lMpV^"?GLns53kVnc/V&n`-o2$j6\A3C;d+
+s7)C2"<<0]r;QudUb`,hJE,\i!:'R`#Ja[T"9]^!j8Ao`lMpnLL+*66GN8]&!mGj(rWF)I1I>].
+ZIe.,s7,.$^m8=o3=H#n$mHm`h>[EXQ6HGIGN8Z%!9=(Y#jR^)"9]]OV!?k;"dp>5(,OS?rs%Mh
++p8$\j8AoYf75[V"9T'!RHj\L!:bX?]`/!%rVlubh.A,8"9TVf?g@Rh!:d8mJ,~>
+]DhrgAdnYA!XrGOir9,)('Gi[rsOPa"D72os8N3)3TG\jhZ*WGr;QiBJ0Osq#;]t[AdeeuT`"fo
+n^h+N"<t/HrrDTRrs-b[+p8#aRDAh%s7-'f$gNHT"?De<s8TB)%/pA4%!Tq\nac\]b_@>?":??=
+lMpn.?N^Ku_"n!:lIVFj"9]-`j7210)=db,Z;h#13LTF;s7--hf1cAVGLuBF^h+Sc"9LBIh1>U+
+rrV`+<W3+($o<+OnZ;b@~>
+]DhrgAdnYA!XrGOir9,)('Gi[rsOPa"D72os8N3)3TG\jhZ*WGr;QiBJ0Osq#;]t[AdeeuT`"fo
+n^h+N"<t/HrrDTRrs-b[+p8#aRDAh%s7-'f$gNHT"?De<s8TB)%/pA4%!Tq\nac\]b_@>?":??=
+lMpn.?N^Ku_"n!:lIVFj"9]-`j7210)=db,Z;h#13LTF;s7--hf1cAVGLuBF^h+Sc"9LBIh1>U+
+rrV`+<W3+($o<+OnZ;b@~>
+]DhrgAdnYA!XrGOir9,)('Gi[rsOPa"D72os8N3)3TG\jhZ*WGr;QiBJ0Osq#;]t[AdeeuV#:5s
+n^h+N"<t/HrrDTRrs-b[+p8#aRDAh%s7-'f$gNHT"?De<s8TB)%/pA4%!Tq\nac\]b_@>?":??=
+lMpn.?N^Ku_"n!:lIVFj"9]-`j7210)=db,Z;h#13LTF;s7--hf1cAVGLuBF^h+Sc"9LBIh1>U+
+rrV`+<W3+($o<+OnZ;b@~>
+^&JDE<?`1]"<qHGj5L"?bR=UorVm7["9`?,nc/Ul">f=os4RDPnc&OjlG.!?qud$VbkqDD^c;N#
+6GWEs!:f=R#L%]I"9]KPT_n`hnc&P"^f:LQ6J_\Aj+\`\('FbplLb)Wn`p&P&b4neAdeeF$t%6Y
+s4:iu"?Ed^rs7G)$j6u5B&3"<rs@ujs3+IO"<s/sr;R"p+p8$)?U>P-"9hMffDkm@rr2ugJcDnQ
+"R>O;THa@<"#FP^j0&E4~>
+^&JDE<?`1]"<qHGj5L"?bR=UorVm7["9`?,nc/Ul">f=os4RDPnc&OjlG.!?qud$VbkqDD^c;N#
+6GWEs!:f=R#L%]I"9]KPT_n`hnc&P"^f:LQ6J_\Aj+\`\('FbplLb)Wn`p&P&b4neAdeeF$t%6Y
+s4:iu"?Ed^rs7G)$j6u5B&3"<rs@ujs3+IO"<s/sr;R"p+p8$)?U>P-"9hMffDkm@rr2ugJcDnQ
+"R>O;THa@<"#FP^j0&E4~>
+^&JDE<?`1]"<qHGj5L"?bR=UorVm7["9`?,nc/Ul">f=os4RDPnc&OjlG.!?qud$VbkqDD^c;N#
+6GWEs!:f=R#L%]I"9]KPV#1/lnc&P"^f:LQ6J_\Aj+\`\('FbplLb)Wn`p&P&b4neAdeeF$t%6Y
+s4:iu"?Ed^rs7G)$j6u5B&3"<rs@ujs3+IO"<s/sr;R"t+p8$)?U>P-"9hMffDkm@rr2ugJcDnQ
+"R>O;Ua#d@"#FPbj0&E4~>
+`W#r.rr3)jf>%go"9TW1T^)OVrpfjb!:fFU"4n_"*<#mFL'.Wkn`p/S"9_'OJcFC&!:g'g"S)Nl
+<?hDF$ppAtj8]/EZ:tH1<S.6M!:f1N!oq'PrWE6N_#=<5nbiCnl9YUVL?&=6h-^-a!]cS:pAY6H
+lMpDIrsr]c"9_',s8VV^1B\\AnaZGT!pZFYrWE:0L<S`Y$M"/rlBrCj(0/08rVlo(6Mprj*(#D9
+s8VWbrrDS?s1841nb2thnZm[3('FaK9n9GIJ,~>
+`W#r.rr3)jf>%go"9TW1T^)OVrpfjb!:fFU"4n_"*<#mFL'.Wkn`p/S"9_'OJcFC&!:g'g"S)Nl
+<?hDF$ppAtj8]/EZ:tH1<S.6M!:f1N!oq'PrWE6N_#=<5nbiCnl9YUVL?&=6h-^-a!]cS:pAY6H
+lMpDIrsr]c"9_',s8VV^1B\\AnaZGT!pZFYrWE:0L<S`Y$M"/rlBrCj(0/08rVlo(6Mprj*(#D9
+s8VWbrrDS?s1841nb2thnZm[3('FaK9n9GIJ,~>
+`W#r.rr3)jf>%go"9TW1V!@sZrpfjb!:fFU"4n_"*<#mFL'.Wkn`p/S"9_'OJcFC&!:g'g"S)Nl
+<?hDF$ppAtj8]/EZ:tH1<S.6M!:f1N!oq'PrWE6N_#=<5nbiCnl9YUVL?&=6h-^-a!]cS:pAY6H
+lMpDIrsr]c"9_',s8VVb1B\\AnaZGT!pZR]rWE:0L<S`Y$M"/rlBrCj(0/08rVlo(6Mprj*(#D9
+s8VWbrrDS?s1841nb2thnZm[3('FaK9n9GIJ,~>
+_uBhjZ@FD'"9U*'_"$=^#4_`nf,Oo;rVm7["9`r=nc/Ul"@C_urrDS?s7?6nn^iL^%/pA3<M6!O
+rWE7Vh;SA:TK*,X(B+I1rrhV2":U%arro].$j6uNq>UujTR^BVAiV&I<C24dL<T2crt"Z"f2VqV
+.A652s0<UI"D7Z5s7,sc!>Z+C"9LB6j7rWSna$2UR6plU#+>Mk^p8JHrWE<`GI$ais.0/lbaDf^
+rWE:7REVu:J,~>
+_uBhjZ@FD'"9U*'_"$=^#4_`nf,Oo;rVm7["9`r=nc/Ul"@C_urrDS?s7?6nn^iL^%/pA3<M6!O
+rWE7Vh;SA:TK*,X(B+I1rrhV2":U%arro].$j6uNq>UujTR^BVAiV&I<C24dL<T2crt"Z"f2VqV
+.A652s0<UI"D7Z5s7,sc!>Z+C"9LB6j7rWSna$2UR6plU#+>Mk^p8JHrWE<`GI$ais.0/lbaDf^
+rWE:7REVu:J,~>
+_uBhjZ@FD'"9U*'_"$=^#4_`nf,Oo;rVm7["9`r=nc/Ul"@C_urrDS?s7?6nn^iL^%/pA3<MZEW
+rWE7Vh;SA:UcAP\(B+I1rrhV2":U%arro].$j6uNq>UujUjufZAiV&I<C24dL<T2crt"Z"f2VqV
+.AZM6s0<UI"D7Z5s7,sc!>Z+C"9LB6j7rWSna$2UR6plU#+>Mk^p8JHrWE<`GI$ais.0/lbaDf^
+rWE:7REVu:J,~>
+`W$"q?OZl9!bRbYg&D/u1B\]rrsOPa"F'D+s8N3):"S;&s7$*hrp^!grUKgc!:g'g!:baB$G^6t
+"9]JK"9`>mrVllfli-tMrr3ArR8"G""?C'0"9e8lrrDTgrr[cS$tfM=#_j<%">cJGs7-*g"7a0]
+(A%_31I@Dfrr2u`rr2tKrWEO>j8].b((:>]nb<%c*"2sErWE9hQKmc8!:fpc#4[EV">c@3r<*0G
+GF=$^QN%9IL-d'e";Y"1h6m95~>
+`W$"q?OZl9!bRbYg&D/u1B\]rrsOPa"F'D+s8N3):"S;&s7$*hrp^!grUKgc!:g'g!:baB$G^6t
+"9]JK"9`>mrVllfli-tMrr3ArR8"G""?C'0"9e8lrrDTgrr[cS$tfM=#_j<%">cJGs7-*g"7a0]
+(A%_31I@Dfrr2u`rr2tKrWEO>j8].b((:>]nb<%c*"2sErWE9hQKmc8!:fpc#4[EV">c@3r<*0G
+GF=$^QN%9IL-d'e";Y"1h6m95~>
+`W$"q?OZl9!bRbYg&D/u1B\]rrsOPa"F'D+s8N3):"S;&s7$*hrp^!grUKgc!:g'g!:baB$G^6t
+"9]JK"9`>mrVllfli-tMrr3ArR8"G""?C'0"9e8lrrDTgrr[cS$tfM=#_j<%">cJGs7-*g"7a0]
+(A%_31I@Dfrr2u`rr2tKrWEO>j8].b((:>]nb<%c*"2sErWE9hQKmc8!:fpc#4[EV">c@3r<*0G
+GF=$^QN%9IL-d'e";Y"5h6m95~>
+`W$7[+p8Yi"9a70LAl`'L?!gaLAuH#L/eul*<#mJL'.X'naZYZ"9]]OL4Gqirg<bPrL*Jerh'n0
+TV/Tr^qeRXj5]\"s7--Zs7-*Rrpfjb!:b^A$/K1r$j6\KB!UsfrsZ\e('FahB$BO?"9e8mrrDTg
+rssi"";[[1s1ea?$rtOOs7-*g!nV$(rWN60#ZZC2">aY665KP'!u=4Xbl%JMj+&<V"@Bp(s.CeD
+9sXNn"X4?Xs0>Z("9LoqlJqmFf4Om_!ZYgfJcCo5"670k.K0GP6AE_S\Gq'~>
+`W$7[+p8Yi"9a70LAl`'L?!gaLAuH#L/eul*<#mJL'.X'naZYZ"9]]OL4Gqirg<bPrL*Jerh'n0
+TV/Tr^qeRXj5]\"s7--Zs7-*Rrpfjb!:b^A$/K1r$j6\KB!UsfrsZ\e('FahB$BO?"9e8mrrDTg
+rssi"";[[1s1ea?$rtOOs7-*g!nV$(rWN60#ZZC2">aY665KP'!u=4Xbl%JMj+&<V"@Bp(s.CeD
+9sXNn"X4?Xs0>Z("9LoqlJqmFf4Om_!ZYgfJcCo5"670k.K0GP6AE_S\Gq'~>
+`W$7[+p8Yi"9a70LAl`'L?!gaLAuH#L/eul*<#mJL'.X'naZYZ"9]]OL4H(qrg<bPrL*JerhL14
+Unk<%^qeRXj5]\"s7--Zs7-*Rrpfjb!:b^A$/K1r$j6\KB!UsfrsZ\e('FahB$BO?"9e8mrrDTg
+rssi"";[g5s1ea?$rtOOs7-*g!nV$(rWN60#ZZC2">aY665KP'!u=4Xbl%JMj+&<V"@Bp(s.h(H
+9sXNn"X4?Xs0>Z("9LoqlJqmFf4Om_!ZYgfJcCo5"670k.K0GP6AE_S\Gq'~>
+`W#tE(B"@9%+>=Z,5qNHL'.X'naZYSqZHp.(?u&&$jROf+sJHb+rpM)ruCn[!%Imk!%Iag!ZWC.
+OrOfQ1FXLf+uq(T":Y53!MJK9rs-?*$j6\KGLuio"]Y[.s8VWdrsn<S"9]_Es5Pm<"CL!bnbrIg
+bYA'>'KNJNj8\Wu"?GNBs4su)1COBh3O8S_%Io`("9`r6s8Pe%"D6rors'_N"TSMlL*HU"!DTm!
+rrDTRrrV_V*<$'I$j6\A.8<N'1F`;I!\#o]qA]NJGPc"MG5u7SG5u7SG62B2QMuUGJ9QO0QA1-[
+QA1_'R0AnEZG<c]riuU@beX5%#/JICh;.,OpY?SEh;.,Oh;.,Oh;dPOh;dPOh;dPOj8%LFj5&PO
+j5&POj5&bUh;.,Oh;.,Oh>ZFkh;dPOh;dPOh;dPOj5\tOj5\tOj5\tOj5\tUj5&POj5&POj5&PO
+j5&bUh;.,Oh;.,Oh>ZFSh;dPOh;dPOh;dPOj5\tOj5\tOj5\tOj5\tUj8RjAfAkoCbiA`/L,g%K
+"9TWf_"##9J,~>
+`W#tE(B"@9%+>=Z,5qNHL'.X'naZYSqZHp.(?u&&$jROf+sJHb+rpM)ruCn[!%Imk!%Iag!ZWC.
+OrOfQ1FXLf+uq(T":Y53!MJK9rs-?*$j6\KGLuio"]Y[.s8VWdrsn<S"9]_Es5Pm<"CL!bnbrIg
+bYA'>'KNJNj8\Wu"?GNBs4su)1COBh3O8S_%Io`("9`r6s8Pe%"D6rors'_N"TSMlL*HU"!DTm!
+rrDTRrrV_V*<$'I$j6\A.8<N'1F`;I!\#o]qA]NJGPc"MG5u7SG5u7SG62B2QMuUGJ9QO0QA1-[
+QA1_'R0AnEZG<c]riuU@beX5%#/JICh;.,OpY?SEh;.,Oh;.,Oh;dPOh;dPOh;dPOj8%LFj5&PO
+j5&POj5&bUh;.,Oh;.,Oh>ZFkh;dPOh;dPOh;dPOj5\tOj5\tOj5\tOj5\tUj5&POj5&POj5&PO
+j5&bUh;.,Oh;.,Oh>ZFSh;dPOh;dPOh;dPOj5\tOj5\tOj5\tOj5\tUj8RjAfAkoCbiA`/L,g%K
+"9TWf_"##9J,~>
+`W#tE(B"@9%+>=Z,5qNHL'.X'naZYSqZHp.(?u&&$jROf+sJHb+rpM)ruCn[!%Imk!%Iag!ZWC.
+OrOfQ1FXLf+uq(T":Y53!Mnc=rs-?*$j6\KGLuio"]Y[.s8VWdrsn<S"9]_Es5Pm<"CL!bnbrIg
+bYA'>'KNJNj8\Wu"?GNBs4su)1COBh3O8S_%Io`("9`r6s8Pe%"D6rors'_N"TSMlL*HU"!DTm!
+rrDTRrrV_V*<$'I$j6\A.8<N'1F`;I!\#o]qA]NJGPc"MG5u7SG5u7SG62B2QMuUGJ9QO0QA1-[
+QA1_'R0AnEZG<c]riuU@beX5%#/JICh;.,OpY?SEh;.,Oh;.,Oh;dPOh;dPOh;dPOj8%LFj5&PO
+j5&POj5&bUh;.,Oh;.,Oh>ZFkh;dPOh;dPOh;dPOj5\tOj5\tOj5\tOj5\tUj5&POj5&POj5&PO
+j5&bUh;.,Oh;.,Oh>ZFSh;dPOh;dPOh;dPOj5\tOj5\tOj5\tOj5\tUj8RjAfAkoCbiA`/L,g%K
+"9TWf_"##9J,~>
+`W$+WL3JAr1XlO/('GWUrs=D_"F'D+s8N3AJHWak!Ah%Grs./++p8#WB$C5R,i^lf"TSMls8VWZ
+s5TCb"9cO?nP',h6GWX$nc/XZL)'n#QKnDJ"S$(,(>&Nb#P%)I.0Kbn6N$iln\A--,,"u9^`in]
+lM1Ai*"2uMnc/XF<>G]?(14B;li.+Q^m8RVrWE<3";VDs"I'#h%/U/0+rhR2r<*01L?cAMJ,~>
+`W$+WL3JAr1XlO/('GWUrs=D_"F'D+s8N3AJHWak!Ah%Grs./++p8#WB$C5R,i^lf"TSMls8VWZ
+s5TCb"9cO?nP',h6GWX$nc/XZL)'n#QKnDJ"S$(,(>&Nb#P%)I.0Kbn6N$iln\A--,,"u9^`in]
+lM1Ai*"2uMnc/XF<>G]?(14B;li.+Q^m8RVrWE<3";VDs"I'#h%/U/0+rhR2r<*01L?cAMJ,~>
+`W$+WL3JAr1XlO/('GWUrs=D_"F'D+s8N3AJHWak!Ah%Grs./++p8#WB$C5R,i^lf"TSMls8VWZ
+s5TCb"9cO?nP',h6GWX$nc/XZL)'n#QKnDJ"S$(,(>&Nb#P%)I.0Kbn6N$iln\A--,,G8=^`in]
+lM1Ai*"2uMnc/XF<>G]?(14B;li.+Q^m8RVrWE<3";VDs"I'#h%/U/0+rhR2r<*01L?cAMJ,~>
+_#FLK"9`)`_#FN;*<#m>L'.X6rVum#!=Y:n^]:\+^]:\>"9;I#^]_k*"9^OKbl>KYbl>KTbl>H_
+beQOJ"F$12^]f6(";ZO'rQP/S#gArrR@1@r^p<rO!-eEss'PeVs*"O1R3MV5!%InZ!)<Fq!Z#B(
+li[:sq#g[+rWET;('Fb#":QIW"AR,>^]h#""9`?%m/I=UQ9lPo"D4>(rr_dO"9eQ#$eI]J%$pqn
+bQJ%WQMgadj(8]&?blO<"S!oD"S)?g!R,0T"9DNHr;R,>*!@J$s8V*^.960C![7aMr;Qigh.HWh
+!\&?;m/IC^J//83<E3XsJGo]O*<-H%"9f2:$j6\QdKBOcecYsgq#g[Hr<**/WrrG3(B"@9(B+F=
+$pp9?])R9~>
+_#FLK"9`)`_#FN;*<#m>L'.X6rVum#!=Y:n^]:\+^]:\>"9;I#^]_k*"9^OKbl>KYbl>KTbl>H_
+beQOJ"F$12^]f6(";ZO'rQP/S#gArrR@1@r^p<rO!-eEss'PeVs*"O1R3MV5!%InZ!)<Fq!Z#B(
+li[:sq#g[+rWET;('Fb#":QIW"AR,>^]h#""9`?%m/I=UQ9lPo"D4>(rr_dO"9eQ#$eI]J%$pqn
+bQJ%WQMgadj(8]&?blO<"S!oD"S)?g!R,0T"9DNHr;R,>*!@J$s8V*^.960C![7aMr;Qigh.HWh
+!\&?;m/IC^J//83<E3XsJGo]O*<-H%"9f2:$j6\QdKBOcecYsgq#g[Hr<**/WrrG3(B"@9(B+F=
+$pp9?])R9~>
+_#FLK"9`)`_#FN;*<#m>L'.X6rVum#!=Y:n^]:\+^]:\>"9;I#^]_k*"9^OKbl>KYbl>KTbl>H_
+beQOJ"F$12^]f6(";ZO'rQP/S#gB*!R@1@r^p<rO!-eEss'PeVs*"O1R3MV5!%InZ!)<Fq!Z#B(
+li[:sq#g[+rWET;('Fb#":QIW"AR,>^]h#""9`?%m/I=UQ9lPo"D4J,rr_dO"9eQ#$eI]J%$pqn
+bQJ%WQMgadj(8]&?blO<"S!oD"S)?g!R,0T"9DNHr;R,>*!@J$s8V*^.960C![7aMr;Qigh.HWh
+!\&?;m/IC^J//83<E3XsJGo]O*<-H%"9f2:$j6\QdKBOcecYsgq#g[Hr<**/WrrG3(B"@9(B+F=
+$pp9?])R9~>
+_uBr2s8QF/"F&Jtrr`<GrVltS"9b%hs8N3&*5Lb;!:'Od!-eA@"=XH^*4#CUs3(JYrlk;Us31MY
+s3(JYrlbAXrlbPtZ9eZsnbrIjZ5*QlJGd4YbQ,HXbl65obRqY7fA58u^t7Dd^tmUS+rheprr32m
+<=B!jZC1RF"P;J]h:MY^qUbMurR_(n#F>D[s1fT_GQ%ODnMp^\job`0?g@Ui!:g'g!]'r^qYpuh
+L)'n-fDkk2"9_'8rVm/=3<TIsj8]/Lqu6^H"9e`(!:g!e#1nSR"9a8FrVm,mAcr6\s7--g"9?75
+rrOAI"T&-'j1pBh"9]Jhl3%,'QMpggnNn3(L@Og!gA_;+*!?E7rr3/eL)'nJbhrF0^f:e'h;eP#
+h+\#.L?%1k)jVo](5AKJbh'WS";ZOJf@Sj1h:LK7h:LK7h>Pq.h:LK7h>4noZC.,RR@ot@TX(6d
+Z3-c*ZG?=B!.aoX!J#CmJGs`nAq9i(%pr=KAp7i,$mMAEnc/XSj1,,>~>
+_uBr2s8QF/"F&Jtrr`<GrVltS"9b%hs8N3&*8K`W!:'Od!-eA@"=XH^*4#CUs3(JYrlk;Us31MY
+s3(JYrlbAXrlbPtZ9eZsnbrIjZ5*QlJGd4YbQ,HXbl65obRqY7fA58u^t7Dd^tmUS+rheprr32m
+<=B!jZC1RF"P;J]h:MY^qUbMurR_(n#F>D[s1fT_GQ%ODnMp^\job`0?g@Ui!:g'g!]'r^qYpuh
+L)'n-fDkk2"9_'8rVm/=3<TIsj8]/Lqu6^H"9e`(!:g!e#1nSR"9a8FrVm,mAcr6\s7--g"9?75
+rrOAI"T&-'j1pBh"9]Jhl3%,'QMpggnNn3(L@Og!gA_;+*!?E7rr3/eL)'nJbhrF0^f:e'h;eP#
+h+\#.L?%1k)jVo](5AKJbh'WS";ZOJf@Sj1h:LK7h:LK7h>Pq.h:LK7h>4noZC.,RR@ot@TX(6d
+Z3-c*ZG?=B!.aoX!J#CmJGs`nAq9i(%pr=KAp7i,$mMAEnc/XSj1,,>~>
+_uBr2s8QF/"F&Jtrr`<GrVltS"9b%hs8N3&*5Lb;!:'Od!-eA@"=XH^*4#CUs3(JYrlk;Us31MY
+s3(JYrlbAXrlbPtZ9eZsnbrIjZ5*QlJGd4YbQ,HXbl65obRqY7fA58u^t7Dd^tmUS+rheprr32m
+<=B!jZC1RF"P;J]h:MY^qUbMurR_(n#F>D[s1fT_GQ%ODnMp^\job`0?g@Ui!:g'g!]'r^qYpuh
+L)'n-fDkk2"9_'8rVm/=3<TIsj8]/Lqu6^H"9e`(!:g!e#1nSR"9a8FrVm,mAcr6\s7--g"9?75
+rrOAI"T&-'j1pBh"9]Jhl3%,'QMpggnNn3(L@Og!gA_;+*!?E7rr3/eL)'nJbhrF0^f:e'h;eP#
+h+\#.L?%1k)jVo](5AWNbh'WS";ZOJf@Sj1h:LK7h:LK7h>Pq.h:LK7h>4noZC.,VRA?7HUp?fl
+Z3-o.ZG?=B!.aoX!J#CmJGs`nAq9i(%pr=KAp7i,$mMMInc/XSj1,,>~>
+_#FLD"9`r#s8N3%*<#m>L'.XFrVum#!@c7Urrh?j"9`rHrraMK$j7d/"TJE'nc-BKgB7X!"9]-f
+rr3#a3W9-^.1Fu7%h/".s1f$GB)hDks6;BC%-Rfq*/="_rrDTdrtRNs"TSMls7--h^d8/,JH,Z>
+"9]^grVm&W<<N_SlM(;[1B[j[rrDTdrs&"Z63I^OlM^_mQ50T=^uPGN"9`?:nc/.XrrOAI"S_ot
+L*@&i":?-Ss8VBaj%TXZJH#QSL4FJ7?[uKDJGXQgB)d)MAc[*frHA<nL,o59!8[YS%.SiN$poJV
+G@l&2G@pVos+()\!-e0L"b;>>+p9_"rrl+"*+jq[r+>tQs(;:T!.alWs*+KT!dB0=rFQ7XL/e?Z
+(>&Nb"S"e]*3uRD"R9=s"JGSj!qGRG^&NT~>
+_#FLD"9`r#s8N3%*<#m>L'.XFrVum#!@c7Urrh?j"9`rHrraMK$j7d/"TJE'nc-BKgB7X!"9]-f
+rr3#a3W9-^.1Fu7%h/".s1f$GB)hDks6;BC%-Rfq*/="_rrDTdrtRNs"TSMls7--h^d8/,JH,Z>
+"9]^grVm&W<<N_SlM(;[1B[j[rrDTdrs&"Z63I^OlM^_mQ50T=^uPGN"9`?:nc/.XrrOAI"S_ot
+L*@&i":?-Ss8VBaj%TXZJH#QSL4FJ7?[uKDJGXQgB)d)MAc[*frHA<nL,o59!8[YS%.SiN$poJV
+G@l&2G@pVos+()\!-e0L"b;>>+p9_"rrl+"*+jq[r+>tQs(;:T!.alWs*+KT!dB0=rFQ7XL/e?Z
+(>&Nb"S"e]*3uRD"R9=s"JGSj!qGRG^&NT~>
+_#FLD"9`r#s8N3%*<#m>L'.XFrVum#!@c7Urrh?j"9`rHrraMK$j7d/"TJE'nc-BKgB7X!"9]-f
+rr3#a3W9-^.1Fu7%h/".s1f$GB)hDks6;BC%-Rfq*/="_rrDTdrtRNs"TSMls7--h^d8/,JH,Z>
+"9]^grVm&W<<N_SlM(;[1B[j[rrDTdrs&"Z63I^OlM^_mQ50T=^uPGN"9`?:nc/.XrrOAI"S_ot
+L*@&i":?-Ss8VBaj%TXZJH#QSL4FJ7?[uKDJGXQgB)d)MAc[*frHA<nL,o59!8[YS%.SiN$poJV
+G@l&2G@pVos+()\!-e0L"b;>>+p9_"rrl+"*+jq[r+>tQs(;:T!.alWs*+KT!dB0=rFQ7XL/e?Z
+(>&Nb"S"e]*3uRD"R9=s"Jkkn!qGRG^&NT~>
+_#FLD"9a8,s8N3%*<#m>L'.XFrVum#!Aid!rrh?j"9`rHrra;E$j7@9"98ks":5%ts6BX"*!?]?
+"9]JK":Q:@"9]\I"<=*5rrQ1'(@MD+('GTm"9]_:"9JuI"TJE'bQJ&\r;Qpp":SYQj7r-Gs7--e
+nHJsEAdeg8p&>(R"9e]'%IsJuR2,o.h>dM!";[=%rs8._('Ht[s8VWbrrOVP"TJE$nbW:cnc&^m%
+&!S!$Lr<U"BE8;bQJ&8q>UL?"9eGu"P5X:(B=C!!qGR@rp^!Rrpg$R#lir@s49sJ*1?d*"S%3d"
+GZpU!$'bsrs\o1!=\8mrrUDV%+taf6N@)Us8QH["TAf9ZN'Ibs6<;],+5G1"Pkj:*2*91!:dPuJ
+,~>
+_#FLD"9a8,s8N3%*<#m>L'.XFrVum#!Aid!rrh?j"9`rHrra;E$j7@9"98ks":5%ts6BX"*!?]?
+"9]JK":Q:@"9]\I"<=*5rrQ1'(@MD+('GTm"9]_:"9JuI"TJE'bQJ&\r;Qpp":SYQj7r-Gs7--e
+nHJsEAdeg8p&>(R"9e]'%IsJuR2,o.h>dM!";[=%rs8._('Ht[s8VWbrrOVP"TJE$nbW:cnc&^m%
+&!S!$Lr<U"BE8;bQJ&8q>UL?"9eGu"P5X:(B=C!!qGR@rp^!Rrpg$R#lir@s49sJ*1?d*"S%3d"
+GZpU!$'bsrs\o1!=\8mrrUDV%+taf6N@)Us8QH["TAf9ZN'Ibs6<;],+5G1"Pkj:*2*91!:dPuJ
+,~>
+_#FLD"9a8,s8N3%*<#m>L'.XFrVum#!Aid!rrh?j"9`rHrra;E$j7@9"98ks":5%ts6BX"*!?]?
+"9]JK":Q:@"9]\I"<=69rrQ1'(@MD+('GTm"9]_:"9JuI"TJE'bQJ&\r;Qpp":SYQj7r-Gs7--e
+nHJsEAdeg<p&>(R"9e]'%IsJuR2,o.h>dM!";[=%rs8._('Ht[s8VWbrrOVP"TJE$nbW:cnc&^m%
+&Ek%$Lr<U"BE8;bQJ&8q>UL?"9eGu"P5X:(B=C!!qGR@rp^!Rrpg$R#lir@s49sJ*1?d*"S%3d"
+GZpU!$'bsrs\o1!=\8mrrUDV%+taf6N@)Us8QH["TAf9ZN'Ibs6<;],+5G1"Pkj:*2NQ5!:dPuJ
+,~>
+_uBr2s8QF/"G#,(rr`<GrVltS"9b%hs8N3*3TL/>q"X1T!9=%]!G:m#rrjSL";Z`Hr."d%q1&Z]
+1En8BL5,MSrc\L"Ag.?\r;R)/$j7PEGD:<cJGFBpAp8uA.2E\LJG49eJ-93f$l590rr>Cb"9Bs+
+nok4:()B5Kp3-^QGCX9c*!H9@&[DNB6C*@\QA-@^(/:4&ZC.-OQ3isd":TL[TOrq/re:W-GD;M$
+"9eW%!U=:r"9m$LR1'3Ir;Qo*1B].mp&>(B"9e`(!:fja'3,/<6J)8;nc,mD"9cO?ruqS%fD>LZ
++p8&/bh((_f?E(&bh]QE"9eT$!:'F@rr3N!s4pBP"F'/$lLE(u$j;=arrt7^,%c@4?hn:>?[$]g
+('FarJGWpZ$j?P<%Km1U.1?=^%+jeEs4ql7pB1R,":PG4%/^5.%.OH$$n;,S!*/Ch!"A<!rsSoD
+ZMje,bT[/mB(<S7!:g$f!:fmb$M"/rnc.W*"9aJLp\t6`^Ai]~>
+_uBr2s8QF/"G#,(rr`<GrVltS"9b%hs8N3*3TL/>q"X1T!9=%]!G:m#rrjSL";Z`Hr."d%q1&Z]
+1En8BL5,MSrc\L"Ag.?\r;R)/$j7PEGD:<cJGFBpAp8uA.2E\LJG49eJ-93f$l590rr>Cb"9Bs+
+nok4:()B5Kp3-^QGCX9c*!H9@&[DNB6C*@\QA-@^(/:4&ZC.-OQ3isd":TL[TOrq/re:W-GD;M$
+"9eW%!U=:r"9m$LR1'3Ir;Qo*1B].mp&>(B"9e`(!:fja'3,/<6J)8;nc,mD"9cO?ruqS%fD>LZ
++p8&/bh((_f?E(&bh]QE"9eT$!:'F@rr3N!s4pBP"F'/$lLE(u$j;=arrt7^,%c@4?hn:>?[$]g
+('FarJGWpZ$j?P<%Km1U.1?=^%+jeEs4ql7pB1R,":PG4%/^5.%.OH$$n;,S!*/Ch!"A<!rsSoD
+ZMje,bT[/mB(<S7!:g$f!:fmb$M"/rnc.W*"9aJLp\t6`^Ai]~>
+_uBr2s8QF/"G#,(rr`<GrVltS"9b%hs8N3*3TL/>q"X1T!9=%]!G:m#rrjSL";Z`Hr."d%q1&Z]
+1En8BL5,MSrc\L"Ag.?\r;R)/$j7PEGD:<cJGFBpAp8uA.2E\LJG49eJ-93f$l590rr>Cb"9Bs+
+nok4:()B5Kp3-^QGCX9c*!H9@&[DNB6C*@\QA-@^(/:4&ZC.-OQ3isd":TL[Uh5@3re:W-GD;M$
+"9eW%!U=:r"9m$LR1'3Ir;Qo*1B].mp&>(B"9e`(!:fja'3,/<6J)8;nc,mD"9cO?ruqS%fD>LZ
++p8&/bh((_f?E(&bh]QE"9eT$!:'F@rr3N!s4pBP"F'/$lLE(u$j;=arrt7^,%c@4?hn:>?[$]g
+('FarJGWpZ$j?P<%Km1U.1?=^%+jeEs4ql7pB1R,":PG4%/^5.%.OH$$n;,S!*/Ch!"A<!rsSoD
+ZMje,bT[/mB(<S7!:g$f!:fmb$M"/rnc.W*"9aJLp\t6`^Ai]~>
+_#FLD"9`r#s8N3%*<#m>L'.XFrVum#"ZbWCq!mn?rrCmS"9E-"rVlsK"9^ONrrh.<(*](9rse6n
+"9ebps7--)+p9*qnc&^C9`tUirsl=p$k.mjs5X,>";V,Pj7<3SZ5aXJs8VW^rs.Rr('O1-s0CJa
+!"AN'$R,]^"TSMlnc/XF<W3+2ZMtmI">g)XlMpm7"9c%0rrD?ZrrOtZ"T/3!nb`>$R4/7SZN'I[
+s5R)^"P<\D$j7QCs5X%W![7aMqA0)NrtYbH":Q%i*;h#[)uq2^*![ZD.3'<O*";fL#XU=-66Zg@
+"GZpU"t9[(nc/.>pAY9$3<TIsqYpTVh>ZF;h;dPO?iC07h>c=2j(8E&B#+8ps4nFMh;.,V?N^ct
+L<SK*bh(Ijbh(Ijbl62rQ88Y(r;R%7">begh:KlpqUYtXfAi8Z.;#mWf*0BB$j7?OrVm#c3<TbF
+X8`Cos5QfV*3umMJ,~>
+_#FLD"9`r#s8N3%*<#m>L'.XFrVum#"ZbWCq!mn?rrCmS"9E-"rVlsK"9^ONrrh.<(*](9rse6n
+"9ebps7--)+p9*qnc&^C9`tUirsl=p$k.mjs5X,>";V,Pj7<3SZ5aXJs8VW^rs.Rr('O1-s0CJa
+!"AN'$R,]^"TSMlnc/XF<W3+2ZMtmI">g)XlMpm7"9c%0rrD?ZrrOtZ"T/3!nb`>$R4/7SZN'I[
+s5R)^"P<\D$j7QCs5X%W![7aMqA0)NrtYbH":Q%i*;h#[)uq2^*![ZD.3'<O*";fL#XU=-66Zg@
+"GZpU"t9[(nc/.>pAY9$3<TIsqYpTVh>ZF;h;dPO?iC07h>c=2j(8E&B#+8ps4nFMh;.,V?N^ct
+L<SK*bh(Ijbh(Ijbl62rQ88Y(r;R%7">begh:KlpqUYtXfAi8Z.;#mWf*0BB$j7?OrVm#c3<TbF
+X8`Cos5QfV*3umMJ,~>
+_#FLD"9`r#s8N3%*<#m>L'.XFrVum#"ZbWCq!mn?rrCmS"9E-"rVlsK"9^ONrrh.<(*](9rse6n
+"9ebps7--)+p9*qnc&^C9`tUirsl=p$k.mjs5X,>";V,Pj7<3SZ5aXJs8VW^rs.Rr('O1-s0CJa
+!"AN'$R,]^"TSMlnc/XF<W3+2ZMtmI">g)XlMpm7"9c%0rrD?ZrrOtZ"T/3!nb`>$R4/7SZN'I[
+s5R)^"P<\D$j7QGs5X%W![7aMqA0)NrtYbH":Q%i*;h#[)uq2^*![ZD.3'<O*";fL#XU=-66Zg@
+"GZpU"t9[(nc/.>pAY9$3<TIsqYpTVh>ZF;h;dPO?iC07h>c=2j(8E&B#+8ps4nFMh;.,V?N^ct
+L<SK*bh(Ijbh(Ijbl62rQ88Y(r;R%7">begh:KlpqUYtXfAi8Z.;#mWf*0BB$j7?OrVm#c3<TbF
+X8`Cos5QfV*3umMJ,~>
+_#FLD"9dc:s8N3%,5qNDL'.XFrqHWr"9^10mJd1]r;R;m3=#b<s8Vlos!\'Z.HCI-nb2tf^aTBh
+T`>&^pAY9\<<NHprVm#\?N^e1nc&^8+p8&>rrgph":U%`rra)?$j8BVrr]P0"JG>c"63Aa"TJE(
+bQJ%m?i*h167E$?*+ho><E2cl<W>Dc";WG@?XHf56=sg<$j7P^<B3c\?W@L;"T/3!RJm<obl@\_
+"9`r=rr3,,66ZQmp&>0b<<PY4oDegn!%IjG!.b%O"nDW."9_Hqrr=8>":?+O":PD9$j6\A%/^5.%
+/C#+%/^5.(AS(8('Fbprr30_"<?J%s7,g_"P5(*"D73($t]VF(>&TdlMkH!"GZLI"D.c>*6e!R"
+7[-01]77T<<Obpnc&Y!"BG!l"ITAq(;TkJ""=?]AuP_3+p8$\ZN#F~>
+_#FLD"9dc:s8N3%,5qNDL'.XFrqHWr"9^10mJd1]r;R;m3=#b<s8Vlos!\'Z.HCI-nb2tf^aTBh
+T`>&^pAY9\<<NHprVm#\?N^e1nc&^8+p8&>rrgph":U%`rra)?$j8BVrr]P0"JG>c"63Aa"TJE(
+bQJ%m?i*h167E$?*+ho><E2cl<W>Dc";WG@?XHf56=sg<$j7P^<B3c\?W@L;"T/3!RJm<obl@\_
+"9`r=rr3,,66ZQmp&>0b<<PY4oDegn!%IjG!.b%O"nDW."9_Hqrr=8>":?+O":PD9$j6\A%/^5.%
+/C#+%/^5.(AS(8('Fbprr30_"<?J%s7,g_"P5(*"D73($t]VF(>&TdlMkH!"GZLI"D.c>*6e!R"
+7[-01]77T<<Obpnc&Y!"BG!l"ITAq(;TkJ""=?]AuP_3+p8$\ZN#F~>
+_#FLD"9dc:s8N3%,5qNDL'.XFrqHWr"9^10mJd1]r;R;m3=#b<s8Vlos!\'Z.HCI-nb2tf^aTBh
+V#UJbpAY9\<<NHprVm#\?N^e5nc&^8+p8&>rrgph":U%`rra)?$j8BVrr]P0"JkVg"63Aa"TJE(
+bQJ%m?i*h167E$?*+ho><E2cl<W>Dc";WG@?XHf56=sg<$j7P^<B3c\?W@L;"T/3!RJm<obl@\_
+"9`r=rr3,,66ZQmp&>0b<<PY4oDegn!%IjG!.b%O"nDW."9_Hqrr=8>":?+O":PD9$j6\A%/^5.%
+/C#+%/^5.(AS(8('Fbprr30_"<?J%s7,g_"P5(*"D73($t]VF(>&TdlMkH!"GZLI"D.c>*6e!R"
+7[-01]77T<<Obpnc&Y!"BG!l"ITAq(;TkJ""=?]AuP_3+p8$\ZN#F~>
+_#FLD"9d?.s8N3%,5qNDL'.XFrqHWr"9]q#mJd1]r;R5k63m^<s8Vlos"ac\.ImE@f-q+:ZM+=u
+nHJsX?N^MsrVm#P63J'snc&^C3<TKUrrgOc";[=%rrabZ"9^1Drs#b3"IATXnbW:cnc&Ojj(8Ds
+rr3)E"9`rFrrqqu"9_Hap\t?I$l2S6rrhU9$l34JrrhAt*!?EArrAJd":N$FruqRK6C)h-Ai'Dh
+!+5\:s'P_:$"%:O+p8ZgTV.&:Ad;[T?[uJd$lo7Ys*"c*"9]M?s0;b1<Vl_!+p8%ARBlg[%o!fJ
+,'U>uTV.^YZ=XjfB)%eoZ3+\S(3fVC"GS?."G$LO"u?B+fDkC+pAY9>.0Kccnc&`("9].brVlt3
+":U%Urrcp:"<>5NrrDTgrr_:$">fuU#ZV!O_#OH)s7,sc!:g'g!YtoNnc&TWrWE7pnbrIi.0Kcc
+W;crD"9`>Bs*t~>
+_#FLD"9d?.s8N3%,5qNDL'.XFrqHWr"9]q#mJd1]r;R5k63m^<s8Vlos"ac\.ImE@f-q+:ZM+=u
+nHJsX?N^MsrVm#P63J'snc&^C3<TKUrrgOc";[=%rrabZ"9^1Drs#b3"IATXnbW:cnc&Ojj(8Ds
+rr3)E"9`rFrrqqu"9_Hap\t?I$l2S6rrhU9$l34JrrhAt*!?EArrAJd":N$FruqRK6C)h-Ai'Dh
+!+5\:s'P_:$"%:O+p8ZgTV.&:Ad;[T?[uJd$lo7Ys*"c*"9]M?s0;b1<Vl_!+p8%ARBlg[%o!fJ
+,'U>uTV.^YZ=XjfB)%eoZ3+\S(3fVC"GS?."G$LO"u?B+fDkC+pAY9>.0Kccnc&`("9].brVlt3
+":U%Urrcp:"<>5NrrDTgrr_:$">fuU#ZV!O_#OH)s7,sc!:g'g!YtoNnc&TWrWE7pnbrIi.0Kcc
+W;crD"9`>Bs*t~>
+_#FLD"9d?.s8N3%,5qNDL'.XFrqHWr"9]q#mJd1]r;R5k63m^<s8Vlos"ac\.ImE@f-q+:ZM+=u
+nHJsX?N^MsrVm#P63J("nc&^C3<TKUrrgOc";[=%rrabZ"9^1Drs#b3"IATXnbW:cnc&Ojj(8Ds
+rr3)E"9`rFrrqqu"9_Hap\t?I$l2S6rrhU9$l34JrrhAt*!?EArrAJd":N$FruqRK6C)h-Ai'Dh
+!+5\:s'P_:$"%:O+p8ZgUnibBAd;[T?[uJd$lo7Ys*"c*"9]M?s0;b1<Vl_!+p8%ERBlg[%o!fJ
+,'U>uUnjEaZ=XjfB)%eoZ3+\S(3fVC"GS?."G$LO"u?B+fDkC+pAY9>.0Kccnc&`("9].brVlt3
+":U%Urrcp:"<>5NrrDTgrr_:$">fuU#ZV!O_#OH)s7,sc!:g'g!YtoNnc&TWrWE7tnbrIi.0Kcc
+W;crD"9`>Bs*t~>
+_#FLD"9dQ[rrDTDs8N3%*<#m>L'.X6rqHd!"9]q#s8Vlhnc/XarVmMq9aCl6q#C-hs"ac\%'nLF
+h;/%irlbc%bh([V*"371h;c`YirJBDirJWKrrgPQ"9d?Trs%(A";Za^lLY#XZ8i$jo)B#N$j7?3
+s8VWh,5q]G3Uu\?"/$VRZL\"tf2W4^rr3,:"9`?:qsamjbQJ&Cs8Vob#li*O"BGL%naZVY%c[s#
+"?GcIs7,CSs"ac\qu6YarWE>=s8O)<"994k"9B8Hqud!.r<*;os0;b1:&=kk+p8&Grre`0"<t/J
+rr\ns%%6hh",6peZMOS(nTP`OLAq2T+p9@=oD\s;+p8$\nc'#J$j6^bs7--hAcrNmo)Ai)"9]pm
+o)AgP*!@_grrZ7(.C/LDrr`=6nc'&a$j6^$nc/.ZnJhZ7AuP_3.0KctZN#F~>
+_#FLD"9dQ[rrDTDs8N3%*<#m>L'.X6rqHd!"9]q#s8Vlhnc/XarVmMq9aCl6q#C-hs"ac\%'nLF
+h;/%irlbc%bh([V*"371h;c`YirJBDirJWKrrgPQ"9d?Trs%(A";Za^lLY#XZ8i$jo)B#N$j7?3
+s8VWh,5q]G3Uu\?"/$VRZL\"tf2W4^rr3,:"9`?:qsamjbQJ&Cs8Vob#li*O"BGL%naZVY%c[s#
+"?GcIs7,CSs"ac\qu6YarWE>=s8O)<"994k"9B8Hqud!.r<*;os0;b1:&=kk+p8&Grre`0"<t/J
+rr\ns%%6hh",6peZMOS(nTP`OLAq2T+p9@=oD\s;+p8$\nc'#J$j6^bs7--hAcrNmo)Ai)"9]pm
+o)AgP*!@_grrZ7(.C/LDrr`=6nc'&a$j6^$nc/.ZnJhZ7AuP_3.0KctZN#F~>
+_#FLD"9dQ[rrDTDs8N3%*<#m>L'.X6rqHd!"9]q#s8Vlhnc/XarVmMq9aCl6q#C-hs"ac\%'nLF
+h;/%irlbc%bh([V*"371h;c`YirJBDirJWKrrgPQ"9d?Trs%(A";Za^lLY#XZ8i$jo)B#N$j7?3
+s8VWh,5q]G3Uu\?"/HnVZL\"tf2W4^rr3,:"9`?:qsamjbQJ&Cs8Vob#li*O"BGL%naZVY%c[s#
+"?GcIs7,CSs"ac\qu6YarWE>=s8O)<"994k"9B8Hqud!.r<*;os0;b1:&=kk+p8&Grre`0"<t/J
+rr]&"%%6hh",6peZMOS(nTP`OLAq2T+p9@=oD\s;+p8$\nc'#J$j6^bs7--hAcrNmo)Ai)"9]pm
+o)AgP*!@_grrZ7(.C/LDrr`=6nc'&a$j6^$nc/.ZnJhZ7AuP_3.0KctZN#F~>
+_uBr2s8QF/"Pq]0rr`<GrVltS"9b%ip]UU"">eZsrrDilrt"B]#R"c>s7lWo+p8;W.1H1YrtYbH
+";Vam(B,9R(B+F?1I<l;1HGFj$99n:AnH6e+p8&)rVm;X63IEOAm]ao?\!ZNrdY<!L5'na64<u4
+LA69!GQ**rG<uE8(7G.$!%ImM!?@F&J,jfmJ,jfmJ-U9m"9__TL5,\X!-eEm#^;#hJ;.YU"9e`(
+"3^lNB)2H2f)u4Ns8VWbrr_'["CM*,#4_``+p8<]qu6cg1COE`rrAAa":N$FrtY_G1LDpo9e$&E
+!_m$/r+6C)9kIa,1DU)r*+*&%%.FB"%/pA6%0-@5"9_Hqrs^.T"TS#lnc/WW+p9*qqYpqk"9b%j
+nc/.Znc/.Yrsshe"JGebs7--Zs6=2!"GZpU"=XHnAsrXQqg\usJ:O&"$j6tpLAZQ%GQ**mGQ!$m
+Q9tQR!8%2L#DNWi6AC#@GQ**mGQ*+$GCY3u.0Kb^GI!O-_#(DCR>.B#TS<RP.K'2K<<O(]_#:PK
+n`oE"j5&Osbd*W>"BF:Sj88*Gn`+3i$j<m7rrhj3"9`>8rrXGJ"D4t>J,~>
+_uBr2s8QF/"Pq]0rr`<GrVltS"9b%ip]UU"">eZsrrDilrt"B]#R"c>s7lWo+p8;W.1H1YrtYbH
+";Vam(B,9R(B+F?1I<l;1HGFj$99n:AnH6e+p8&)rVm;X63IEOAm]ao?\!ZNrdY<!L5'na64<u4
+LA69!GQ**rG<uE8(7G.$!%ImM!?@F&J,jfmJ,jfmJ-U9m"9__TL5,\X!-eEm#^;#hJ;.YU"9e`(
+"3^lNB)2H2f)u4Ns8VWbrr_'["CM*,#4_``+p8<]qu6cg1COE`rrAAa":N$FrtY_G1LDpo9e$&E
+!_m$/r+6C)9kIa,1DU)r*+*&%%.FB"%/pA6%0-@5"9_Hqrs^.T"TS#lnc/WW+p9*qqYpqk"9b%j
+nc/.Znc/.Yrsshe"JGebs7--Zs6=2!"GZpU"=XHnAsrXQqg\usJ:O&"$j6tpLAZQ%GQ**mGQ!$m
+Q9tQR!8%2L#DNWi6AC#@GQ**mGQ*+$GCY3u.0Kb^GI!O-_#(DCR>.B#TS<RP.K'2K<<O(]_#:PK
+n`oE"j5&Osbd*W>"BF:Sj88*Gn`+3i$j<m7rrhj3"9`>8rrXGJ"D4t>J,~>
+_uBr2s8QF/"Pq]0rr`<GrVltS"9b%ip]UU"">eZsrrDilrt"B]#R"c>s7lWo+p8;W.1H1YrtYbH
+";Vam(B,9R(B+F?1I<l;1HGFj$99n:AnH6e+p8&)rVm;X63IEOAm]ao?\!ZNrdY<!L5'na64<u4
+LA69!GQ**rG<uE8(7G.$!%ImM!?@F&J,jfmJ,jfmJ-U9m"9__TL5,\X!-eEm#^;#hJ;.YU"9e`(
+"3^lNB)2H2f)u4Ns8VWbrr_'["CM*,#4_``+p8<]qu6cg1COE`rrAAa":N$FrtY_G1LDpo9e$&E
+!_m$/r+6C)9kIa,1DU)r*+*&%%.FB"%/pA6%0-@5"9_Hqrs^.T"TS#lnc/WW+p9*qqYpqk"9b%j
+nc/.Znc/.Yrsshe"Jl(fs7--Zs6=2!"GZpU"=XHnAsrXQqg\usJ:O&"$j6tpLAZQ%GQ**mGQ!$m
+Q9tQR!8%2L#DNWi6AC#@GQ**mGQ*+$GCY3u.0Kb^GI!O1_#(DCR>.N'UkT!T.K'2K<<O(]_#:PK
+n`oE"j5&Osbd*W>"BF:Sj88*Gn`+3i$j<m7rrhj3"9`>8rrXGJ"D4t>J,~>
+_#FLD"9d?.s8N3%*<#m>L'.X6rqHWr"9^10mJd1]r;R,h3<TJ/s8Vlos!dpM!$(q?rs\W)rsSr3
+*";<>!:'O_!SpK9"99G4"9]\I"<t/Mrr=MH"994l"TJE'bQJ&\q>UQ@$j8ojrr^IJ"AS^l%3boX
+3U6YEnaZYL1B[jXrrAAa":r<JrtY_t_#N6Uh0081"P<>H$J.uT1Vj%jlHIK;r8RtGh7t!M1]Gu6
+j5"np":X>jZ31;1qYpU@"9eW%&&9Us.DYuRj8\E7s-WumQMLOblLFn/"9bCorrhUe"9aJYrr=M'
+"TK8;"9Aq_rr3#hB'od+$j6\K$j7"4"9],Q"9^OYrs2U-":Q^^"<7RD+q,G"((:s-"<msO(.&f9
+*!-lq(A]3Y69,/O%'og2!uqFHGGtND+p8$\ZN#F~>
+_#FLD"9d?.s8N3%*<#m>L'.X6rqHWr"9^10mJd1]r;R,h3<TJ/s8Vlos!dpM!$(q?rs\W)rsSr3
+*";<>!:'O_!SpK9"99G4"9]\I"<t/Mrr=MH"994l"TJE'bQJ&\q>UQ@$j8ojrr^IJ"AS^l%3boX
+3U6YEnaZYL1B[jXrrAAa":r<JrtY_t_#N6Uh0081"P<>H$J.uT1Vj%jlHIK;r8RtGh7t!M1]Gu6
+j5"np":X>jZ31;1qYpU@"9eW%&&9Us.DYuRj8\E7s-WumQMLOblLFn/"9bCorrhUe"9aJYrr=M'
+"TK8;"9Aq_rr3#hB'od+$j6\K$j7"4"9],Q"9^OYrs2U-":Q^^"<7RD+q,G"((:s-"<msO(.&f9
+*!-lq(A]3Y69,/O%'og2!uqFHGGtND+p8$\ZN#F~>
+_#FLD"9d?.s8N3%*<#m>L'.X6rqHWr"9^10mJd1]r;R,h3<TJ/s8Vlos!dpM!$(q?rs\W)rsSr3
+*";<>!:'O_!SpK9"99G4"9]\I"<t/Mrr=MH"994l"TJE'bQJ&\q>UQ@$j8ojrr^IJ"AS^l%3boX
+3U6YEnaZYL1B[jXrrAAa":r<JrtY_t_#N6Uh0081"P<>H$J.uT1Vj%jlHIK;r8RtGh7t!M1]Gu6
+j5"np":X>jZ31;1qYpU@"9eW%&&9Us.DYuRj8\E7s-WumQMLOblLFn/"9bOsrrhUe"9aJYrr=M'
+"TK8;"9Aq_rr3#hB'od+$j6\K$j7"4"9],Q"9^OYrs2U-":Q^^"<7RD+q,G"((:s-"<msO(.&f9
+*!-lq(A]3Y69,/O%'og2!uqFHGGtND+p8$\ZN#F~>
+_#FLD"9d?.s8N3%*<#m>L'.XFrqHWr"9^1*rr2unli.LU.0Kd(s8VloruqRK%$m=Z^]Ca6qITn2
+((:=QGP,PN?Y18d"T89+j'N2t6=sS:?Y9+@#?>,CAekLXB(TF6AmYZL(7G.$"XsQ_((=gH?Nk%%
+"9^_spL!r4ra,^H('OX:"3^lNB)2H/isZ&WpAY6[$j9T0rrDTfrs'_N"ASFds7-*g!]'r^qu6Y^
+rWEG@s8NK1*2*91"McGh"PrbN"S"JT*7si_"4mYY1]77ZG6A$alMnX&"ASam![7aMrVmK"s0='V
+3Sj`8lMp/Ls0;b1T_\Tlnc/Wp"9cO:rrhkH$j;=arrOVP"T;p4?i*/!3DDM6?N^cG(.(#;.4P$3
+"r8X-"9].brr3/lAcr5P(@hS4$j6\A"9]/,"9],W";WHarr?'u"98l%"9^.V$j7RA"9f2_"9].=
+r;QjJ":TgZrrX\Q"D4t>J,~>
+_#FLD"9d?.s8N3%*<#m>L'.XFrqHWr"9^1*rr2unli.LU.0Kd(s8VloruqRK%$m=Z^]Ca6qITn2
+((:=QGP,PN?Y18d"T89+j'N2t6=sS:?Y9+@#?>,CAekLXB(TF6AmYZL(7G.$"XsQ_((=gH?Nk%%
+"9^_spL!r4ra,^H('OX:"3^lNB)2H/isZ&WpAY6[$j9T0rrDTfrs'_N"ASFds7-*g!]'r^qu6Y^
+rWEG@s8NK1*2*91"McGh"PrbN"S"JT*7si_"4mYY1]77ZG6A$alMnX&"ASam![7aMrVmK"s0='V
+3Sj`8lMp/Ls0;b1T_\Tlnc/Wp"9cO:rrhkH$j;=arrOVP"T;p4?i*/!3DDM6?N^cG(.(#;.4P$3
+"r8X-"9].brr3/lAcr5P(@hS4$j6\A"9]/,"9],W";WHarr?'u"98l%"9^.V$j7RA"9f2_"9].=
+r;QjJ":TgZrrX\Q"D4t>J,~>
+_#FLD"9d?.s8N3%*<#m>L'.XFrqHWr"9^1*rr2unli.LU.0Kd(s8VloruqRK%$m=Z^]Ca:qITn2
+((:=QGP,PN?Y18d"T89+j'N2t6=sS:?Y9+@#?>,CAekLXB(TF6AmYZL(7G.$"XsQ_((=gH?Nk%%
+"9^_spL!r4ra,^H('OX:"3^lNB)2H/isZ&WpAY6[$j9T0rrDTfrs'_N"ASFds7-*g!]'r^qu6Y^
+rWEG@s8NK1*2NQ5"McGh"PrbN"S"JT*7si_"4mYY1]77ZG6A$alMnX&"ASam![7aMrVmK"s0='V
+3Sj`8lMp/Ls0;b1V"t#pnc/Wp"9cO:rrhkH$j;=arrOVP"T;p4?i*/!3DDM6?N^cG(.(#;.4P$3
+"r8X-"9].brr3/lAcr5P(@hS4$j6\A"9]/,"9],W";WHarr?'u"98l%"9^.V$j7RA"9f2_"9].=
+r;QjJ":TgZrrX\Q"D4t>J,~>
+_uBr2s8QF/"MiXhrr`<GrVltS"9b.ks8N3*3TL/7s7kp["QL[/"F'eD!t5;8,4Y[9j$EkOZL\"s
+63IGhrrhk9"9c%"rrP1`"S2Qmj8K/]LAh,T1B\*h*:a%2^]Xe.nc&ni"9e8ps3(TKB)2H/l3n(q
+pAY6N$j9r8rs&#nruqRK?iL'0nbE.a.0KeNrsG%p#RJZSrtY_?1]77TAcr7Po`"tA"9e`(!:fg`
+"(hZ=6N$ii?N^K?nc.DJ"@Dtb"X4'Ps8VWgrs+r-"<=`Is7-'f"2GZ\T_\Tlnc/WT"9c%+rr[HR
+"G$LO!\"6Tr;Qcequ6cMj8\ZK"9hg*q!mCrrQH2'bfn8R^q`YI$k2\+nc/W$"9_H)^p:b]^p<pS
+!4)U>#I6>m%$mQ@T`2_,ZMqWFZCnLr^p5.(.K'2N9bo1GbaH8>q7m3-L7,=U"=!]X!4)U>!4)R=
+!+u35!4)S'"R8\a"GWlT"<msO?h(K&J,~>
+_uBr2s8QF/"MiXhrr`<GrVltS"9b.ks8N3*3TL/7s7kp["QL[/"F'eD!t5;8,4Y[9j$EkOZL\"s
+63IGhrrhk9"9c%"rrP1`"S2Qmj8K/]LAh,T1B\*h*:a%2^]Xe.nc&ni"9e8ps3(TKB)2H/l3n(q
+pAY6N$j9r8rs&#nruqRK?iL'0nbE.].0KeNrsG%p#RJZSrtY_?1]77TAcr7Po`"tA"9e`(!:fg`
+"(hZ=6N$ii?N^K?nc.DJ"@Dtb"X4'Ps8VWgrs+r-"<=`Is7-'f"2GZ\T_\Tlnc/WT"9c%+rr[HR
+"G$LO!\"6Tr;Qcequ6cMj8\ZK"9hg*q!mCrrQH2'bfn8R^q`YI$k2\+nc/W$"9_H)^p:b]^p<pS
+!4)U>#I6>m%$mQ@T`2_,ZMqWFZCnLr^p5.(.K'2N9bo1GbaH8>q7m3-L7,=U"=!]X!4)U>!4)R=
+!+u35!4)S'"R8\a"GWlT"<msO?h(K&J,~>
+_uBr2s8QF/"MiXhrr`<GrVltS"9b.ks8N3*3TL/7s7kp["QL[/"F'eD!t5;8,4Y[9j$EkOZL\"s
+63IGhrrhk9"9c%"rrP1`"S2Qmj8K/]LAh,T1B\*h*:a%2^]Xe.nc&ni"9e8ps3(TKB)2H/l3n(q
+pAY6N$j9r8rs&#nruqRK?iL'0nbE.R.0KeNrsG%p#RJZSrtY_?1]77TAcr7Po`"tA"9e`(!:fg`
+"(hZ=6N$ii?N^K?nc.DJ"@Dtb"X4'Ps8VWgrs+r-"<=`Is7-'f"2GZ\V"t#pnc/WT"9c%+rr[HR
+"G$LO!\"6Tr;Qcequ6cMj8\ZK"9hg*q!mCrrQH2'bfn8R^q`YI$k2\+nc/W$"9_H)^p:b]^p<pS
+!4)U>#I6>m%$m]DV#J.0ZMqWFZD=e%^p5.(.K'2N9bo1GbaH8Bq7m31L7,=U"=!]X!4)U>!4)R=
+!+u35!4)S'"R8\a"GWlT"<msO?h(K&J,~>
+_#FLD"9cNls8N3%*<#mFL'.XFs8Vlo"9^aMrr2unli.+J+p8%!r;Qj="9]_7rrh@V":VU,rrP1`
+"T89)nTP*=ZN'spo`#$/$j6_(rrCmS"9=2Trr=kS"99G3rr]P0"IATX!^["mrr2tBpB1L4%/pD0
+(AS(E*"2rQ(+C4+";VCi.0L%^<Vl^s1B[jXrsG%p#RnoVrtY_?3W/m[?N^LDfCf.F1B[j[rrDTa
+rreuN"9_'irrMCbrWEDps47AV6Mg]`+p8&Gs!jZc$n6D+ZCnL8R?hFf":UU?beVH<beTXPR9p^R
+GJMGH^s'U<Z4$j=GQ.UD.0KeDs8E-$?h+-rGQ%^Fj8T&]nPo]#L@P9GAcr8%o)AgP$j8BarrZ7(%
+)DE5rr`<rnc&TTrWE5,rVm#j9`tlZW;d&N"9a8Ts7*MsJ,~>
+_#FLD"9cNls8N3%*<#mFL'.XFs8Vlo"9^aMrr2unli.+J+p8%!r;Qj="9]_7rrh@V":VU,rrP1`
+"T89)nTP*=ZN'spo`#$/$j6_(rrCmS"9=2Trr=kS"99G3rr]P0"IATX!^["mrr2tBpB1L4%/pD0
+(AS(E*"2rQ(+C4+";VCi.0L%^<Vuduq_J?Xqu7"h":,FZs8Ni;"?HD["CD97B%Q_U!]'r^rr2ug
+q#:Ji1B[hIrVlo`<W3+)nc.2D"@Dtb![7aMqu8.=+q,oEZEg./Asnrs"9].!bfmlH^s'T^ZC,&8
+,'UiHbeVH<bd%W["F'kF!\"6Tnc/Rk!+59r!-eDF!9=(Y"S#Ip%#4<P"(hZ=lLOrWisZ&Hr;Qk!
+":W*9s8N3%:%A5`QMq!eZMje+nP',pL8b+V.0Kd(s8VVss*t~>
+_#FLD"9cNls8N3%*<#mFL'.XFs8Vlo"9^aMrr2unli.+J+p8%!r;Qj="9]_7rrh@V":VU,rrP1`
+"T89)nTP*=ZN'spo`#$/$j6_(rrCmS"9=2Trr=kS"99G3rr]P0"IATX!^["mrr2tBpB1L4%/pD0
+(AS(E*"2rQ(+C4+";VCi.0L%^<Vudun1t1Mqu7"h":,FZs8Ni;"?HD["CD97B%Q_U!]'r^rr2ug
+q#:Jm1B[hIrVlo`<W3+)nc.2D"@Dtb![7aMqu8.A+q,oEZEg:3Asnrs"9].!bfmlH^s'T^ZC,&8
+,'UiHbeVH<bd%W["F'kF!\"6Tnc/Rk!+59r!-eDF!9=(Y"S#Ip%#4<P"(hZ=lLOrWisZ&Hr;Qk!
+":W*9s8N3%:%A5`QMq!eZMje+nP',pL8b+V.0Kd(s8VVss*t~>
+_#FLD"9c$^s8N3%*<#mJL'.XIs8Vlo"9^aFs7lWhli.+J+p8%!r;Qj="9]_7rrhV!"=_.WrrP1`
+"T89)nTP*=T`>&^p&>0bJ-5upo)A^GrWE4UrVm!V":PDQnc&]s"9b%\rs1po"TRcC1B\-C"9]\I
+$j9T,rrOtZ"T/3+Q37I!bQ%SN"9^a_rrcp:";ZabrrOtZ"TJE$nbE+a6N.)f3W8sb^bZB%"S)ND
+"9_'frrjSL"TSMlrr3%m.1GtS!YtnIo*#(%p&kAGrr3$K"9e;q!9=%]!+u0/!;Q<g!+u35!9=%X
+"D.cFJFWR;!V-3dnH])$"9csKs6BCLrr3)V$j8BarrZ7(%*\_N!V-3enHf0[s8V?e"?HMRnH&ZX
+rWE5:rVm#j9`tTRW;d&N"9aJZs7*MsJ,~>
+_#FLD"9c$^s8N3%*<#mJL'.XIs8Vlo"9^aFs7lWhli.+J+p8%!r;Qj="9]_7rrhV!"=_.WrrP1`
+"T89)nTP*=T`>&^p&>0bJ-5upo)A^GrWE4UrVm!V":PDQnc&]s"9b%\rs1po"TRcC1B\-C"9]\I
+$j9T-rr`-S"9eW%$C1f##g<8J$j6\nr;Qn3"9]Kpp&>(L"9e`(!:fja!(-Yf!'1#X$G\G+"9e8p
+f)u4CqYp^C"9ec)nc&OiTIC<E"9K>A%.aW%%/'f(JH#QM.0KeErrD*Y"9<'3rrMolq#:>+rWE5]
+rVm"4":ThNr;Qffs8)6js'Gm3bl@_.q!n@`"5O@g1]77T<<N`Srr3#hs82<ls6BXal3%5Ms7>a]
+s-`ih!5SR5"S#1h"GWlT"t9ZXLB%;D[Jta~>
+_#FLD"9c$^s8N3%*<#mJL'.XIs8Vlo"9^aFs7lWhli.+J+p8%!r;Qj="9]_7rrhV!"=_.WrrP1`
+"T89)nTP*=V#UJbp&>0bJ-5upo)A^GrWE4UrVm!V":PDQnc&]s"9b%\rs1po"TRcC1B\-C"9]\I
+$j9T-rr_aH"9eW%$C1f##g<8J$j6\nr;Qn3"9]Kpp&>(L"9e`(!:fja!(-Yf!'1#X$G\G+"9e8p
+f)u4CqYp^C"9ec)nc&OiUaZ`I"9K>A%.aW%%/'f(JH#QM.0KeErrD*Y"9<'3rrMoaq#:>+rWE5]
+rVm"4":ThNr;Qffs8)6js'Gm3bl@_.q!n@`"5O@g1]77T<<N`Srr3#hs82<ls6BXal3%5Ms7>a]
+s-`ih!5SR5"S#1h"GWlT"t9ZXLB%;D[Jta~>
+_uC&5s8QF/"LA(-n_4$C"99YErsshe"I];iq#:I"3TL/7s7kp["QL[/"F'eD!u;"B*:a%3nTP+9
+h=CRI3<TK_rs/(+"9bCts7,d^"S"e]"D76)!8[VW!/CIP">^/h"<?t3#-n@7QN.!Tq#CBas8N-e
+"9e`("GR$^B)hbu#O8T7(15\Rj8/9Wba'Fm?e=?.j34gEbVLFG<W<"&nbE.a.0KeNrsP+q#RJZS
+rsT#5(;TnK!+u35!CFTqrrOVP"TJE$nbN1ch$j8c!&OWS$fcF>$j6_5s47AV6Mg]`+p8&Gs!jZ]
+"9]K#1Enh.3@Q`e"<8U*(*")0(*"b`.4GB&+rhR<*#9M0+rg^gJH#QM.0KeErrDTg"9;g!rr?[1
+":=,gn`0Y("9`r=qu6Zdq>UP(":X,[s8VTmlMoZU"=a9K#?:m8_#N^"nb2tbnH8t]nc&TDrWEPC
+s7,XZl:hBaL8b+S+p8$mZN#F~>
+_uC&5s8QF/"LA(-n_4$C"99YErsshe"I];iq#:I"3TL/7s7kp["QL[/"F'eD!u;"B*:a%3nTP+9
+h=CRI3<TK_rs/(+"9bCts7,d^"S"e]"D76)!8[VW!/CIP">^/h"<?t3#-n@7QN.!Tq#CBas8N-e
+"9e`("GR$^B)hbu#O8T7(15\Rj8/9Wba'Fm?e=?.j34gEbVLFG<W<"&nbE.a.0KeNrsP+q#RJZS
+rsT#5(;TnK!+u35!CFTqrrOVP"TJE$nbN1ch$j8c!&OWS$fcF>$j6_5s47AV6Mg]`+p8&Gs!jZ]
+"9]K#1Enh.3@Q`e"<8U*(*")0(*"b`.4GB&+rhR<*#9M0+rg^gJH#QM.0KeErrDTg"9;g(rrDrn
+rr?[1":=,gn`0Y("9`r=qu6Zdq>UP(":X,[s8VTmlMoZU"=a9K#?:m8_#N^"nb2tbnH8t]nc&TD
+rWEPCs7,XZl:hBaL8b+S+p8$mZN#F~>
+_uC&5s8QF/"LA(-n_4$C"99YErsshe"I];iq#:I"3TL/7s7kp["QL[/"F'eD!u;"B*:a%3nTP+9
+h=CRI3<TK_rs/(+"9bP#s7,d^"S"e]"D76)!8[VW!/CIP">^/h"<?t3#-n@7QN.!Tq#CBas8N-e
+"9e`("GR$^B)hbu#O8T7(15\Rj8/9Wba'Fm?e=?.j34gEbVLFG<W<"&nbE.a.0KeNrsP+q#RJZS
+rsT#5(;TnK!+u35!CFTqrrOVP"TJE$nbN1ch$j8c!&OWS$fcF>$j6_5s47AV6Mg]`+p8&Gs!jfa
+"9]K#1Enh.3@Q`e"<8U*(*")0(*"b`.4GB&+rhR<*#9M0+rg^gJH#QM.0KeErrDTg"9;g(rrDQc
+rr?[1":=,gn`0Y("9`r=qu6Zdq>UP(":X,[s8VTmlMoZU"=a9K#?:m8_#N^"nb2tbnH8t]nc&TD
+rWEPCs7,XZl:hBaL8b+S+p8$mZN#F~>
+_#FUG"9c%1s7+hCrr`<ArVmC_"9bCts7lTs"?GcIq#C-Trrh@+"9a8QrrX5D"=!@8!epi%nc&YN
+"9eZ&#OuC/"LA(-nauh`3<TJjo)A^GrWE4UrVljRrWE3@nc&]s"9b%\rs;!p"QTO^f)u4gq>UQ^
+"9^aYrr_'["BG<u"R706"BG<u!]'r^qu7%i":,FZs8NiM"9`?8rr?[1"9ApTpAY1M"9e`(!:fpc
+#2Nko":PD^rr3AA1B\Hr"TSMX"9_'frrO/C"T/3%R2c>R_#"'5Z4%M:q>UZhs8S_p%'o^/"(hZ=
+LAq2S.0KeHrr_fks7-'k!*/Rh!+u35#iksblMlSA"F'D9"()06_"@X1nc.ku"=a9K"'#IDh>[ES
+nb2tbh#mj@nc&TDrWE5,rVm#j9`tTRW;cuL"9`*%Zi>O~>
+_#FUG"9c%1s7+hCrr`<ArVmC_"9bCts7lTs"?GcIq#C-Trrh@+"9a8QrrX5D"=!@8!epi%nc&YN
+"9eZ&#OuC/"LA(-nauh`3<TJjo)A^GrWE4UrVljRrWE3@nc&]s"9b%\rs;!p"QTO^f)u4gq>UQ^
+"9^aYrr_'["BG<u"R706"BG@!"8akW"T/3,Q37I%bQ%SX('FbPrVlk0rWE61GP;%<1B[j[rrDTc
+rs%:k"9],9.K9>T^bZ*/"9ec)h#mjIqYpU:"9eW%"IU54,/F'T"0r=NRJHjenc/W^":VU3rrZj9
+"GZpU!\"6Tp&>-as8VWg"9DO&qYLQuqu?Qnqu?\.rWEMes8VBaL'.X'nc&\u"9cO4rrqrml66?[
+r;Qk!"<?7srrDT_rr_'["?H#P!/CIU!4)S'"S#1h"GWlT"=XHV?h(K&J,~>
+_#FUG"9c%1s7+hCrr`<ArVmC_"9bP#s7lTs"?GcIq#C-Trrh@+"9a8QrrX5D"=!@8!epi%nc&YN
+"9eZ&#OuC/"LA(-nauh`3<TJjo)A^GrWE4UrVljRrWE3@nc&]s"9b%\rs;!p"QTO^f)u4gq>UQ^
+"9^aYrr_'["BG<u"R706"BG@!"7S)L"T/3,Q37I%bQ%SX('FbPrVlk0rWE61GP;%<1B[j[rrDTc
+rs%:k"9],9.K9>T^bZ*/"9ec)h#mjIqYpU:"9eW%"IU54,/F'T"0r=NRJHjenc/Wb":VU3rrZj9
+"GZpU!\"6Tp&>-as8VWg"9DO&qX=djnGi"XnGiN#rWEMes8VBaL'.X'nc&\u"9cO4rrqrml66?[
+r;Qk!"<?7srrDT_rr_'["?H#P!/CIU!4)S'"S#1h"GWlT"=XHV?h(K&J,~>
+_#FLD"9a8,s8N3%,5qNEL'.WRlMgh`"9C==kPl"V.0Kcts8VlortY_?(@hD,^^L@#nc&YN"9eW%
+#)36`T`>&^o`"t:"9e8p!8[VW!/CIP">^/h"<?t3#/CuWQN.!To`"tZ"9e`("3^lNB)2H/l4sL_
+pAY6N('IY6rrh@%"9_'grrh@V"<u(frt1YZ('MGQs!\'R()DYbs7'G)r<*78lMpnSqu6ab":X,]
+rs/(K('GT["@E+f!O<.4"TSK)Q37>&lMUYaj(9_Cqu6l91B\-%s6BU`"nDVu"9b.drr\ns"Mjm6
+"R8;V"GZpU![7aMoD]!Zh&HP#B(>m$B)Vo5lM^_bZ31;Snc&\u"9dcTrrNT31]77T<<NH\p&>9e
+s8V?e"BFaXrrAAa"9>b*rrZ7("GWlT""=?UB!VGe~>
+_#FLD"9a8,s8N3%,5qNEL'.WRlMgh`"9C==kPl"V.0Kcts8VlortY_?(@hD,^^L@#nc&YN"9eW%
+#)36`T`>&^o`"t:"9e8p!8[VW!/CIP">^/h"<?t3#/CuWQN.!To`"tZ"9e`("3^lNB)2H/l4sL_
+pAY6N('IY6rrh@%"9_'grrh@V"<u(frt1YZ('MGQs!\'R()DYbs7'G)r<*78lMpnSqu6ab":X,]
+rs/(K('GT["@E+f!O<.4"TSK)Q37>&lMUYaj(9_Cqu6l91B\-%s6BU`"nDVu"9b.drr\ns"Mjm6
+"R8;V"GZpU![7aMoD]!Zh&HP#B(>m$B)Vo5lM^_bZ31;Snc&\u"9dcTrrNT31]77T<<NH\p&>9e
+s8V?e"BFaXrrAAa"9>b*rrZ7("GWlT""=?UB!VGe~>
+_#FLD"9a8,s8N3%,5qNEL'.WRlMgh`"9C==kPl"V.0Kcts8VlortY_?(@hD,^^L@#nc&YN"9eW%
+#)36`V#UJbo`"t:"9e8p!8[VW!/CIP">^/h"<?t3#/CuWQN.!To`"tZ"9e`("3^lNB)2H/l4sL_
+pAY6N('IY6rrh@%"9_'grrh@V"<u(frt1YZ('MGQs!\'R()DYbs7'G)r<*78lMpnSqu6ab":X,]
+rs/(K('GT["@E+f!O<.4"TSK)Q37>&lMUYaj(9_Cqu6l91B\-%s6BU`"nDVu"9b.drr]&""Mjm6
+"R8;V"GZpU![7aMoD]!Zh&HP#B(>m$B)Vo5lM^_bZ31;Snc&\u"9dcTrrNT31]77T<<NH\p&>9e
+s8V?e"BFaXrrAAa"9>b*rrZ7("GWlT""=?UB!VGe~>
+_uBr2s8QF/"F&Jtrr`<GrVm@n"9^aFs8Vis"=`1,s7l*`s7lQm%I,qV"D7]6q#C@0"9]/'rr]P0
+"IATX!]^Adqu6kd"9bCts7,a]!ZV=Gnc&UFrWE4UrVljRrWE3@o)AsbL)'oHs8VBZs8VWhrrPLi
+"TJE'^]XdPq>UQ@$j8ojrs-=B"BGL%naZVY"R6s0"@E"c!Pg_l"98l/"<tY]nKJ)=+p9^-s8RTb
+"AL'C"?Edfs5X.Znc.l@"<un+nbiD%nX209"<:bO">g)Xh*M5n('Fd1nUU67qu6l93<TJjs5X%W
+".98pQMLR\nHAlX"9b.hrrhUo"9a8SrrOAI"S;ZnnH2Jo"D73(!+u35!:'O_"0r%4GOb\;<<NHp
+s8VWarrDTgs8N3%.K'2M<<NHbs8VW]s8N3&(7+Ok!1*Te!5SR5"S#Ip"GWlT"!RjNB!VGe~>
+_uBr2s8QF/"F&Jtrr`<GrVm@n"9^aFs8Vis"=`1,s7l*`s7lQm%I,qV"D7]6q#C@0"9]/'rr]P0
+"IATX!]^Adqu6kd"9bCts7,a]!ZV=Gnc&UFrWE4UrVljRrWE3@o)AsbL)'oHs8VBZs8VWhrrPLi
+"TJE'^]XdPq>UQ@$j8ojrs-=B"BGL%naZVY"R6s0"@E"c!Pg_l"98l/"<tY]nKJ)=+p9^-s8RTb
+"AL'C"?Edfs5X.Znc.l@"<un+nbiD%nX209"<:bO">g)Xh*M5n('Fd1nUU67qu6l93<TJjs5X%W
+".98pQMLR\nHAlX"9b.hrrhUo"9a8SrrOAI"S;ZnnH2Jo"D73(!+u35!:'O_"0r%4GOb\;<<NHp
+s8VWarrDTgs8N3%.K'2M<<NHbs8VW]s8N3&(7+Ok!1*Te!5SR5"S#Ip"GWlT"!RjNB!VGe~>
+_uBr2s8QF/"F&Jtrr`<GrVm@n"9^aFs8Vis"=`1,s7l*`s7lQm%I,qV"D7]6q#C@0"9]/'rr]P0
+"IATX!]^Adqu6kd"9bP#s7,a]!ZV=Gnc&UFrWE4UrVljRrWE3@o)AsbL)'oHs8VBZs8VWhrrPLi
+"TJE'^]XdPq>UQ@$j8ojrs-=B"BGL%naZVY"R6s0"@E"c!Pg_l"98l/"<tY]nKJ)=+p9^-s8RTb
+"AL'C"?Edfs5X.Znc.l@"<un+nbiD%nX209"<:bO">g)Xh*M5n('Fd1nUU67qu6l93<TJjs5X%W
+".98pQMLR\nHAlX"9b.hrrhUo"9a8SrrOAI"S;ZnnH2Jo"D73(!+u35!:'O_"0r%4GOb\;<<NHp
+s8VWarrDTgs8N3%.K'2M<<NHbs8VW]s8N3&(7+Ok!1*Te!5SR5"S#Ip"GWlT"!RjNB!VGe~>
+_#FLD"9`r#s8N3%,5qNOL'.W>j8]/S"9^10s8Vl`rrDilrse7*#R"c7s7lWo('FaKnc&]s"9b%\
+rrP1`"T/3'Q37>`s8VW]rrO/C"S)Klh>RNWLAh,P1]@LW*:j+7h*M5ILB%;Do`"tZ"9e`("Mb-C
+B)hbu"TR'V"ASmqqXF^g^]XdIrr38os7--S('Fb,qu6]QB(lEF$teQ"ru;.E.0Kc6bl<1r"O+Y;
+"9]^;lMUYbh')t;lMUYanX2BGrWEh$Z5*R's8RfV(1o?*"R?$&6M:N`(B<q'rt!=6";\<ClMpnS
+s8SAf"JGSj#4_`nR03YuqYp]gL)'oBrr3$D"9e8p"+V-i?h+-rB)Vo5lM^_bZ31;\nc&\k"9e#[
+s8N3%.K'2M<<NHbs8VW]rrX#>"F'G:!1*Te!5SR5"S#Ip"GWlT""=?UGI%7!~>
+_#FLD"9`r#s8N3%,5qNOL'.W>j8]/S"9^10s8Vl`rrDilrse6L#R"c7s7lWo('FaKnc&]s"9b%\
+rrP1`"T/3'Q37>`s8VW]rrO/C"S)Klh>RNWLAh,P1]@LW*:j+7h*M5ILB%;Do`"tZ"9e`("Mb-C
+B)hbu"TR'V"ASmqqXF^g^]XdIrr38os7--S('Fb,qu6]QB(lEF$teQ"ru;.E.0Kc6bl<1r"O+Y;
+"9]^;lMUYbh')t;lMUYanX2BGrWEh$Z5*R's8RfV(1o?*"R?$&6M:N`(B<q'rt!=6";\<ClMpnS
+s8SAf"JGSj#4_`nR03YuqYp]gL)'oBrr3$D"9e8p"+V-i?h+-rB)Vo5lM^_bZ31;\nc&\k"9e#[
+s8N3%.K'2M<<NHbs8VW]rrX#>"F'G:!1*Te!5SR5"S#Ip"GWlT""=?UGI%7!~>
+_#FLD"9`r#s8N3%,5qNOL'.W>j8]/S"9^10s8Vl`rrDilrse6L#R"c7s7lWo('FaKnc&]s"9b%\
+rrP1`"T/3'Q37>ds8VW]rrO/C"S)Klh>RNWLAh,P1]@LW*:j+7h*M5ILB%;Do`"tZ"9e`("Mb-C
+B)hbu"TR'V"ASmqqXF^g^]XdIrr38os7--S('Fb,qu6]QB(lEF$teQ"ru;.E.0Kc6bl<1r"O+Y;
+"9]^?lMUYbh')t;lMUYanX2BGrWEh$Z5*R's8RfV(1o?*"R?$&6M:N`(B<q'rt!=6";\<ClMpnS
+s8SAf"Jkkn#4_`nR03YuqYp]gL)'oBrr3$D"9e8p"+V-i?h+-rB)Vo5lM^_bZ31;\nc&\k"9e#[
+s8N3%.K'2M<<NHbs8VW]rrX#>"F'G:!1*Te!5SR5"S#Ip"GWlT""=?UGI%7!~>
+_#FLD"9`r#s8N3%,5qNEL'.W>j8T)Y"9C==mJd1]r;R5r?P*EQnc/CartY_?%.X?"Z31;rnc&YN
+"9eW%#*oApT`>&^o`"t:"9e8p!8[VW!/CIP">^/h"<@"4#L!SZ"IB)fnauh_63IGjrr^IJ"D7K0
+"5Oq"<VHFpf,Op*q>UOG"9^a^s'"ruAjSgY3DC\X<E3YHnc/V/"<s7G"9`>sJ/e^Js4ql7"9]K?
+At\2as'GmKs8VWLZA'P3"9]]g_#N4!"ARpB*"7S^?N^Mss6?7a1G_$c68LVg9m;?lnbrIjbVKA;
+ZMOS'TEGC`pAY8G"9c%1rp^6nnaYX`$j;=arrOAI"SD]unc/Wp('IY-rr?[1"9@K\rr]P0"F'D9
+##td/lMpnSq#:?arr<!$!&OQQ##td/h>dNFo`#"%"<<j#rrAAa"9?78rrZ7("GWlT"!RjNB!VGe~>
+_#FLD"9`r#s8N3%,5qNEL'.W>j8T)Y"9C==mJd1]r;R5r?P*EQnc/CartY_?%.X?"Z31;rnc&YN
+"9eW%#*oApT`>&^o`"t:"9e8p!8[VW!/CIP">^/h"<@"4#L!SZ"IB)fnauh_63IGjrr^IJ"D7K0
+"5Oq"<VHFpf,Op*q>UOG"9^a^s'"ruAjSgY3DC\X<E3YHnc/V/"<s7G"9`>sJ/e^Js4ql7"9]K?
+At\2as'GmKs8VWLZA'P3"9]]g_#N4!"ARpB*"7S^?N^Mss6?7a1G_$c68LVg9m;?lnbrIjbVKA;
+ZMOS'TEGC`pAY8G"9c%1rp^6nnaYX`$j;=arrOAI"SD]unc/Wp('IY-rr?[1"9@K\rr]P0"F'D9
+##td/lMpnSq#:?arr<!$!&OQQ##td/h>dNFo`#"%"<<j#rrAAa"9?78rrZ7("GWlT"!RjNB!VGe~>
+_#FLD"9`r#s8N3%,5qNEL'.W>j8T)Y"9C==mJd1]r;R5r?P*EQnc/CartY_?%.X?"Z31;rnc&YN
+"9eW%#*oApV#UJbo`"t:"9e8p!8[VW!/CIP">^/h"<@"4#L!SZ"IB)fnauh_63IGjrr^IJ"D7K0
+"5Oq"<VHFpf,Op*q>UOG"9^a^s'"ruAjSgY3DC\X<E3YHnc/V/"<s7G"9`>sJ/e^Js4ql7"9]K?
+Au+Jes'GmKs8VWLZA'P3"9]]g_#N4!"ARpB*"7S^?N^Mss6?Ce1G_$c68LVg9m;?lnbrIjbVKA;
+ZMOS'U]^gdpAY8G"9c%1rp^6nnaYX`$j;=arrOAI"SD]unc/Wp('IY-rr?[1"9@K\rr]P0"F'D9
+##td/lMpnSq#:?arr<!$!&OQQ##td/h>dNFo`#"%"<<j#rrAAa"9?78rrZ7("GWlT"!RjNB!VGe~>
+_uBr2s8QF/"F&Jtrr`<GrVm"T"9^aFrr<!$!@cjlrrDilrrq[f$j:2;rVls8"9]/'rr]P0"IATX
+!]^Adqu6kd"9c%1s7,a]!ZV=Gnc&UFrWE4UrVljRrWE3@o)A^*rWE=Xs8VWarrDTgrrPLi"TJE+
+^]Xd#L4Ff/rdY-EG74m/reCE&!/CK'"JB?8">g%3#_7YRL4B[8"@E%d!:fsd!:g$f-Lq-9nc/+p
+"@E.E+p8<d3=H&Bs8VVp<?_hS"<:.%Q6HG7L5%]Er<*0XQJMQ?%);uK*+frh6J_Z9"9eW%s7,ma
+!:g$f&D'5O(7+7AlJ:LcnXpX#B(>]ss7$2G":UUmrrhj@"9aJYrrOAI"SD]uj8]/'$j9T#rr?[1
+"9@`crr]P0"F'D9##td/lMpnSq#:?arr<!$!%IjG##td/j8]/Lo`+po!?@NurrAAa"9?78rrZ7(
+"GWlT"!RjNB!VGe~>
+_uBr2s8QF/"F&Jtrr`<GrVm"T"9^aFrr<!$!@cjlrrDilrrq[f$j:2;rVls8"9]/'rr]P0"IATX
+!]^Adqu6kd"9c%1s7,a]!ZV=Gnc&UFrWE4UrVljRrWE3@o)A^*rWE=Xs8VWarrDTgrrPLi"TJE+
+^]Xd#L4Ff/rdY-EG74m/reCE&!/CK'"JB?8">g%3#_7YRL4B[8"@E%d!:fsd!:g$f-Lq-9nc/+p
+"@E.E+p8<d3=H&Bs8VVp<?_hS"<:.%Q6HG7L5%]Er<*0XQJMQ?%);uK*+frh6J_Z9"9eW%s7,ma
+!:g$f&D'5O(7+7AlJ:LcnXpX#B(>]ss7$2G":UUmrrhj@"9aJYrrOAI"SD]uj8]/'$j9T#rr?[1
+"9@`crr]P0"F'D9##td/lMpnSq#:?arr<!$!%IjG##td/j8]/Lo`+po!?@NurrAAa"9?78rrZ7(
+"GWlT"!RjNB!VGe~>
+_uBr2s8QF/"F&Jtrr`<GrVm"T"9^aFrr<!$!@cjlrrDilrrq[f$j:2;rVls8"9]/'rr]P0"IATX
+!]^Adqu6kd"9c%1s7,a]!ZV=Gnc&UFrWE4UrVljRrWE3@o)A^*rWE=Xs8VWarrDTgrrPLi"TJE+
+^]Xd#L4Ff/rdY-IG74m/reCE&!/CK'"JfW<">g%3#_7YRL4B[8"@E%d!:fsd!:g$f-Lq-9nc/+p
+"@E.E+p8<d3=H&Bs8VVp<?_hS"<:.%Q6HG7L5%]Er<*0XQJMQ?%);uK*+frh6J_Z9"9eW%s7,ma
+!:g$f&D'5O(7+7AlJ:LcnY?p'B(>]ss7$2G":UUmrrhj@"9aJYrrOAI"SD]uj8]/'$j9T#rr?[1
+"9@`crr]P0"F'D9##td/lMpnSq#:?arr<!$!%IjG##td/j8]/Lo`+po!?@NurrAAa"9?78rrZ7(
+"GWlT"!RjNB!VGe~>
+_#FLD"9a8,s8N3%,5qNPL'.W>j8]/S"9^10s8Vlhnc/XarVm>l9aClGs8VlortY_?%.X?"Z31;r
+nc&YN"9eW%#*oApT`>&^o`"t4"9e8p!8%2Q!/CIP">^/h"<@"4!5SR:!/C%D#snats6Am(":P_5
+"9Ju7*:s@7$l8^C":PDA"@E%d!:g'g"R>OWs5WnS$l/sinc+=Z"<80c"O-iE!qG*4qud!8rWE30
+qud'0GMW2s&&8qr":PD9B'TCV"9e8ps8MQ_s8VWfs!l5Q"9]]2(+C4P+uq(T"<8j>+t4]b+t658
+1E6N#1G^I(.3^2b.1?=fRK!3f.0KeGrs%<Zs3(TK?h+-rGQ%^Fj8Ju[Z31;\nc&\k"9e#_rrDTg
+s8N3%.K'2M<<NHbs8VW_s8VTk('FbPo)A]UrWE5:rVm#j<<NGZW;crK"9`qSs*t~>
+_#FLD"9a8,s8N3%,5qNPL'.W>j8]/S"9^10s8Vlhnc/XarVm>l9aClGs8VlortY_?%.X?"Z31;r
+nc&YN"9eW%#*oApT`>&^o`"t4"9e8p!8%2Q!/CIP">^/h"<@"4!5SR:!/C%D#snats6Am(":P_5
+"9Ju7*:s@7$l8^C":PDA"@E%d!:g'g"R>OWs5WnS$l/sinc+=Z"<80c"O-iE!qG*4qud!8rWE30
+qud'0GMW2s&&8qr":PD9B'TCV"9e8ps8MQ_s8VWfs!l5Q"9]]2(+C4P+uq(T"<8j>+t4]b+t658
+1E6N#1G^I(.3^2b.1?=fRK!3f.0KeGrs%<Zs3(TK?h+-rGQ%^Fj8Ju[Z31;\nc&\k"9e#_rrDTg
+s8N3%.K'2M<<NHbs8VW_s8VTk('FbPo)A]UrWE5:rVm#j<<NGZW;crK"9`qSs*t~>
+_#FLD"9a8,s8N3%,5qNPL'.W>j8]/S"9^10s8Vlhnc/XarVm>l9aClGs8VlortY_?%.X?"Z31;r
+nc&YN"9eW%#*oApV#UJbo`"t4"9e8p!8%2Q!/CIP">^/h"<@"4!5SR:!/C%D#snats6Am(":P_5
+"9Ju7*:s@7$l8^C":PDA"@E%d!:g'g"R>OWs5WnS$l/sinc+=Z"<80c"O-iE!qG*4qud!8rWE30
+qud'0GMW2s&&8qr":PD9B'TCV"9e8ps8MQ_s8VWfs!l5Q"9]]2(+C4P+uq(T"<8j>+t4]b+t658
+1E6N#1G^I(.3^2b.1?=fRK!3f.0KeGrs%<Zs3(TK?h+-rGQ%^Fj8Ju[Z31;\nc&\k"9e#_rrDTg
+s8N3%.K'2M<<NHbs8VW_s8VTk('FbPo)A]UrWE5:rVm#j<<NGZW;crK"9`qSs*t~>
+_#FLD"9c$^s8N3%,5qNEL'.W8fDbgM"9g7+s8Vlhnc&Uar;R8l63m^Es8VloruqR]3Sj9+#-n@?
+L@P<6q#:ThlMomO"9dQYrre&Z(5DAQrs&#nlMi%2"S)Kp^^L?%_#=9:*"2rQ6L+1B"i(6D,+7um
+rr_:n"9e`(",6p],5tpk<F8a5Ak`C2*-Z"%AnGCWAnGCE?N^KfQ;(^d9f$BnrWE3]mJd@[s8N3)%
+0$82^bZ)r('Mk\rrDTfrsc8G?WCGQ"9_%u9m<o5qu72ss+VL/"9]pSs8VUh"9e8^rt"Xf+p8#a"
+:PD9('FaK":Y&.!"Ac.!"AZ+%2K'LB&ipk3<UPds8VBZrs&#ns1fBQB(Gs3nR_n,%--mXs6>=A"
+D6rirrZj9%-mE`"6pj/1]77T<<O)np&>9es8U\""9_`qrre_u":Ut$rrY%["CJ,-"!RjNB!VGe~>
+_#FLD"9c$^s8N3%,5qNEL'.W8fDbgM"9g7+s8Vlhnc&Uar;R8l63m^Es8VloruqR]3Sj9+#-n@?
+L@P<6q#:ThlMomO"9dQYrre&Z(5DAQrs&#nlMi%2"S)Kp^^L?%_#=9:*"2rQ6L+1B"i(6D,+7um
+rr_:n"9e`(",6p],5tpk<F8a5Ak`C2*-Z"%AnGCWAnGCE?N^KfQ;(^d9f$BnrWE3]mJd@[s8N3)%
+0$82^bZ)r('Mk\rrDTfrsc8G?WCGQ"9_%u9m<o5qu72ss+VL/"9]pSs8VUh"9e8^rt"Xf+p8#a"
+:PD9('FaK":Y&.!"Ac.!"AZ+%2K'LB&ipk3<UPds8VBZrs&#ns1fBQB(Gs3nR_n,%--mXs6>=A"
+D6rirrZj9%-mE`"6pj/1]77T<<O)np&>9es8U\""9_`qrre_u":Ut$rrY%["CJ,-"!RjNB!VGe~>
+_#FLD"9c$^s8N3%,5qNEL'.W8fDbgM"9g7+s8Vlhnc&Uar;R8l63m^Es8VloruqR]3Sj9+#-n@?
+L@P<6q#:ThlMomO"9dQYrre&Z(5DAQrs&#nlMi%2"S)Kp^^L?%_#=9:*"2rQ6L+1B"i(6D,+7um
+rr_:n"9e`(",6p],5tpk<F8a5Ak`C2*-Z"%AnGCWAnGCE?N^KfQ;(^d9f$BnrWE3]mJd@[s8N3)%
+0$82^bZ)r('Mk\rrDTfrsc8G?WCGQ"9_%u9m<o5qu72ss+VL/"9]pSs8VUh"9e8^rt"Xf+p8#a"
+:PD9('FaK":Y&.!"Ac.!"AZ+%2K'LB&ipk3<UPds8VBZrs&#ns1fBQB(Gs3nR_n,%--mXs6>=A"
+D6rirrZj9%-mE`"6pj/1]77T<<O)np&>9es8U\""9_`qrre_u":V+(rrY%["CJ,-"!RjNB!VGe~>
+_#FLD"9c$^s8N3%*<#m?L'.W8fDbgM"9Bt'mJd1]r;R5k1B[i2s8VloruqRK*:a%2Z31r/o)AjX
+?N^Mfr;QkR"9bCfrrOAI%.X?#it_bA_#=991COBhB(Gs)bQJ&Cbjtc9j(8Dsrr3)+"9`?4rrh-n
+"?GcArr_'c"ASgo#4_`R.0Kc?mJd@[s8N3)%0$83j0E8:"9`>Pp&>+g"9e#_rs&!["9]oC_#=97
+9`tUbrsuCa(*&'sba,Q&^p8.e$tf:-#-u$V()D,"qk+(X+p8$mrr30Y"<u\%s6BCZ#3u6g^_R&b
+o)B0T9`tS-nc.nSs-<cjJFWXDAcr7ss8VWbrs.ihnc.2D">fuU#ZV!1_#Ns)naZJU#P%iof-1>+
+?h44"Q37=+ZMa_)1B[hmW;crD"9`>Bs*t~>
+_#FLD"9c$^s8N3%*<#m?L'.W8fDbgM"9Bt'mJd1]r;R5k1B[i2s8VloruqRK*:a%2Z31r/o)AjX
+?N^Mfr;QkR"9bCfrrOAI%.X?#it_bA_#=991COBhB(Gs)bQJ&Cbjtc9j(8Dsrr3)+"9`?4rrh-n
+"?GcArr_'c"ASgo#4_`R.0Kc?mJd@[s8N3)%0$83j0E8:"9`>Pp&>+g"9e#_rs&!["9]oC_#=97
+9`tUbrsuCa(*&'sba,Q&^p8.e$tf:-#-u$V()D,"qk+(X+p8$mrr30Y"<u\%s6BCZ#3u6g^_R&b
+o)B0T9`tS-nc.nSs-<cjJFWXDAcr7ss8VWbrs.ihnc.2D">fuU#ZV!1_#Ns)naZJU#P%iof-1>+
+?h44"Q37=+ZMa_)1B[hmW;crD"9`>Bs*t~>
+_#FLD"9c$^s8N3%*<#m?L'.W8fDbgM"9Bt'mJd1]r;R5k1B[i2s8VloruqRK*:a%2Z31r/o)AjX
+?N^Mfr;QkR"9bOjrrOAI%.X?#it_bA_#=991COBhB(Gs)bQJ&Cbjtc9j(8Dsrr3)+"9`?4rrh-n
+"?GcArr_'c"ASgo#4_`R.0Kc?mJd@[s8N3)%0$83j0E8:"9`>Pp&>+g"9e#_rs&!["9]oC_#=97
+9`tUbrsuCa(*&'sba,Q&^p8.e$tf:1#-u$V()D,"qkO@\+p8$mrr30Y"<u\%s6BCZ#3u6g^_R&b
+o)B0T9`tS-nc.nSs-<cjJFWXDAcr7ss8VWbrs.ihnc.2D">fuU#ZV!1_#Ns)naZJU#P%iof-1>+
+?h44"Q37=+ZMa_)1B[hmW;crD"9`>Bs*t~>
+_#FLD"9c$^s8N3%,5qNEL'.W.h>[HS"9g7+s8Vlhnc/XarVm5b+p8$ms8Vlos!dpM#aVd?^s($<
+^s)en)pH+5b_?6EGJMG<f?D%GbeV$<f?D%d^f:dGfDPY!L(#8\f<W2tbeV$<beV$<^s'U066%f*
+beV$<^qe1<^qe10^s(#W"9]L5rVm!V('Fb#rkSQXs1nZYs1f#d^qe0^"<:F7f?DJ<^]_ls^s(%$
+^]U!!$j?S0"2G$BB)2H/bQJ&8rr;ib"TQ7?"BGI$!:g'g"QL7#"@DDRrr`<;r;R&mAcrMF,%eXU
+rr3&is6BU`"t9ZjfDk.9rpg!f&FmQA('FaUB%R(Qnc/VL"9e&j"L93S*5MOQ#4_`nZ31TApAY5L
+"9c%,rrhkB('KBkrrXGJ1X,Fi"0s?Y?h44,l=LG-"P<\Ds8RfV"ARqIrs!'<(?>Gpnb)naj!b*[
+r;Qjn"<uIgrrh@2":So5rre&b":VU6rrY%["D4V4""=?UGI%7!~>
+_#FLD"9c$^s8N3%,5qNEL'.W.h>[HS"9g7+s8Vlhnc/XarVm5b+p8$ms8Vlos!dpM#aVd?^s($<
+^s)en)pH+5b_?6EGJMG<f?D%GbeV$<f?D%d^f:dGfDPY!L(#8\f<W2tbeV$<beV$<^s'U066%f*
+beV$<^qe1<^qe10^s(#W"9]L5rVm!V('Fb#rkSQXs1nZYs1f#d^qe0^"<:F7f?DJ<^]_ls^s(%$
+^]U!!$j?S0"2G$BB)2H/bQJ&8rr;ib"TQ7?"BGI$!:g'g"QL7#"@DDRrr`<;r;R&mAcrMF,%eXU
+rr3&is6BU`"t9ZjfDk.9rpg!f&FmQA('FaUB%R(Qnc/VL"9e&j"L93S*5MOQ#4_`nZ31TApAY5L
+"9c%,rrhkB('KBkrrXGJ1X,Fi"0s?Y?h44,l=LG-"P<\Ds8RfV"ARqIrs!'<(?>Gpnb)naj!b*[
+r;Qjn"<uIgrrh@2":So5rre&b":VU6rrY%["D4V4""=?UGI%7!~>
+_#FLD"9c$^s8N3%,5qNEL'.W.h>[HS"9g7+s8Vlhnc/XarVm5b+p8$ms8Vlos!dpM#aVd?^s($<
+^s)en)pH+5b_?6EGJMG<f?D%GbeV$<f?D%d^f:dGfDPY!L(#8\f<W2tbeV$<beV$<^s'U066%f*
+beV$<^qe1<^qe10^s(#W"9]L9rVm!V('Fb#rkSQXs1nZYs1f#d^qe0^"<:F;f?DJ<^]_ls^s(%$
+^]U!!$j?S0"2G$BB)2H/bQJ&8rr;ib"TQ7?"BGI$!:g'g"QL7#"@DDRrr`<;r;R&mAcrMF,%eXU
+rr3&is6BU`"t9ZjfDk.9rpg!f&FmQA('FaUB%R(Qnc/VL"9e&j"L93S*5MOQ#4_`nZ31TApAY5L
+"9c%,rrhkB('KBkrrXGJ1X,Fi"0s?Y?h44,l=LG-"P<\Ds8RfV"ARqIrs!'<(?>Gpnb)naj!b*[
+r;Qjn"<uIgrrh@2":So5rre&b":VU6rrY%["D4V4""=?UGI%7!~>
+_uBr2s8QF/"L?YZrr`<GrVm"T"9^O4rr<!$"Y&('s7lBZrrDilrs\0Q#R"c7s7lWo.0L(4"9@9U
+rr@f."9]nO":U%`rr=kR"98kb":"Drs1ea?B)2H/h$aEdpAY6H"9`*.rrhj9"9_'Vs8N3%*;ogE
+nUM#N$j6\Q?^A"Rqu6aY"<?_(rsIelL0lA<$n2Sf6Mpcb?N^N%m/Im-.0LF1s8VBalMpmW":VU9
+nc/.Znc/.Yrsshe"JGebs7--Zs6>=S"GZpU#9j9Z<If:*GPYnWL4Ff/?PWbnJFmFTGD7pQ"9@K]
+rs%b="9]]VGP#JOJ27<2J;0KfAdETmL1Z0P$j8$WrruI+$tb6+LA5B\G6X@W$j6tfGP#JNJ5l^T%
+'og2"#C&_?`<u,+p8$\ZN#F~>
+_uBr2s8QF/"L?YZrr`<GrVm"T"9^O4rr<!$"Y&('s7lBZrrDilrs\0Q#R"c7s7lWo.0L(4"9@9U
+rr@f."9]nO":U%`rr=kR"98kb":"Drs1ea?B)2H/h$aEdpAY6H"9`*.rrhj9"9_'Vs8N3%*;ogE
+nUM#N$j6\Q?^A"Rqu6aY"<?_(rsIelL0lA<$n2Sf6Mpcb?N^N%m/Im-.0LF1s8VBalMpmW":VU9
+nc/.Znc/.Yrsshe"JGebs7--Zs6>=S"GZpU#9j9Z<If:*GPYnWL4Ff/?PWbnJFmFTGD7pQ"9@K]
+rs%b="9]]VGP#JOJ27<2J;0KfAdETmL1Z0P$j8$WrruI+$tb6+LA5B\G6X@W$j6tfGP#JNJ5l^T%
+'og2"#C&_?`<u,+p8$\ZN#F~>
+_uBr2s8QF/"L?YZrr`<GrVm"T"9^O4rr<!$"Y&('s7lBZrrDilrs\0Q#R"c7s7lWo.0L(4"9@9U
+rr@f."9]nO":U%`rr=kR"98kb":"Drs1ea?B)2H/h$aEdpAY6H"9`*.rrhj9"9_'Vs8N3%*;ogE
+nUM#N$j6\Q?^A"Rqu6aY"<?_(rsIelL0lA<$n2Sf6Mpcb?N^N%m/Im-.0LF1s8VBalMpm[":VU9
+nc/.Znc/.Yrsshe"Jl(fs7--Zs6>=S"GZpU#9j9Z<If:*GPYnWL4Ff/?PWbnJFmFTGD7pQ"9@K]
+rs%b="9]]VGP#JOJ27<2J;0KfAdETmL1Z0P$j8$WrruI+$tb6+LA5B\G6X@W$j6tfGP#JNJ5l^T%
+'og2"#C&_?`<u,+p8$\ZN#F~>
+_#FLD"9c$^s8N3%*<#m?L'.W8fDbgM"9Bt'mJd1]r;R,oAekM]nc/Cas!dpM'id70(*";0(*";0
+*#o_0*#9;0((:uX*"E`(*#9;0+t4s$.1?=^h>I9`L'.W!1E7h`*#9;0*#9;0r>$1h+sIF8(*";0
+(*";0(*";0*#p.*$j;=`rt7<p"<oX/()@l0()@l0()@l*(B#6Q+q#/+.3'*C*#9;0+t<L2!u;jl
+.K9>L^]XdPq>UQK('HGerr^%>"ASmq#k@rbs5P(%"?GcI%0R(Tf@T<>h8!V<">_%q";4&dh;.AJ
+h.?d6h<N5Ef>*,8(B"@GJ9NdP6GVmHf?Di5"9dcOrsumo";\fQs5!_Fs8TA-"I])c#3taYL'.XP
+qYp]gL("3>rr2sBf)uBEs7--hR03X$h?3oh"9^1OrrZ7(";]hs!#GP:!1Ecb"#C&_AuP_3.0Kcc
+ZN#F~>
+_#FLD"9c$^s8N3%*<#m?L'.W8fDbgM"9Bt'mJd1]r;R,oAekM]nc/Cas!dpM'id70(*";0(*";0
+*#o_0*#9;0((:uX*"E`(*#9;0+t4s$.1?=^h>I9`L'.W!1E7h`*#9;0*#9;0r>$1h+sIF8(*";0
+(*";0(*";0*#p.*$j;=`rt7<p"<oX/()@l0()@l0()@l*(B#6Q+q#/+.3'*C*#9;0+t<L2!u;jl
+.K9>L^]XdPq>UQK('HGerr^%>"ASmq#k@rbs5P(%"?GcI%0R(Tf@T<>h8!V<">_%q";4&dh;.AJ
+h.?d6h<N5Ef>*,8(B"@GJ9NdP6GVmHf?Di5"9dcOrsumo";\fQs5!_Fs8TA-"I])c#3taYL'.XP
+qYp]gL("3>rr2sBf)uBEs7--hR03X$h?3oh"9^1OrrZ7(";]hs!#GP:!1Ecb"#C&_AuP_3.0Kcc
+ZN#F~>
+_#FLD"9c$^s8N3%*<#m?L'.W8fDbgM"9Bt'mJd1]r;R,oAekM]nc/Cas!dpM'id70(*";0(*";0
+*#o_0*#9;0((:uX*"E`(*#9;0+t4s$.1?=^h>I9`L'.W!1E7h`*#9;0*#9;0r>$1h+sIF8(*";0
+(*";0(*";0*#p.*$j;=`rt7<p"<oX/()@l0()@l0()@l*(B#6Q+q#/+.3'*C*#9;0+t<L2!u;jl
+.K9>L^]XdPq>UQK('HGerr^%>"ASmq#k@rbs5P(%"?GcI%0R(Tf@T<>h8!V<">_%q";4&dh;.AJ
+h.?d6h<N5Ef>*,8(B"@GJ9NdP6GVmHf?Di5"9dcOrsumo";\fQs5!_Fs8TA-"I])c#3taYL'.XT
+qYp]gL("3>rr2sBf)uBEs7--hR03X$h?3oh"9^1OrrZ7(";]hs!#GP:!1Ecb"#C&_AuP_3.0Kcc
+ZN#F~>
+_#FLD"9b%Bs8N3%,5qNEL'.W'fDbgM"9^0ss8VlZrseaR&HlJ+s7lBh('FahhZ!`K?N^M`rVm#j
+L("j'hZ!_5('G&=rVm!V"9^a:g]%MHs7-,p"9`rErr_d,"ASUi"60Lm?i'd*nM::N6L+RU$j6]"
+*!?BQq?-d6rWN6:r<**/rWE3:r<**/r<*B7('GB]":PDAr<*3H$j6_!rt!=6"<>5Ws6BXEs8TA-
+"I])c#4_`nTEGD5qYp]gL)'oHrr3"RGQ)4RGN399J3!T3$,HT$s8S`#">b8lAd!j#J7a$$B)d)S
+AcmPd(+K1]"AK:-Ap=5d!.afU"*\?hGO]8JG;B@)RJd'e?N^LDW;crK"9`qSs*t~>
+_#FLD"9b%Bs8N3%,5qNEL'.W'fDbgM"9^0ss8VlZrseaR&HlJ+s7lBh('FahhZ!`K?N^M`rVm#j
+L("j'hZ!_5('G&=rVm!V"9^a:g]%MHs7-,p"9`rErr_d,"ASUi"60Lm?i'd*nM::N6L+RU$j6]"
+*!?BQq?-d6rWN6:r<**/rWE3:r<**/r<*B7('GB]":PDAr<*3H$j6_!rt!=6"<>5Ws6BXEs8TA-
+"I])c#4_`nTEGD5qYp]gL)'oHrr3"RGQ)4RGN399J3!T3$,HT$s8S`#">b8lAd!j#J7a$$B)d)S
+AcmPd(+K1]"AK:-Ap=5d!.afU"*\?hGO]8JG;B@)RJd'e?N^LDW;crK"9`qSs*t~>
+_#FLD"9b%Bs8N3%,5qNEL'.W'fDbgM"9^0ss8VlZrseaR&HlJ+s7lBh('FahhZ!`K?N^M`rVm#j
+L("j'hZ!_5('G&ArVm!V"9^a:g]%MHs7-,p"9`rErr_d,"ASUi"60Lm?i'd*nM::N6L+RU$j6]"
+*!?BQq?-d6rWN6:r<**/rWE3:r<**/r<*B7('GB]":PDAr<*3H$j6_!rt!=6"<>5Ws6BXEs8TA-
+"I])c#4_`nU]^h9qYp]gL)'oHrr3"RGQ)4RGN399J3!T3$,HT$s8Sl'">b8lAd!j#J7a$$B)d)S
+AcmPd(+K1]"AK:-Ap=5d!.afU"*\?hGO]8JG;B@)RJd'e?N^LDW;crK"9`qSs*t~>
+_uBu3s8QF/"D72Vs8N3%,5qNLL'.Vfbl@J<"9^0Zk5PR="9`)srVls8"9]_#rsq*m"P<\Rnc.ld
+"9bCts7,(J%.Q+V1Vj%\lMiXK$mO:&"0r=<B)2H/h#n-QpAYZ="9_HhlK\E>lMo[,$j8o^rr=8*
+"98l#"98l-"9T&8":XVr"P5X:(:*f:"2G<JLA(WLTEGD'q>UPI('KBDrsX)S":X>jlMpm7$j:1u
+s8N3%.K'2J<<NHih>[S$"9cO<rr\Pi"D4V4"!RjNB!VGe~>
+_uBu3s8QF/"D72Vs8N3%,5qNLL'.Vfbl@J<"9^0Zk5PR="9`)srVls8"9]_#rsq*m"P<\Rnc.ld
+"9bCts7,(J%.Q+V1Vj%\lMiXK$mO:&"0r=<B)2H/h#n-QpAYZ="9_HhlK\E>lMo[,$j8o^rr=8*
+"98l#"98l-"9T&8":XVr"P5X:(:*f:"2G<JLA(WLTEGD'q>UPI('KBDrsX)S":X>jlMpm7$j:1u
+s8N3%.K'2J<<NHih>[S$"9cO<rr\Pi"D4V4"!RjNB!VGe~>
+_uBu3s8QF/"D72Vs8N3%,5qNLL'.Vfbl@J<"9^0Zk5PR="9`)srVls8"9]_#rsq*m"P<\Rnc.ld
+"9bP#s7,(J%.Q+V1Vj%\lMiXK$mO:&"0r=<B)2H/h#n-QpAYZ="9_HhlK\E>lMo[,$j8o^rr=8*
+"98l#"98l-"9T&8":XVr"P5X:(:*f:"2G<JLA(WLU]^h+q>UPI('KBDrsX)S":X>jlMpm7$j:1u
+s8N3%.K'2J<<NHih>[S$"9cO<rr\Pi"D4V4"!RjNB!VGe~>
+_#FLD"9`>gs8N3%,5qNLL'.VkfDkC@"9^0hk5PR="9_`irVls>"9]_#rrY7a"R>sc#O5Y!"LA(-
+n_sKJZMXk*$ii*_"9BM-g&M*B!/C4N!"Ai0!t5q\%/L)8Agmic(,IBT$k*7S%/pA06LFe!lMpl.
+":U$/?VP-E.0KcJ<E2b#9iXn^<F8I-?Q91W3E8dJ?Y918%o$Y9"9]KI?Y3YPAfLpVna-8Yf0TTh
+GQ+lR^nA!!AekLPLASalZC/"kJ0H13ZMVEBTH"(;GQ7^5gA_S3"9].$fDkm@Q5g<fh>dKX!&OQQ
+##td/j8]/Li;Wmk"9c%.rr\Pi"D4V4""=?UB!VGe~>
+_#FLD"9`>gs8N3%,5qNLL'.VkfDkC@"9^0hk5PR="9_`irVls>"9]_#rrY7a"R>sc#O5Y!"LA(-
+n_sKJZMXk*$ii*_"9BM-g&M*B!/C4N!"Ai0!t5q\%/L)8Agmic(,IBT$k*7S%/pA06LFe!lMpl.
+":U$/?VP-E.0KcJ<E2b#9iXn^<F8I-?Q91W3E8dJ?Y918%o$Y9"9]KI?Y3YPAfLpVna-8Yf0TTh
+GQ+lR^nA!!AekLPLASalZC/"kJ0H13ZMVEBTH"(;GQ7^5gA_S3"9].$fDkm@Q5g<fh>dKX!&OQQ
+##td/j8]/Li;Wmk"9c%.rr\Pi"D4V4""=?UB!VGe~>
+_#FLD"9`>gs8N3%,5qNLL'.VkfDkC@"9^0hk5PR="9_`irVls>"9]_#rrY7a"R>sc#O5Y!"LA(-
+n_sKJZMXk*$ii*_"9BM-g&M*B!/C4N!"Ai0!t5q\%/L)8Agmic(,IBT$k*7S%/pA06LFe!lMpl.
+":U$/?VP-E.0KcJ<E2b#9iXn^<F8I-?Q91W3E8dJ?Y918%o$Y9"9]KI?Y3YPAfLpVna-8Yf0TTh
+GQ+lR^ne9%AekLPLASalZC/"oJ0H13ZMVEBU`9L?GQ7^5gA_S3"9].$fDkm@Q5g<fh>dKX!&OQQ
+##td/j8]/Li;Wmk"9c%.rr\Pi"D4V4""=?UB!VGe~>
+_#FLD"9`>gs8N3%,5qNLL'.VkfDkC@"9^0hk5PR="9_`irVls>"9]_#rrP1`"T89)j&H3bT`>&^
+iVrr&%/0l*,3.AVs4mcW":P_5"TJo%"98l-"98l/"9:ILrt"Z"rtY_dlMpnSs8Rfh"Pr_M"'#Iu
+h=U^Mh$a]dnbiCg?N^MtrrL_Gf`VD$s8VB=rsnRL$j6\Q,)0]A*!?CElJDR@"9:7UrruI+"Ps+X
+n_jELAcr7Br;Qkb"9`>8rrX\Q"D4t>J,~>
+_#FLD"9`>gs8N3%,5qNLL'.VkfDkC@"9^0hk5PR="9_`irVls>"9]_#rrP1`"T89)j&H3bT`>&^
+iVrr&%/0l*,3.AVs4mcW":P_5"TJo%"98l-"98l/"9:ILrt"Z"rtY_dlMpnSs8Rfh"Pr_M"'#Iu
+h=U^Mh$a]dnbiCg?N^MtrrL_Gf`VD$s8VB=rsnRL$j6\Q,)0]A*!?CElJDR@"9:7UrruI+"Ps+X
+n_jELAcr7Br;Qkb"9`>8rrX\Q"D4t>J,~>
+_#FLD"9`>gs8N3%,5qNLL'.VkfDkC@"9^0hk5PR="9_`irVls>"9]_#rrP1`"T89)j&H3bV#UJb
+iVrr&%/0l*,3.AVs4mcW":P_5"TJo%"98l-"98l/"9:ILrt"Z"rtY_dlMpnSs8Rfh"Pr_M"'#Iu
+h=U^Mh$a]dnbiCg?N^MtrrL_Gf`VD$s8VB=rsnRL$j6\Q,)0]A*!?CElJDR@"9:7UrruI+"Ps+X
+n_jELAcr7Br;Qkb"9`>8rrX\Q"D4t>J,~>
+_uBu3s8QF/"F'Cgs8N3%,5qNLL'.Vfbl@J<"9^0hk5PR="9_`irVls8"9]_#rrY7a"R>sc#NJee
+"JGepn_sKJ_#?+r3AWHX9fY!YB$B$0!:g'g"I9/n?g@XN#jUI1lBr%r?e>;Bro4[Wj6Epo"9_&Z
+ZA*maQCrF;"9_'VrrNT33W&gYL)'pPp&>0[63K*[o`#$Y"9^a^rrQO1"RH(;bW,e/,!n:G9fZ3?
+3<TI61FXLs+t4]b68L&>"9^M0.3^2b.3^2V"9a8-rrV_V(A@q4<U/TD!:g'grr`<Nr;Qt$"9dcb
+s7,%I"(hZ=ZMa_)Q37>&W;crD"9`>Bs*t~>
+_uBu3s8QF/"F'Cgs8N3%,5qNLL'.Vfbl@J<"9^0hk5PR="9_`irVls8"9]_#rrY7a"R>sc#NJee
+"JGepn_sKJ_#?+r3AWHX9fY!YB$B$0!:g'g"I9/n?g@XN#jUI1lBr%r?e>;Bro4[Wj6Epo"9_&Z
+ZA*maQCrF;"9_'VrrNT33W&gYL)'pPp&>0[63K*[o`#$Y"9^a^rrQO1"RH(;bW,e/,!n:G9fZ3?
+3<TI61FXLs+t4]b68L&>"9^M0.3^2b.3^2V"9a8-rrV_V(A@q4<U/TD!:g'grr`<Nr;Qt$"9dcb
+s7,%I"(hZ=ZMa_)Q37>&W;crD"9`>Bs*t~>
+_uBu3s8QF/"F'Cgs8N3%,5qNLL'.Vfbl@J<"9^0hk5PR="9_`irVls8"9]_#rrY7a"R>sc#NJee
+"Jl(tn_sKJ_#?+r3AWHX9fY!YB$B$0!:g'g"I9/n?g@XN#jUI1lBr%r?e>;Bro4[Wj6Epo"9_&Z
+ZA*maQDA^?"9_'VrrNT33W&gYL)'pPp&>0[63K*[o`#$Y"9^a^rrQO1"RH(;bW,e/,!n:G9fZ3?
+3<TI61FXLs+t4]b68L&>"9^M0.3^2b.3^2V"9a8-rrV_V(A@q4<U/TD!:g'grr`<Nr;Qt$"9dcb
+s7,%I"(hZ=ZMa_)Q37>&W;crD"9`>Bs*t~>
+_#FLD"9`>gs8N3%,5qNLL'.Vkbl@55"9^0hk5PRM"9`)srVls>"9]q)rsq*m"QTO^nc.ld"9bCt
+s7,%I!:fmbs7+_@"nDVu$j:2<rr_9a">fcO"3^lV?i'd*l9YUV6L+RP+p8\\L'E0_J3k4YB)%)\
+QMuUC9boO/QA0qbL(8`g*#9uhJ9Q`lJ27T:na-8dbX)FPZN'sps7--ZZ4%.rpAY6#$k0H<rrhjJ
+":UUJrs\1uQC39/L3K;VQA2^$s8N3%.K'2M<<NHis8VWIrrZj9"Mjs8"-s&mAuP_3.0KctZN#F~>
+_#FLD"9`>gs8N3%,5qNLL'.Vkbl@55"9^0hk5PRM"9`)srVls>"9]q)rsq*m"QTO^nc.ld"9bCt
+s7,%I!:fmbs7+_@"nDVu$j:2<rr_9a">fcO"3^lV?i'd*l9YUV6L+RP+p8\\L'E0_J3k4YB)%)\
+QMuUC9boO/QA0qbL(8`g*#9uhJ9Q`lJ27T:na-8dbX)FPZN'sps7--ZZ4%.rpAY6#$k0H<rrhjJ
+":UUJrs\1uQC39/L3K;VQA2^$s8N3%.K'2M<<NHis8VWIrrZj9"Mjs8"-s&mAuP_3.0KctZN#F~>
+_#FLD"9`>gs8N3%,5qNLL'.Vkbl@55"9^0hk5PRM"9`)srVls>"9]q)rsq*m"QTO^nc.ld"9bP#
+s7,%I!:fmbs7+_@"nDVu$j:2<rr_9a">fcO"3^lV?i'd*l9YUV6L+RP+p8\\L'E0_J3k4YB)%)\
+QMuUC9boO/QA0qbL(8`g*#9uhJ9Q`lJ27T:na-8dbX)FPZN'sps7--ZZ4%.rpAY6#$k0H<rrhjJ
+":UUJrs\1uQC39/L3KGZQA2^$s8N3%.K'2M<<NHis8VWIrrZj9"Mjs8"-s&mAuP_3.0KctZN#F~>
+_#FLD"9`>gs8N3%*<#m?L'.W'fDbgM"9C<ok5PRP"9_`irVm$@":P^3_#!Tjrr_fOlK\BK#4_!1
+AekNbr;Qte":2=5s7*)g"2G$BB))E+"9:IUrr^jU"BGI$!:g$f"!RjN3UQkHnHAk-"9]q6"9KPG
+(A%b0%/L)/*"2rYli.+D63I_@qYpYc"9b%arr[uY"L@n("R9=s"GWrV!:g'grr`<Xr;Qk!";\f/
+rr[uY"LA"+"R:^E"D4V4""=?U.C/u(~>
+_#FLD"9`>gs8N3%*<#m?L'.W'fDbgM"9C<ok5PRP"9_`irVm$@":P^3_#!Tjrr_fOlK\BK#4_!1
+AekNbr;Qte":2=5s7*)g"2G$BB))E+"9:IUrr^jU"BGI$!:g$f"!RjN3UQkHnHAk-"9]q6"9KPG
+(A%b0%/L)/*"2rYli.+D63I_@qYpYc"9b%arr[uY"L@n("R9=s"GWrV!:g'grr`<Xr;Qk!";\f/
+rr[uY"LA"+"R:^E"D4V4""=?U.C/u(~>
+_#FLD"9`>gs8N3%*<#m?L'.W'fDbgM"9C<ok5PRP"9_`irVm$@":P^7_#!Tjrr_fOlK\BK#4_!1
+AekNbr;Qte":2=5s7*)g"2G$BB))E+"9:IUrr^jU"BGI$!:g$f"!RjN3UQkHnHAk-"9]q6"9KPG
+(A%b0%/L)/*"2rYli.+D63I_@qYpYc"9b%arr[uY"L@n("R9=s"GWrV!:g'grr`<Xr;Qk!";\f/
+rr[uY"LA"+"R:^E"D4V4""=?U.C/u(~>
+_uBr2s8QF/"F&Jtrr`<ArVm"d"9]q)rr3'9"=^Y=rre&Z"CL]trra;E('Gi="98l0"9QC=q#:9t
+Q37Jds8VVjrs&#ns1ea?B)2H/irfKFpAY6N"9_a&rs&#nnKJ)=6L+UM"9=2TAdW`<$j9::?Y3YW
+?i=RA?Y3Xb"9]\QnH8k4%/pA3+q+SWli.4M9`tU7s8VWfrr\ns"G$4G",6p]RJQpgl=L/%LB%;=
+XoACkrr<!$!%IjG#ZV!I9pV*<ZBk?[#I9c5QGA6JRJWWWZMpKsZMpL#R=I'r"L@t*"/#c"AuP_3
++p8#gZN#F~>
+_uBr2s8QF/"F&Jtrr`<ArVm"d"9]q)rr3'9"=^Y=rre&Z"CL]trra;E('Gi="98l0"9QC=q#:9t
+Q37Jds8VVjrs&#ns1ea?B)2H/irfKFpAY6N"9_a&rs&#nnKJ)=6L+UM"9=2TAdW`<$j9::?Y3YW
+?i=RA?Y3Xb"9]\QnH8k4%/pA3+q+SWli.4M9`tU7s8VWfrr\ns"G$4G",6p]RJQpgl=L/%LB%;=
+XoACkrr<!$!%IjG#ZV!I9pV*<ZBk?[#I9c5QGA6JRJWWWZMpKsZMpL#R=I'r"L@t*"/#c"AuP_3
++p8#gZN#F~>
+_uBr2s8QF/"F&Jtrr`<ArVm"d"9]q)rr3'9"=^Y=rre&Z"CL]trra;E('Gi="98l0"9QC=q#:9t
+Q37Jhs8VVjrs&#ns1ea?B)2H/irfKFpAY6N"9_a&rs&#nnKJ)=6L+UM"9=2TAdW`<$j9::?Y3YW
+?i=RA?Y3Xb"9]\QnH8k4%/pA3+q+SWli.4M9`tU7s8VWfrr]&""G$4G",6p]RJQpgl=L/%LB%;=
+XoACkrr<!$!%IjG#ZV!I9pV*@ZBk?_#I9c5QGA6NRJWc[ZMpX"ZMpX'R=I'r"L@t*"/H&&AuP_3
++p8#gZN#F~>
+_#FLD"9a8SrrDTDs8N3%*<#m?Q37=7h>[EV('GhekPk_UAcr6KnbrIk*!?ZQ*":U*!l4j2rr31g
+":1\#s7*2j#4_`n^]XdPq>UQQ"9_'brt!<V"BGL%naZYLs6:R,"@DDRrr`?2lMUYaJ0G-Jp&>?Y
+Ael/JZC/"aT_Yl&L("2/TX(5YQCoZ0"S(jY"QN2Z"Mk!9#4_`nTEGC`q>UZas8SAf"L@n(#P!<[
+"GZsVlDag`"99nKrr?'O"9BLJr;Ql)"9`>8rrX\Q"<=`IJ,~>
+_#FLD"9a8SrrDTDs8N3%*<#m?Q37=7h>[EV('GhekPk_UAcr6KnbrIk*!?ZQ*":U*!l4j2rr31g
+":1\#s7*2j#4_`n^]XdPq>UQQ"9_'brt!<V"BGL%naZYLs6:R,"@DDRrr`?2lMUYaJ0G-Jp&>?Y
+Ael/JZC/"aT_Yl&L("2/TX(5YQCoZ0"S(jY"QN2Z"Mk!9#4_`nTEGC`q>UZas8SAf"L@n(#P!<[
+"GZsVlDag`"99nKrr?'O"9BLJr;Ql)"9`>8rrX\Q"<=`IJ,~>
+_#FLD"9a8SrrDTDs8N3%*<#m?Q37=7h>[EV('GhekPk_UAcr6KnbrIk*!?ZQ*":U*!l4j2rr31g
+":1h's7*2j#4_`n^]XdPq>UQQ"9_'brt!<V"BGL%naZYLs6:R,"@DDRrr`?2lMUYaJ0G-Jp&>?Y
+Ael/JZC/"aV"q;*L("2/Up?eaQD>r4"S(jY"QN2Z"Mk!9#4_`nU]^gdq>UZas8SAf"L@n(#P!<[
+"GZsVlDag`"99nKrr?'O"9BLJr;Ql)"9`>8rrX\Q"<=`IJ,~>
+_#FLD"9`r#s8N3%*<#m?L'.W'fDbdP*!@7ekPk_UAcr6KnbrIk.0Kb^_"%$r"PmZ*.A6;4#3oe9
+"Mk'4rr31g":2=5s7*2j#4_`n^]XdPq>UTR*!B:3p\tB3('J"7qu6fh*!?C)lMpke!$(n9$>'DD
+bl@_5s7--Zr;QoU.0LXNoD\k-"?HAZ"(hZ=lKnNVj%TXZ_#OH"nc&OkQ37>Vs8MNgs8DKfrre&Z
+"LA(,nH]*an`lM^"G!NP!:g'grr`<Xr;R%&":R:t1FYXHqC)Y93AWu)";X>q.0`*p"9]p'nc&Ok
+nUL`FAuP_3+p8#gZN#F~>
+_#FLD"9`r#s8N3%*<#m?L'.W'fDbdP*!@7ekPk_UAcr6KnbrIk.0Kb^_"%$r"PmZ*.A6;4#3oe9
+"Mk'4rr31g":2=5s7*2j#4_`n^]XdPq>UTR*!B:3p\tB3('J"7qu6fh*!?C)lMpke!$(n9$>'DD
+bl@_5s7--Zr;QoU.0LXNoD\k-"?HAZ"(hZ=lKnNVj%TXZ_#OH"nc&OkQ37>Vs8MNgs8DKfrre&Z
+"LA(,nH]*an`lM^"G!NP!:g'grr`<Xr;R%&":R:t1FYXHqC)Y93AWu)";X>q.0`*p"9]p'nc&Ok
+nUL`FAuP_3+p8#gZN#F~>
+_#FLD"9`r#s8N3%*<#m?L'.W'fDbdP*!@7ekPk_UAcr6KnbrIk.0Kb^_"%$r"PmZ*.AZS8#3oe9
+"Mk'4rr31g":2=5s7*2j#4_`n^]XdPq>UTR*!B:3p\tB3('J"7qu6fh*!?C)lMpke!$(n9$>'DD
+bl@_5s7--Zr;QoU.0LXNoD\k-"?HAZ"(hZ=lKnNVj%TXZ_#OH"nc&OkQ37>Vs8MNgs8DKfrre&Z
+"LA(,nH]*an`lM^"G!NP!:g'grr`<Xr;R%&":R:t1FYXHqC)Y93AWu)";X>q.0`*p"9]p'nc&Ok
+nUL`FAuP_3+p8#gZN#F~>
+_uBr2s8QF/"D69crr`<ArVm"d"9]pmrr3'E";[Efrre&Z"BFacrrabR"<?Imrs.h$";[[1s6B=X
+#4Z:."Mk'4rr31g":1\#s7*2j'_25'^]Xd#TUD46R?j/EJ0G+VTYUB/&Bo>6"@BEGh;deVn_GAl
+"@DDRrr`<Arr32ms8Q[6"P<>H#jO_Z%-.BXs7,ma%,D$h,6.]5nc/V`"9e&j"QN2Z"Mjs8"nDVc
+((?N)s8VTls-X8uZMFM&<<NGZWrE(hrr<!$!%IjG"&/nY_"7R/nc(B\B(>m)J.)Pr?g@Xj"R:^E
+"D4V4"!RjN*4#Tp~>
+_uBr2s8QF/"D69crr`<ArVm"d"9]pmrr3'E";[Efrre&Z"BFacrrabR"<?Imrs.h$";[[1s6B=X
+#4Z:."Mk'4rr31g":1\#s7*2j'_25'^]Xd#TUD46R?j/EJ0G+VTYUB/&Bo>6"@BEGh;deVn_GAl
+"@DDRrr`<Arr32ms8Q[6"P<>H#jO_Z%-.BXs7,ma%,D$h,6.]5nc/V`"9e&j"QN2Z"Mjs8"nDVc
+((?N)s8VTls-X8uZMFM&<<NGZWrE(hrr<!$!%IjG"&/nY_"7R/nc(B\B(>m)J.)Pr?g@Xj"R:^E
+"D4V4"!RjN*4#Tp~>
+_uBr2s8QF/"D69crr`<ArVm"d"9]pmrr3'E";[Efrre&Z"BFacrrabR"<?Imrs.h$";[g5s6B=X
+#4Z:."Mk'4rr31g":1h's7*2j'_25'^]Xd#Um[X:R?j/EJ0G+VUqlf3&Bo>6"@BEGh;deVn_GAl
+"@DDRrr`<Arr32ms8Q[6"P<>H#jO_Z%-.BXs7,ma%,D$h,6.]5nc/V`"9e&j"QN2Z"Mjs8"nDVg
+((?N)s8VTls-X8uZMFM&<<NGZWrE(hrr<!$!%IjG"&/nY_"7R/nc(B\B(>m)J.)Pr?g@Xj"R:^E
+"D4V4"!RjN*4#Tp~>
+_#FOE"9`?,f`1sS!$(t;"I9/n*6eE^""=?gRHFMPTEGBlh>R?W.0Kb^T\]5>)<tf:%$pG`lMpnS
+nc/.Zs7,XZh+\"T_#O3/rs"bl#b_4tnZ;`mnc/X)o)o+'.2M^^!"Ai0#Rhn+*"3f&1JRiO!(,uN
+rr`<Aqu6b1"9d?Nrs&#nl:hBslLY&U$ihaRrrQ1'"RH(;j&H3b6;8mE.7,471B[h@1E7AY*$Q@H
+.3(,m"9^_6*#p.B+rhdB"9aIVs8N3%.K'2K<<O(fnc&OglMCM\lMgh`"9;HlrsbV(";X>hs7--h
+TEGC0W;crK"9]^Ms*t~>
+_#FOE"9`?,f`1sS!$(t;"I9/n*6eE^""=?gRHFMPTEGBlh>R?W.0Kb^T\]5>)<tf:%$pG`lMpnS
+nc/.Zs7,XZh+\"T_#O3/rs"bl#b_4tnZ;`mnc/X)o)o+'.2M^^!"Ai0#Rhn+*"3f&1JRiO!(,uN
+rr`<Aqu6b1"9d?Nrs&#nl:hBslLY&U$ihaRrrQ1'"RH(;j&H3b6;8mE.7,471B[h@1E7AY*$Q@H
+.3(,m"9^_6*#p.B+rhdB"9aIVs8N3%.K'2K<<O(fnc&OglMCM\lMgh`"9;HlrsbV(";X>hs7--h
+TEGC0W;crK"9]^Ms*t~>
+_#FOE"9`?,f`1sS!$(t;"I9/n*6eE^""=?gRHFMPU]^fph>R?W.0Kb^UttYB)<tf:%$pG`lMpnS
+nc/.Zs7,XZh+\"T_#O3/rs"bl#c.M#nZ;`mnc/X)o)o+'.2M^^!"Ai0#Rhn+*"3f&1JRiO!(,uN
+rr`<Aqu6b1"9d?Nrs&#nl:hBslLY&U$ihaRrrQ1'"RH(;j&H3b6;8mE.7,471B[h@1E7AY*$Q@H
+.3(,m"9^_6*#p.B+rhdB"9aIVs8N3%.K'2K<<O(fnc&OglMCM\lMgh`"9;Hlrsbb,";X>hs7--h
+U]^g4W;crK"9]^Ms*t~>
+_#FOE"9`)sf`1sS!$(t;$^Lnu%)Do5rr`HRZKD/iR03XmlM^_c*!@$+j73-OL'.XPpAY-_rr3(4
+"9c%.rs"ko"JGepnZ;`mnc/X5p&kL6"9],^p]La/('FaK,5VKG('GBU3U6VQ$j8BVs8VWhnTP*=
+h=^dNl:hC;fC](Gh(o16lM^_cnP',hna-8VbX2:3!#GG7!"AQ(!"Ac.!"AZ+!u;"BAubk2nc&Rg
+"9:7UrruI+.DYu`nbE+gnc.nS('IY-rr@fQ"9E`&rVluO"9`>8rrXGJ"<=`IJ,~>
+_#FOE"9`)sf`1sS!$(t;$^Lnu%)Do5rr`HRZKD/iR03XmlM^_c*!@$+j73-OL'.XPpAY-_rr3(4
+"9c%.rs"ko"JGepnZ;`mnc/X5p&kL6"9],^p]La/('FaK,5VKG('GBU3U6VQ$j8BVs8VWhnTP*=
+h=^dNl:hC;fC](Gh(o16lM^_cnP',hna-8VbX2:3!#GG7!"AQ(!"Ac.!"AZ+!u;"BAubk2nc&Rg
+"9:7UrruI+.DYu`nbE+gnc.nS('IY-rr@fQ"9E`&rVluO"9`>8rrXGJ"<=`IJ,~>
+_#FOE"9`)sf`1sS!$(t;$^Lnu%)Do5rr`HRZKD/iR03XmlM^_c*!@$+j73-OL'.XTpAY-_rr3(4
+"9c%.rs"ko"Jl(tnZ;`mnc/X5p&kL6"9],^p]La/('FaK,5VKG('GBU3U6VQ$j8BVs8VWhnTP*=
+h=^dNl:hC;fC](Gh(o16lM^_cnP',hna-8VbX2:3!#GG7!"AQ(!"Ac.!"AZ+!u;"BAubk2nc&Rg
+"9:7UrruI+.DYu`nbE+gnc.nS('IY-rr@fQ"9E`&rVluO"9`>8rrXGJ"<=`IJ,~>
+_#FLD"9`r#s8N3%*<#mFQ37=+bl@55"9]pSk5PRP"9_`irVm$@"9]-f_"7R0j"h)fZLRSe"QO)6
+"Mjs8#+5SsZN'spXT'%#s8U:G"AQ\IZG<c]ZJD/n$otW/_"t>Jh3K#h9sVRMZG<c]Z5a8U3U6VI
+('GV_bl7VFl@pJch=^dSh.@E_bl@_5s7,sc%HE0G"BF(DlLFE)<>G`'rrq"K$n6_Briua$^p8J!
+$tf=@#,&9;Ael/4qQ^6l+p8%!WrE(hrr<!$!&OQQ"'#ID_"%I)"9;0drro\:"9aJLrVluD"9`>8
+rrXGJ"<t/OJ,~>
+_#FLD"9`r#s8N3%*<#mFQ37=+bl@55"9]pSk5PRP"9_`irVm$@"9]-f_"7R0j"h)fZLRSe"QO)6
+"Mjs8#+5SsZN'spXT'%#s8U:G"AQ\IZG<c]ZJD/n$otW/_"t>Jh3K#h9sVRMZG<c]Z5a8U3U6VI
+('GV_bl7VFl@pJch=^dSh.@E_bl@_5s7,sc%HE0G"BF(DlLFE)<>G`'rrq"K$n6_Briua$^p8J!
+$tf=@#,&9;Ael/4qQ^6l+p8%!WrE(hrr<!$!&OQQ"'#ID_"%I)"9;0drro\:"9aJLrVluD"9`>8
+rrXGJ"<t/OJ,~>
+_#FLD"9`r#s8N3%*<#mFQ37=+bl@55"9]pSk5PRP"9_`irVm$@"9]-f_"7R0j"h)fZLRSe"QO)6
+"Mjs8#+5SsZN'spXT'%#s8U:G"AQ\IZG<c]ZJD;r$otW/_"t>Jh3K#h9sVRMZG<c]Z5a8U3U6VI
+('GV_bl7VFl@pJch=^dSh.@E_bl@_5s7,sc%HE0G"BF(DlLFE)<>G`'rrq"K$n6_Briua(^p8J!
+$tf=@#,JQ?Ael/4qQ^6l+p8%!WrE(hrr<!$!&OQQ"'#ID_"%I)"9;0drro\:"9aJLrVluD"9`>8
+rrXGJ"<t/OJ,~>
+_#FLD"9a8,s8N3%*<#mFQ37=!bl@55"9^Nrk5PRP"9_`irVljArWE3:gB7N.r;Qte"9bCts7*2j
+#3u6g^]XdPq>UQW('IA*rr^jg"CM!)"!RjN6L+RR.0Kc&%/U/-%.FB&$lfBY%/C#+,5q`F*<-fS
+"995:"9@KKrrgP+">djirr]P0%%6hh",6p]ZMOS(l<ar&L8P"N"99nKrs2U-(14AQbfmBg^]r#g
+^`3bLZLYd7Acr5FQLXqR"3^lNAuP_3.0KbnZN#F~>
+_#FLD"9a8,s8N3%*<#mFQ37=!bl@55"9^Nrk5PRP"9_`irVljArWE3:gB7N.r;Qte"9bCts7*2j
+#3u6g^]XdPq>UQW('IA*rr^jg"CM!)"!RjN6L+RR.0Kc&%/U/-%.FB&$lfBY%/C#+,5q`F*<-fS
+"995:"9@KKrrgP+">djirr]P0%%6hh",6p]ZMOS(l<ar&L8P"N"99nKrs2U-(14AQbfmBg^]r#g
+^`3bLZLYd7Acr5FQLXqR"3^lNAuP_3.0KbnZN#F~>
+_#FLD"9a8,s8N3%*<#mFQ37=!bl@55"9^Nrk5PRP"9_`irVljArWE3:gB7N.r;Qte"9bP#s7*2j
+#3u6g^]XdPq>UQW('IA*rr^jg"CM!)"!RjN6L+RR.0Kc&%/U/-%.FB&$lfBY%/C#+,5q`F*<-fS
+"995:"9@KKrrgP+">djirr]P0%%6hh",6p]ZMOS(l<ar&L8P"N"99nKrs2U-(14AQbfmBg^]r#g
+^`3bLZLYd7Acr5FQLXqR"3^lNAuP_3.0KbnZN#F~>
+_uBr2s8QF/%#3C6rr`<ArVm7k"9].Ks7-*l"?F9[rre_m"BFacrrjhS$j8!pnH8n%":X`%!8[SQ
+#*oApT`>&^XT&Lps8Tk;"D7K0"4n:k<Vl_#nc/.Z^_R&bq>UO@"9_'Yrs&#ns"ac\*;Td<%.jZ+
+$j7=S((Ba:!#GJ8!t5;8%.!orf/WsXZMOS'TEG\/rr3&is7-$e",6p]ZMsk0nc/.Zl@p&WL8t7R
+nc&Rg"9:7UrrPn'%.OH#(@D;.('FaUT`"flbQJ&\W;crD"9]^Ms*t~>
+_uBr2s8QF/%#3C6rr`<ArVm7k"9].Ks7-*l"?F9[rre_m"BFacrrjhS$j8!pnH8n%":X`%!8[SQ
+#*oApT`>&^XT&Lps8Tk;"D7K0"4n:k<Vl_#nc/.Z^_R&bq>UO@"9_'Yrs&#ns"ac\*;Td<%.jZ+
+$j7=S((Ba:!#GJ8!t5;8%.!orf/WsXZMOS'TEG\/rr3&is7-$e",6p]ZMsk0nc/.Zl@p&WL8t7R
+nc&Rg"9:7UrrPn'%.OH#(@D;.('FaUT`"flbQJ&\W;crD"9]^Ms*t~>
+_uBr2s8QF/%#3C6rr`<ArVm7k"9].Ks7-*l"?F9[rre_m"BFacrrjhS$j8!pnH8n%":X`%!8[SQ
+#*oApV#UJbXT&Lps8Tk;"D7K0"4n:k<Vl_#nc/.Z^_R&bq>UO@"9_'Yrs&#ns"ac\*;Td<%.jZ+
+$j7=S((Ba:!#GJ8!t5;8%.!orf/WsXZMOS'U]_+3rr3&is7-$e",6p]ZMsk0nc/.Zl@p&WL8t7R
+nc&Rg"9:7UrrPn'%.OH#(@D;.('FaUV#:5pbQJ&\W;crD"9]^Ms*t~>
+_#FLD"9a8,s8N3%*<#mFL'.Vpbl@55"9^a/k5PRW"9_`irVm$F":Q']j7DdGl@p&iRGI/[qXFjk
+j4ESJ<<NHpr;Qte"9c%1s7*2j#3u6gbQJ&\q>UZC('Hu(s7,pb"2GZT<W<!unc&OknKJ)=3UQhY
+nc/V/":Us/j36,j<<NGt^s)en%a;_]R@pk0^aTBh<G"QlrFYtO%[go3"?Dm9<C0\c('Fd1m/I4?
+63JaQrVm)es8SJi"JGSj#3u6gL'.Xbq>UPb('KAlrrDTgs8N3%1]77X<<NFK<@K+Jq'$%m9fYoN
+";X?"+oiV\,6'\&"9=kfrr^jU"D4V4""=?U*4#Tp~>
+_#FLD"9a8,s8N3%*<#mFL'.Vpbl@55"9^a/k5PRW"9_`irVm$F":Q']j7DdGl@p&iRGI/[qXFjk
+j4ESJ<<NHpr;Qte"9c%1s7*2j#3u6gbQJ&\q>UZC('Hu(s7,pb"2GZT<W<!unc&OknKJ)=3UQhY
+nc/V/":Us/j36,j<<NGt^s)en%a;_]R@pk0^aTBh<G"QlrFYtO%[go3"?Dm9<C0\c('Fd1m/I4?
+63JaQrVm)es8SJi"JGSj#3u6gL'.Xbq>UPb('KAlrrDTgs8N3%1]77X<<NFK<@K+Jq'$%m9fYoN
+";X?"+oiV\,6'\&"9=kfrr^jU"D4V4""=?U*4#Tp~>
+_#FLD"9a8,s8N3%*<#mFL'.Vpbl@55"9^a/k5PR["9_`irVm$F":Q']j7DdGl@p&iRGI/[qXFjk
+j4ESJ<<NHpr;Qte"9c%1s7*2j#3u6gbQJ&\q>UZC('Hu(s7,pb"2GZT<W<!unc&OknKJ)=3UQhY
+nc/V/":V*3j36,j<<NH#^s)en%a;_aRA@.4^aTBh<G"QlrFYtO%[go3"?Dm9<C0\c('Fd1m/I4?
+63JaQrVm)es8SJi"Jkkn#3u6gL'.Xbq>UPb('KAlrrDTgs8N3%1]77X<<NFK<@K+Jq'$%m9fYoN
+";X?"+oiV\,6'\&"9=kfrr^jU"D4V4""=?U*4#Tp~>
+_#FLD"9`r#s8N3%,5qNLf/Ws:bl@55"9^a/k5PR="9`?,rVls8"9^OMrr\ns"MjU."'#I,nbiCk
+Q37>`s8Vkqrs%cgs1ea?B)2H/isZ&bpAY6T('IY5rrZ7("@DDR!Xo2\qu6b1$j>DYrrYsu.HC(#
+"6q'5:&FqlAdeh.rt!p["<tY]s6BXSs8TA-"L@k'#4_`nTEGD5q>UPb$j;<^s8N3%1]77T<<O;c
+p&>$^rr<!$!)<"`!/CIU!208i"0r%4AuP_6.0Kc?s8VVss*t~>
+_#FLD"9`r#s8N3%,5qNLf/Ws:bl@55"9^a/k5PR="9`?,rVls8"9^OMrr\ns"MjU."'#I,nbiCk
+Q37>`s8Vkqrs%cgs1ea?B)2H/isZ&bpAY6T('IY5rrZ7("@DDR!Xo2\qu6b1$j>DYrrYsu.HC(#
+"6q'5:&FqlAdeh.rt!p["<tY]s6BXSs8TA-"L@k'#4_`nTEGD5q>UPb$j;<^s8N3%1]77T<<O;c
+p&>$^rr<!$!)<"`!/CIU!208i"0r%4AuP_6.0Kc?s8VVss*t~>
+_#FLD"9`r#s8N3%,5qNLf/Ws:bl@55"9^a/k5PR="9`?,rVls8"9^OMrr]&""MjU."'#I,nbiCk
+Q37>ds8Vkqrs%cgs1ea?B)2H/isZ&bpAY6T('IY5rrZ7("@DDR!Xo2\qu6b1$j>DYrrYsu.HC(#
+"6q'5:&FqlAdeh.rt!p["<tY]s6BXSs8TA-"L@k'#4_`nU]^h9q>UPb$j;<^s8N3%1]77T<<O;c
+p&>$^rr<!$!)<"`!/CIU!2TPm"0r%4AuP_6.0Kc?s8VVss*t~>
+_uBr2s8QF/"F&Jtrr`<Nr;QkL"9cO>s8N3&1Vi2R"S$(,"F'eD!uqFH*:Wt4L'.XPs8VW^rt%0n
+"R?$^s7-,T"9bCts7lAkrs&#ns1ea?B)2H/h#mj@pAY6N"9_Hqrrhk9"9_'Vs8N3/(B=F)nc/Vr
+"9d?Qs8VTolMpnS3<U,Rrr2ugq#:HV$j8Bcs8VTls%NV!lKnNRj&H4+_#"'5Z31<'pAY5_"9c%+
+rr\Q&"GWrV!:g'grr`<Nr;Qt$"9dcbs7,ma!:g'grr`<Xnc&TWrWE5:rVm#jQ37>&W;d&G"9a8T
+s7*MsJ,~>
+_uBr2s8QF/"F&Jtrr`<Nr;QkL"9cO>s8N3&1Vi2R"S$(,"F'eD!uqFH*:Wt4L'.XPs8VW^rt%0n
+"R?$^s7-,T"9bCts7lAkrs&#ns1ea?B)2H/h#mj@pAY6N"9_Hqrrhk9"9_'Vs8N3/(B=F)nc/Vr
+"9d?Qs8VTolMpnS3<U,Rrr2ugq#:HV$j8Bcs8VTls%NV!lKnNRj&H4+_#"'5Z31<'pAY5_"9c%+
+rr\Q&"GWrV!:g'grr`<Nr;Qt$"9dcbs7,ma!:g'grr`<Xnc&TWrWE5:rVm#jQ37>&W;d&G"9a8T
+s7*MsJ,~>
+_uBr2s8QF/"F&Jtrr`<Nr;QkL"9cO>s8N3&1Vi2R"S$(,"F'eD!uqFH*:Wt4L'.XTs8VW^rt%0n
+"R?$^s7-,T"9bP#s7lAkrs&#ns1ea?B)2H/h#mj@pAY6N"9_Hqrrhk9"9_'Vs8N3/(B=F)nc/Vr
+"9d?Qs8VTolMpnS3<U,Rrr2ugq#:HV$j8Bcs8VTls%NV!lKnNRj&H4+_#"'5Z31<+pAY5_"9c%+
+rr\Q&"GWrV!:g'grr`<Nr;Qt$"9dcbs7,ma!:g'grr`<Xnc&TWrWE5:rVm#jQ37>&W;d&G"9a8T
+s7*MsJ,~>
+_#FLD"9`r#s8N3%.K'2JG6A&arr<!$!AhORrre&Z"D73&rrX5D"<?q2".99-ZL\"t3<TKMrr38o
+s-WumT`>&^XT&Lis8Tk;">fn/#-rFs$mK;Lq6C-rAekeLrg!hq^p9A_9cO:&lMpke!"Ac)"*Y.V
+bk_;=nc/UlnM::`lLt5]nc.DR"@E"c!ac'5li.OV?N_fiTX(5rRBi-&*$T!fqQ^?oZC,;E,%dMF
+Z36h-$j:1>s8N3%1]77W<<NHbs8VWarrDTgs8N3%1\(JFQMq!e_#437R03Y)W;cuL"9`*%Zi>O~>
+_#FLD"9`r#s8N3%.K'2JG6A&arr<!$!AhORrre&Z"D73&rrX5D"<?q2".99-ZL\"t3<TKMrr38o
+s-WumT`>&^XT&Lis8Tk;">fn/#-rFs$mK;Lq6C-rAekeLrg!hq^p9A_9cO:&lMpke!"Ac)"*Y.V
+bk_;=nc/UlnM::`lLt5]nc.DR"@E"c!ac'5li.OV?N_fiTX(5rRBi-&*$T!fqQ^?oZC,;E,%dMF
+Z36h-$j:1>s8N3%1]77W<<NHbs8VWarrDTgs8N3%1\(JFQMq!e_#437R03Y)W;cuL"9`*%Zi>O~>
+_#FLD"9`r#s8N3%.K'2JG6A&arr<!$!AhORrre&Z"D73&rrX5D"<?q2".99-ZL\"t3<TKMrr38o
+s-WumV#UJbXT&Lis8Tk;">fn/#-rFs$mK;Lq6C.!AekeLrg!hq^p9A_9cO:&lMpke!"Ac)"*Y.V
+bk_;=nc/UlnM::`lLt5]nc.DR"@E"c!ac'5li.OV?N_fiUp?f%RBi-&*$T!jqQ^?oZC,;E,%dYJ
+Z36t1$j:1>s8N3%1]77W<<NHbs8VWarrDTgs8N3%1\(JFQMq!e_#437R03Y)W;cuL"9`*%Zi>O~>
+_#FLD"9`r#s8N3%.K'2JG6A&arr<!$!AhORrre_m"D73&rrX#>"<?q2"/$&ObjtcE3<TKMs7lWa
+s-WumT`>&^XT&Cfs8Tn-"TAi$"9952"9:IIs8N3%*;fa<G74W+o`"tZ";^V/"7[-06Mpcb<<NHi
+m/I+HB&!Ll('FbPlDO[^"9:7UrruI+"Ps+Xnauk]"99n@rrAAa"9?78rr\ns"D4V4"=XHV<TCFc
+J,~>
+_#FLD"9`r#s8N3%.K'2JG6A&arr<!$!AhORrre_m"D73&rrX#>"<?q2"/$&ObjtcE3<TKMs7lWa
+s-WumT`>&^XT&Cfs8Tn-"TAi$"9952"9:IIs8N3%*;fa<G74W+o`"tZ";^V/"7[-06Mpcb<<NHi
+m/I+HB&!Ll('FbPlDO[^"9:7UrruI+"Ps+Xnauk]"99n@rrAAa"9?78rr\ns"D4V4"=XHV<TCFc
+J,~>
+_#FLD"9`r#s8N3%.K'2JG6A&arr<!$!AhORrre_m"D73&rrX#>"<?q2"/H>SbjtcE3<TKMs7lWa
+s-WumV#UJbXT&Cfs8Tn-"TAi$"9952"9:IIs8N3%*;fa<G74W+o`"tZ";^V/"7[-06Mpcb<<NHi
+m/I+HB&!Ll('FbPlDO[^"9:7UrruI+"Ps+Xnauk]"99n@rrAAa"9?78rr]&""D4V4"=XHV<TCFc
+J,~>
+_uBr2s8QF/"F&Jtrr`<Nr;QkC"9cO>s8N3&1Vi/Q"ITAqB(>j"!uqFH*:a%5l@9"ElMo]4rrY7a
+"R?!d$2FOd"9bCts7lAkrs/)os1ea?(-2@Mr](0W1B[gr<C6L;&5>Io";X^+3C6%m9iWA?"@DDR
+rWN,6"_Jq]RD?-&^^.5?";\;eZG<dA^]i>q*#:Q?r4iA.$k2J%&E?an"<pi43E8C?6:(eX.67;^
+#Uqc.6:*[8"=a1'"Z[b0"G$$CrrDTgs8N3%.K'2M<<NHbs8VW]s8N3%.ImE<QMq!e_#437Z31;B
+W;cuE"9`*%Zi>O~>
+_uBr2s8QF/"F&Jtrr`<Nr;QkC"9cO>s8N3&1Vi/Q"ITAqB(>j"!uqFH*:a%5l@9"ElMo]4rrY7a
+"R?!d$2FOd"9bCts7lAkrs/)os1ea?(-2@Mr](0W1B[gr<C6L;&5>Io";X^+3C6%m9iWA?"@DDR
+rWN,6"_Jq]RD?-&^^.5?";\;eZG<dA^]i>q*#:Q?r4iA.$k2J%&E?an"<pi43E8C?6:(eX.67;^
+#Uqc.6:*[8"=a1'"Z[b0"G$$CrrDTgs8N3%.K'2M<<NHbs8VW]s8N3%.ImE<QMq!e_#437Z31;B
+W;cuE"9`*%Zi>O~>
+_uBr2s8QF/"F&Jtrr`<Nr;QkC"9cO>s8N3&1Vi/Q"ITAqB(>j"!uqFH*:a%5l@9"ElMo]4rrY7a
+"R?!d$2FOd"9bP#s7lAkrs/)os1ea?(-2@Mr](0W1B[gr<C6L;&5>Io";X^+3C6%m9iWA?"@DDR
+rWN,6"_Jq]RD?-&^^.5?";\;eZG<dA^]i>q*#:Q?r4iA.$k2J%&E?an"<pi43E8C?6:(eX.67;^
+#Uqc.6:*[8"=a1'"Z[b0"G$$CrrDTgs8N3%.K'2M<<NHbs8VW]s8N3%.ImE<QMq!e_#437Z31;B
+W;cuE"9`*%Zi>O~>
+_#FLD"9`r#s8N3%.K'2JG6A&arr<!$!AhORrr\Pi"F'eD!uqFH*:a%5f/WtXs8UpIrrY7a"R?!d
+#k@q_"9bCts7*2j#4_`n^]XdPq>UQW"9_'brr_9i"BG9t",7Qo6L+RR$j6\h%/pA1((Ba:!#GP:
+!#G20":PDA"=a9P"<n6W"R>@R"QNhl,/F'T"0r%4T_ABfTEGD'q>UYe$j;=bs7*)grr`<Nr;Qt$
+"9dcbs7,a]rr`<Xnc&TTrWE5:r;Qkl"9`qIrrsnT"G$OPn[8CI~>
+_#FLD"9`r#s8N3%.K'2JG6A&arr<!$!AhORrr\Pi"F'eD!uqFH*:a%5f/WtXs8UpIrrY7a"R?!d
+#k@q_"9bCts7*2j#4_`n^]XdPq>UQW"9_'brr_9i"BG9t",7Qo6L+RR$j6\h%/pA1((Ba:!#GP:
+!#G20":PDA"=a9P"<n6W"R>@R"QNhl,/F'T"0r%4T_ABfTEGD'q>UYe$j;=bs7*)grr`<Nr;Qt$
+"9dcbs7,a]rr`<Xnc&TTrWE5:r;Qkl"9`qIrrsnT"G$OPn[8CI~>
+_#FLD"9`r#s8N3%.K'2JG6A&arr<!$!AhORrr\Pi"F'eD!uqFH*:a%5f/WtXs8UpIrrY7a"R?!d
+#k@q_"9bP#s7*2j#4_`n^]XdPq>UQW"9_'brr_9i"BG9t",7Qo6L+RR$j6\h%/pA1((Ba:!#GP:
+!#G20":PDA"=a9P"<n6W"R>@R"QNhl,/F'T"0r%4V"XfjU]^h+q>UYe$j;=bs7*)grr`<Nr;Qt$
+"9dcbs7,a]rr`<Xnc&TTrWE5:r;Qkp"9`qIrrsnT"G$OPn[8CI~>
+_#FOE"9`?,f`1sS!%IjG"*XkN_#FB6"9B^Pk5PRW"9`)srVm!?":Q'to)Aft"9b%\rrY7a"P<SO
+#+5SsT`>&^XT&Lps8Tk;"D7H/!Yto*pAY6N$j9T.rs%cYs-<cj3U6VP('Fb,.1?V)66$+2rY>VF
+()@;erY>\@(-)d3";^J0!$_@E!u;"B%.X>tlMUYej%TXbbl@_5rVltf"9b.drr[uY"L@n("S%!F
+"I?(f!:g'grr`<Xr;Qk!":WNEs8E-$B(Gs)R03X$T`"flh#mjmW;crK"9^0Zs*t~>
+_#FOE"9`?,f`1sS!%IjG"*XkN_#FB6"9B^Pk5PRW"9`)srVm!?":Q'to)Aft"9b%\rrY7a"P<SO
+#+5SsT`>&^XT&Lps8Tk;"D7H/!Yto*pAY6N$j9T.rs%cYs-<cj3U6VP('Fb,.1?V)66$+2rY>VF
+()@;erY>\@(-)d3";^J0!$_@E!u;"B%.X>tlMUYej%TXbbl@_5rVltf"9b.drr[uY"L@n("S%!F
+"I?(f!:g'grr`<Xr;Qk!":WNEs8E-$B(Gs)R03X$T`"flh#mjmW;crK"9^0Zs*t~>
+_#FOE"9`?,f`1sS!%IjG"*XkN_#FB6"9B^Pk5PR["9`)srVm!?":Q'to)Aft"9b%\rrY7a"P<SO
+#+5SsV#UJbXT&Lps8Tk;"D7H/!Yto*pAY6N$j9T.rs%cYs-<cj3U6VP('Fb,.1?V)66$+2rY>VF
+()@;erY>\@(-)d3";^J0!$_@E!u;"B%.X>tlMUYej%TXbbl@_5rVltf"9b.drr[uY"L@n("S%!F
+"I?(f!:g'grr`<Xr;Qk!":WNEs8E-$B(Gs)R03X$V#:5ph#mjmW;crK"9^0Zs*t~>
+_uBu3s8QF/"D6rOs8N3%.K'2JG6A&arr<!$!?AE-rrett"BFacrra;E":WNFrr]P0"IATX%ljaq
+bl@_<s8SAf"JGeppoOK"nc/X)"9`?4rr_9a"?H2U#L!;R:&k7`nbrIiL'.WGlMpkm!X-a-rVlt3
+$j>V_rs2s7"D30kJ7a$%Ae'?'$k+>1Ap7j!L*?a'lLOrTnbrInn]Wur%)DoClM^_bR03YIpAY5L
+"9b.hrrhk("9a7TrrDTgs8N3%.K'2J<<N`Gnc/Rk!(-8V"ITAq%%7%n"60Le?`<u,+p8#gZN#F~>
+_uBu3s8QF/"D6rOs8N3%.K'2JG6A&arr<!$!?AE-rrett"BFacrra;E":WNFrr]P0"IATX%ljaq
+bl@_<s8SAf"JGeppoOK"nc/X)"9`?4rr_9a"?H2U#L!;R:&k7`nbrIiL'.WGlMpkm!X-a-rVlt3
+$j>V_rs2s7"D30kJ7a$%Ae'?'$k+>1Ap7j!L*?a'lLOrTnbrInn]Wur%)DoClM^_bR03YIpAY5L
+"9b.hrrhk("9a7TrrDTgs8N3%.K'2J<<N`Gnc/Rk!(-8V"ITAq%%7%n"60Le?`<u,+p8#gZN#F~>
+_uBu3s8QF/"D6rOs8N3%.K'2JG6A&arr<!$!?AE-rrf,#"BFacrra;E":WNFrr]P0"IATX%ljaq
+bl@_<s8SAf"Jl(tpoOK"nc/X)"9`?4rr_9a"?H2U#L!;R:&k7`nbrIiL'.WGlMpkm!X-a-rVlt3
+$j>V_rs2s7"D30kJ7a$%Ae'?'$k+>1Ap7j!L*?a'lLOrTnbrInn]Wur%)DoClM^_bR03YIpAY5L
+"9b.hrrhk("9a7TrrDTgs8N3%.K'2J<<N`Gnc/Rk!(-8V"ITAq%%7%n"60Le?`<u,+p8#gZN#F~>
+_#FOE"9`)sf`1sS!%IjG"*XkN_#FB6"9BLJk5PRP"9_HZrVm!?"9]Lao)Aft"9b%\rsq*m"O-oG
+q#CA["9bCts7*2j#4_`n^]XdPq>UQQ"9_'brr^IJ"BGF#!:g'g"4oO96L+UN":H"Fs5WDEs(2B:
+bl@S1!rqf\rr3$K"<@%5"5O_$:&Fql?N^N"rs/)on\?p`"Mk!9#4_`nR03YYq>UZas8SAf"L@k'
+#-o!ILB%;=WW2u$!%IjG"'#I4_"%I("9;0errAJd"9=bcrr_9a"CJ,-""=?U*4#Tp~>
+_#FOE"9`)sf`1sS!%IjG"*XkN_#FB6"9BLJk5PRP"9_HZrVm!?"9]Lao)Aft"9b%\rsq*m"O-oG
+q#CA["9bCts7*2j#4_`n^]XdPq>UQQ"9_'brr^IJ"BGF#!:g'g"4oO96L+UN":H"Fs5WDEs(2B:
+bl@S1!rqf\rr3$K"<@%5"5O_$:&Fql?N^N"rs/)on\?p`"Mk!9#4_`nR03YYq>UZas8SAf"L@k'
+#-o!ILB%;=WW2u$!%IjG"'#I4_"%I("9;0errAJd"9=bcrr_9a"CJ,-""=?U*4#Tp~>
+_#FOE"9`)sf`1sS!%IjG"*XkN_#FB6"9BLJk5PRP"9_HZrVm!?"9]Lao)Aft"9b%\rsq*m"O-oG
+q#CA["9bP#s7*2j#4_`n^]XdPq>UQQ"9_'brr^IJ"BGF#!:g'g"4oO96L+UN":H"Fs5WDEs(2B:
+bl@S1!rqf\rr3$K"<@%5"5O_$:&Fql?N^N"rs/)on\?p`"Mk!9#4_`nR03YYq>UZas8SAf"L@k'
+#-o!ILB%;=WW2u$!%IjG"'#I4_"%I("9;0errAJd"9=bcrr_9a"CJ,-""=?U*4#Tp~>
+_#FOE"9`?,f`1sS!%IjG"*XkN_#FB6"9BLJk5PRP"9_`irVlj;rWE5:o)Aft"9b%\rsq*m"P<\R
+q#CA^"9bCts7i\q#4_`n^]XdPq>UQQ"9^aas8)6gs3(TK:&Y+lnc/UkL'.W>lMpke!=\MrrrZj9
+"P<JLs7-*g"??Snj8],K!<;ue#645nh#mj@qu6au"9e8`rsSAsn\@-f"Mk';lLFlR"I9/nLB%8C
+!<<#fs8N4V"9c%1rp^?qnaYn!"9a8Ts7*5k!:g'grr`<Xr;Qk!";\fCs8E-$:%J;aRJm<hLA_&R
+irfKlW;crD"9]pSs*t~>
+_#FOE"9`?,f`1sS!%IjG"*XkN_#FB6"9BLJk5PRP"9_`irVlj;rWE5:o)Aft"9b%\rsq*m"P<\R
+q#CA^"9bCts7i\q#4_`n^]XdPq>UQQ"9^aas8)6gs3(TK:&Y+lnc/UkL'.W>lMpke!=\MrrrZj9
+"P<JLs7-*g"??Snj8],K!<;ue#645nh#mj@qu6au"9e8`rsSAsn\@-f"Mk';lLFlR"I9/nLB%8C
+!<<#fs8N4V"9c%1rp^?qnaYn!"9a8Ts7*5k!:g'grr`<Xr;Qk!";\fCs8E-$:%J;aRJm<hLA_&R
+irfKlW;crD"9]pSs*t~>
+_#FOE"9`?,f`1sS!%IjG"*XkN_#FB6"9BLJk5PRP"9_`irVlj;rWE5:o)Aft"9b%\rsq*m"P<\R
+q#CA^"9bP#s7i\q#4_`n^]XdPq>UQQ"9^aas8)6gs3(TK:&Y+lnc/UkL'.W>lMpke!=\MrrrZj9
+"P<JLs7-*g"??Snj8],K!<;ue#645nh#mj@qu6au"9e8`rsSAsn\@-f"Mk';lLFlR"I9/nLB%8C
+!<<#fs8N4V"9c%1rp^?qnaYn!"9a8Ts7*5k!:g'grr`<Xr;Qk!";\fCs8E-$:%J;aRJm<hLA_&R
+irfKlW;crD"9]pSs*t~>
+_#FOE"9`?,f`1sS!%IjG"*XkN_#FB6"9BLJk5PRW"9_`irVlj;rWE5:o)Aft"9b%\rsq*m"O-oG
+q#CA^"9bCts7i\q#4_`n^]XdPq>UWS";Wf`lM1A_h%g,fs7-$e"QO(s"@DDRrsSlCrr32ms8Q[6
+"P<;G"#C&qj8T&YnbE+disZ&Nqu6^t"9e/m#P%ioj%TXZ_#=<5nHAlt('KBfrs&#Ys-X8uT_\Tl
+Q37>Fs8VVkrrDTgs8N3%1]77T<<N`Gnc/Rk!)<%a!1Efh!J'_=rr_9a"CJ,-"!RjN*4#Tp~>
+_#FOE"9`?,f`1sS!%IjG"*XkN_#FB6"9BLJk5PRW"9_`irVlj;rWE5:o)Aft"9b%\rsq*m"O-oG
+q#CA^"9bCts7i\q#4_`n^]XdPq>UWS";Wf`lM1A_h%g,fs7-$e"QO(s"@DDRrsSlCrr32ms8Q[6
+"P<;G"#C&qj8T&YnbE+disZ&Nqu6^t"9e/m#P%ioj%TXZ_#=<5nHAlt('KBfrs&#Ys-X8uT_\Tl
+Q37>Fs8VVkrrDTgs8N3%1]77T<<N`Gnc/Rk!)<%a!1Efh!J'_=rr_9a"CJ,-"!RjN*4#Tp~>
+_#FOE"9`?,f`1sS!%IjG"*XkN_#FB6"9BLJk5PR["9_`irVlj;rWE5:o)Aft"9b%\rsq*m"O-oG
+q#CA^"9bP#s7i\q#4_`n^]XdPq>UWS";Wf`lM1A_h%g,fs7-$e"QO(s"@DDRrsSlCrr32ms8Q[6
+"P<;G"#C&qj8T&YnbE+disZ&Nqu6^t"9e/m#P%ioj%TXZ_#=<5nHAlt('KBfrs&#Ys-X8uV"t#p
+Q37>Fs8VVkrrDTgs8N3%1]77T<<N`Gnc/Rk!)<%a!1Efh!J'_=rr_9a"CJ,-"!RjN*4#Tp~>
+_#FOE"9`?%f`1sS!%IjG"*XkN_#FB6"9BLJk5PRW"9_`irVm!?"9].Ko)Aft"9b%\rsq*m"Mk';
+q#CA["9bCts7*2j"7cEk_#=K:%/pA8$j6t_"9]K?(An:@$j6\K1B[h)<W3a9$l0g&rWE3flMpke
+!=\Mrrr[HR"PrqS!:g!e"$$K(h=U^LnJhZfqu6^t"9e8p"7cEknc&P;Acr5s3?eSM+r2sj"9^M)
+((:re((:s&(+CF1">_5;$l06e$n5Nd"GWfRrr`<Nr;R"%":VU9nc/.Ps8E-$:%J;aQMq!fJFWU<
+"5O(_?`<u,.0KbnZN#F~>
+_#FOE"9`?%f`1sS!%IjG"*XkN_#FB6"9BLJk5PRW"9_`irVm!?"9].Ko)Aft"9b%\rsq*m"Mk';
+q#CA["9bCts7*2j"7cEk_#=K:%/pA8$j6t_"9]K?(An:@$j6\K1B[h)<W3a9$l0g&rWE3flMpke
+!=\Mrrr[HR"PrqS!:g!e"$$K(h=U^LnJhZfqu6^t"9e8p"7cEknc&P;Acr5s3?eSM+r2sj"9^M)
+((:re((:s&(+CF1">_5;$l06e$n5Nd"GWfRrr`<Nr;R"%":VU9nc/.Ps8E-$:%J;aQMq!fJFWU<
+"5O(_?`<u,.0KbnZN#F~>
+_#FOE"9`?%f`1sS!%IjG"*XkN_#FB6"9BLJk5PR["9_`irVm!?"9].Ko)Aft"9b%\rsq*m"Mk';
+q#CA["9bP#s7*2j"7cEk_#=K:%/pA8$j6t_"9]K?(An:@$j6\K1B[h)<W3a9$l0g&rWE3flMpke
+!=\Mrrr[HR"PrqS!:g!e"$$K(h=U^LnJhZfqu6^t"9e8p"7cEknc&P;Acr5s3?eSM+r2sj"9^M)
+((:re((:s&(+CF1">_5;$l06e$n5Nd"GWfRrr`<Nr;R"%":VU9nc/.Ps8E-$:%J;aQMq!fJFWU<
+"5O(_?`<u,.0KbnZN#F~>
+_uBr2s8QF/"G#,(rr`<Nr;QkL"9cO>s8N3&3U5c,"L8.5<U0P_"<msW1ZS'+"L8.ML@Om8&F*6u
+"F'nGq#Bl="9bCts7iSn"P3bZ.=h>?s(2Rf"9]p7AnH72B)[#RB)_uB1R;WbG@+s:G8p_g3U6Vg
++p8[LZEg-kL/eulJ=2^hR?j/3ZC/"dQBjN>*1!"\^p:cQTF[I7R03XA^tmVXbd'53"S(jY!V'e$
+"98l-"9TDB":Y)/!"Ac.!"AZ+"q1V;LB%;DXoACkrr<!$!&OQQ"]Y[LRHj>:rs/)os1ff]"ASIe
+"doc%(4brRrr]P0"D4V4"!RjN(:*sj~>
+_uBr2s8QF/"G#,(rr`<Nr;QkL"9cO>s8N3&3U5c,"L8.5<U0P_"<msW1ZS'+"L8.ML@Om8&F*6u
+"F'nGq#Bl="9bCts7iSn"P3bZ.=h>?s(2Rf"9]p7AnH72B)[#RB)_uB1R;WbG@+s:G8p_g3U6Vg
++p8[LZEg-kL/eulJ=2^hR?j/3ZC/"dQBjN>*1!"\^p:cQTF[I7R03XA^tmVXbd'53"S(jY!V'e$
+"98l-"9TDB":Y)/!"Ac.!"AZ+"q1V;LB%;DXoACkrr<!$!&OQQ"]Y[LRHj>:rs/)os1ff]"ASIe
+"doc%(4brRrr]P0"D4V4"!RjN(:*sj~>
+_uBr2s8QF/"G#,(rr`<Nr;QkL"9cO>s8N3&3U5c,"L8.5<U0P_"<msW1ZS'+"L8.ML@Om8&F*6u
+"F'nGq#Bl="9bP#s7iSn"P3bZ.=h>?s(2Rf"9]p7AnH72B)[#RB)_uB1R;WbG@+s:G8p_g3U6Vg
++p8[LZEg9oL/eulJ=2^hR?j/7ZC/"dQBjN>*1!"\^p:cQU^rm;R03XA^tmVXbd'53"S(jY!V'e$
+"98l-"9TDB":Y)/!"Ac.!"AZ+"q1V;LB%;DXoACkrr<!$!&OQQ"]Y[LRHj>:rs/)os1ff]"ASIe
+"doc%(4brRrr]P0"D4V4"!RjN(:*sj~>
+_#FLD"9`r#s8N3%.K'2JJ-6"jrr<!$!Aj$'rrfV1"BFacrrjSL":U$joD]$1"=])]naZ;P"PmZ0
+"JG\m#)36`T`>&eWW*(P"9`?3rrNr=1\UhNl4sLsq>UPO('HY_rrXGJ"<?b2#n-qP"<7OI((;2U
+":67l*"2rc"9].um/I4YAdg,=rkJf`^s'*=*#<.lqS3<@^s%!<*/==*#I6,g"GZsVnZDfknc&Rg
+"9:7UrrZ7(,0]WX"S#1p*+/::"eZ8,%#4<Nrr]P0"D4V4"!RjN(:*sj~>
+_#FLD"9`r#s8N3%.K'2JJ-6"jrr<!$!Aj$'rrfV1"BFacrrjSL":U$joD]$1"=])]naZ;P"PmZ0
+"JG\m#)36`T`>&eWW*(P"9`?3rrNr=1\UhNl4sLsq>UPO('HY_rrXGJ"<?b2#n-qP"<7OI((;2U
+":67l*"2rc"9].um/I4YAdg,=rkJf`^s'*=*#<.lqS3<@^s%!<*/==*#I6,g"GZsVnZDfknc&Rg
+"9:7UrrZ7(,0]WX"S#1p*+/::"eZ8,%#4<Nrr]P0"D4V4"!RjN(:*sj~>
+_#FLD"9`r#s8N3%.K'2JJ-6"jrr<!$!Aj$'rrfV1"BFacrrjSL":U$joD]$1"=])]naZ;P"PmZ0
+"Jktq#)36`V#UJiWW*(P"9`?3rrNr=1\UhNl4sLsq>UPO('HY_rrXGJ"<?b2#n-qP"<7OI((;2U
+":67l*"2rc"9].um/I4YAdg,=rkJf`^s'*=*#<.lqS3<@^s%!<*/==*#I6,g"GZsVnZDfknc&Rg
+"9:7UrrZ7(,0]WX"S#1p*+/::"f)P0%#4<Nrr]P0"D4V4"!RjN(:*sj~>
+_#FLD"9`>gs8N3%.K'2JJ-6"jrr<!$!BK3&rrfV1"BFL\rr=MI"99Fr":W*GnaZYZL'.XPs8VVg
+rrgpV"D7]2nHAmD"9^aas8)6ls1ea?:&k7YlLFlR",73e6L+RY1B[h@6=rr(Ag.?dr]'sFr](KU
+9fYNa,#&gU":P\Y.1@3m+q?CK"9],^(*!_k*!?ZYna-8Yj%TY4_#"'5Z31;rpAY5L"9c%,rrhkB
+$j;<^s8N3%.K'2N<<OLr^p:bkpp(-mZA'+t$ou,pZ34bB"<<a*rr^%>"D4V4""=?U(:*sj~>
+_#FLD"9`>gs8N3%.K'2JJ-6"jrr<!$!BK3&rrfV1"BFL\rr=MI"99Fr":W*GnaZYZL'.XPs8VVg
+rrgpV"D7]2nHAmD"9^aas8)6ls1ea?:&k7YlLFlR",73e6L+RY1B[h@6=rr(Ag.?dr]'sFr](KU
+9fYNa,#&gU":P\Y.1@3m+q?CK"9],^(*!_k*!?ZYna-8Yj%TY4_#"'5Z31;rpAY5L"9c%,rrhkB
+$j;<^s8N3%.K'2N<<OLr^p:bkpp(-mZA'+t$ou,pZ34bB"<<a*rr^%>"D4V4""=?U(:*sj~>
+_#FLD"9`>gs8N3%.K'2JJ-6"jrr<!$!BK3&rrfV1"BFL\rr=MI"99Fr":W*GnaZYZL'.XTs8VVg
+rrgpV"D7]2nHAmD"9^aas8)6ls1ea?:&k7YlLFlR",73e6L+RY1B[h@6=rr(Ag.?dr]'sFr](KU
+9fYNa,#&gU":P\Y.1@3m+q?CK"9],^(*!_k*!?ZYna-8Yj%TY4_#"'5Z31;rpAY5L"9c%,rrhkB
+$j;<^s8N3%.K'2N<<OLr^p:bkpp(-mZA'+t$ou,pZ34bB"<<a*rr^%>"D4V4""=?U(:*sj~>
+_uBu3s8QF/"D72Vs8N3%.K'2JJ-6"jrr<!$!BK3&rrfV1"BFacrr=MI"9C:ei<0,hr<*SFs7l-a
+s-<cjT`>&epo=>rf)u4gq>UQW"9_'brr_'["BGC"#4_`nTH")$lMh8A":W*9s7--ZL)'p-qW\O[
+lK[!Wj&HL-REX^I_"ujjfC?-L"=a>cs0;a".0Ke>rrh.P"=_.brs&#ns0;b1T_ABfL'.XbqYp]g
+TG@ZbWrE(hrr<!$!%IjG!*.VR!G:m#rr^%>"D4V4"!RjN(:*sj~>
+_uBu3s8QF/"D72Vs8N3%.K'2JJ-6"jrr<!$!BK3&rrfV1"BFacrr=MI"9C:ei<0,hr<*SFs7l-a
+s-<cjT`>&epo=>rf)u4gq>UQW"9_'brr_'["BGC"#4_`nTH")$lMh8A":W*9s7--ZL)'p-qW\O[
+lK[!Wj&HL-REX^I_"ujjfC?-L"=a>cs0;a".0Ke>rrh.P"=_.brs&#ns0;b1T_ABfL'.XbqYp]g
+TG@ZbWrE(hrr<!$!%IjG!*.VR!G:m#rr^%>"D4V4"!RjN(:*sj~>
+_uBu3s8QF/"D72Vs8N3%.K'2JJ-6"jrr<!$!BK3&rrfV1"BFacrr=MI"9C:ei<0,hr<*SFs7l-a
+s-<cjV#UJipo=>rf)u4gq>UQW"9_'brr_'["BGC"#4_`nU`9M(lMh8A":W*9s7--ZL)'p-qW\O[
+lK[!Wj&HL-REX^I_"ujjfC?-L"=a>cs0;a&.0Ke>rrh.P"=_.brs&#ns0;b1V"XfjL'.XbqYp]g
+U_X)fWrE(hrr<!$!%IjG!*.VR!G:m#rr^%>"D4V4"!RjN(:*sj~>
+_#FOE"9`?,f`1sS!%IjG"+ULW_#FB6"9C=Dk5PRi"9`*%rVm$M"9]q#lJqmLlJqp#9`tTCr;QtF
+"9bCts7*)g"4mYYB)2H/h#mj:pAY6="9_'hrs&#ns0<UI3U6VH*!A(frVm#jJ.)S4qZ$Tc#QO)h
+nNm@-nauh`l5Tpnqu6_)"9e)k&Fn@H"=_.ds6BXLs8TA-"IAl`#3taYL'.XPq>UQ&$j;<brrDTg
+s8N3%1]77m<<NF\<C0#H1FXb/1FXb/<B3cR1HA/c.4I&/.K2+'.K2+/.5Ot2*"2sWnbrIiZ31;B
+W;crK"9]^Ms*t~>
+_#FOE"9`?,f`1sS!%IjG"+ULW_#FB6"9C=Dk5PRi"9`*%rVm$M"9]q#lJqmLlJqp#9`tTCr;QtF
+"9bCts7*)g"4mYYB)2H/h#mj:pAY6="9_'hrs&#ns0<UI3U6VH*!A(frVm#jJ.)S4qZ$Tc#QO)h
+nNm@-nauh`l5Tpnqu6_)"9e)k&Fn@H"=_.ds6BXLs8TA-"IAl`#3taYL'.XPq>UQ&$j;<brrDTg
+s8N3%1]77m<<NF\<C0#H1FXb/1FXb/<B3cR1HA/c.4I&/.K2+'.K2+/.5Ot2*"2sWnbrIiZ31;B
+W;crK"9]^Ms*t~>
+_#FOE"9`?,f`1sS!%IjG"+ULW_#FB6"9C=Dk5PRi"9`*%rVm$M"9]q#lJqmLlJqp#9`tTCr;QtF
+"9bP#s7*)g"4mYYB)2H/h#mj:pAY6="9_'hrs&#ns0<UI3U6VH*!A(frVm#jJ.)S4qZ$Tc#QO)h
+nNm@-nauh`l5Tpnqu6_)"9e)k&Fn@H"=_.ds6BXLs8TA-"IAl`#3taYL'.XTq>UQ&$j;<brrDTg
+s8N3%1]77m<<NF\<C0#H1FXb/1FXb/<B3cR1HA/c.4I&/.K2+'.K2+/.5Ot2*"2sWnbrIiZ31;B
+W;crK"9]^Ms*t~>
+_#FOE"9^aMf`1sS!%IjG"*XkN_#FB6"9B^^k5Pjq('H(1J:NB/$j6]5hZ"/W?N^KOAp8cUAgmik
+RK*<^WW*(E"9`?4rrq3e"ASpdq#:lV$j9r;s7--hlMpn"$j8o^rsTYG.I-s5nc/,k"9dQRrrhjd
+"<?t2rrDTarr_d,"=a6J!`]@+m/IXeh,OS%_#OGps7--hZ31<'q>UZhs8S_p"Mjj5"0r=<QE1&c
+nc/Utj!"UTbfmlYj(8EMZJPTbh.@E<B&iji"2GZTAuP_3.0Kb^ZN#F~>
+_#FOE"9^aMf`1sS!%IjG"*XkN_#FB6"9B^^k5Pjq('H(1J:NB/$j6]5hZ"/W?N^KOAp8cUAgmik
+RK*<^WW*(E"9`?4rrq3e"ASpdq#:lV$j9r;s7--hlMpn"$j8o^rsTYG.I-s5nc/,k"9dQRrrhjd
+"<?t2rrDTarr_d,"=a6J!`]@+m/IXeh,OS%_#OGps7--hZ31<'q>UZhs8S_p"Mjj5"0r=<QE1&c
+nc/Utj!"UTbfmlYj(8EMZJPTbh.@E<B&iji"2GZTAuP_3.0Kb^ZN#F~>
+_#FOE"9^aMf`1sS!%IjG"*XkN_#FB6"9B^^k5Pjq('H(1J:NB/$j6]5hZ"/W?N^KOAp8cUAgmik
+RK*<^WW*(E"9`?4rrq3e"ASpdq#:lV$j9r;s7--hlMpn"$j8o^rsTYG.I-s5nc/,k"9dQRrrhjd
+"<?t2rrDTarr_d,"=a6J!`]@+m/IXeh,OS%_#OGps7--hZ31<+q>UZhs8Skt"Mjj5"0r=<QE1&c
+nc/Utj!"UTbfmlYj(8EMZJPTbh.@E<B&iji"2GZTAuP_3.0Kb^ZN#F~>
+_uBu3s8QF/";^%Ms8N3%.K'2JG6A&arr<!$!=Y:WrrV_F*;9R::!DMp!one>p]LX<L?b]:"0r%4
+B)2H/nJ27%pAY6H$j9r5rr\Pi"@DMU&Fof#('GiHs8VBanTP*=fDkg>$ifbes7,CSl8&P_nalbh
+$j8$Zs7,XZs$?hknac\enc/.Ls8VUr"<tYXrr\ns"GZXM".99#ZMFM&R2,p[VuI1@1B[h#+q,nV
+('HG/rr2ugir9JQG6A$t9j^4C9gSskL8b+P,5q_Ns*t~>
+_uBu3s8QF/";^%Ms8N3%.K'2JG6A&arr<!$!=Y:WrrV_F*;9R::!DMp!one>p]LX<L?b]:"0r%4
+B)2H/nJ27%pAY6H$j9r5rr\Pi"@DMU&Fof#('GiHs8VBanTP*=fDkg>$ifbes7,CSl8&P_nalbh
+$j8$Zs7,XZs$?hknac\enc/.Ls8VUr"<tYXrr\ns"GZXM".99#ZMFM&R2,p[VuI1@1B[h#+q,nV
+('HG/rr2ugir9JQG6A$t9j^4C9gSskL8b+P,5q_Ns*t~>
+_uBu3s8QF/";^%Ms8N3%.K'2JG6A&arr<!$!=Y:WrrV_F*;9R::!DMp!one>p]LX<L?b]:"0r%4
+B)2H/nJ27%pAY6H$j9r5rr\Pi"@DMU&Fof#('GiHs8VBanTP*=fDkg>$ifbes7,CSl8&P_nalbh
+$j8$Zs7,XZs$?hknac\enc/.Ls8VUr"<tYXrr]&""GZXM".99#ZMFM&R2,p[VuI1@1B[h#+q,nV
+('HG/rr2ugir9JQG6A$t9j^4C9gSskL8b+P,5q_Ns*t~>
+_#FOE"9]_0f`1sS!%IjG"*XkN_#FB6"9Aq!kPkYSR:]IoAc\4LhZ!f(QA/aY?Y9:E!bR2&WW*b(
+s8TA-":QJ'1H@d%9qZ\M(,L]"QBqH'#Cr4S((<3XLAdDAL3GEV"@DDR!t5;gnbrIjnTPBEfCf.L
+l9YUVh>d$FnbE+dnI,OEqu6au"9e8`rrDTgrsr]E,%$b2R@o;?R<KVj3JRF(#aq!OL1VDLAsrOh
+#FSQp"F'nGnZ)TiZ8q[_!Z[Wuhu<c6AdnD:!I*h.rrX\Q":VU9J,~>
+_#FOE"9]_0f`1sS!%IjG"*XkN_#FB6"9Aq!kPkYSR:]IoAc\4LhZ!f(QA/aY?Y9:E!bR2&WW*b(
+s8TA-":QJ'1H@d%9qZ\M(,L]"QBqH'#Cr4S((<3XLAdDAL3GEV"@DDR!t5;gnbrIjnTPBEfCf.L
+l9YUVh>d$FnbE+dnI,OEqu6au"9e8`rrDTgrsr]E,%$b2R@o;?R<KVj3JRF(#aq!OL1VDLAsrOh
+#FSQp"F'nGnZ)TiZ8q[_!Z[Wuhu<c6AdnD:!I*h.rrX\Q":VU9J,~>
+_#FOE"9]_0f`1sS!%IjG"*XkN_#FB6"9Aq!kPkYSR:]IoAc\4LhZ!f(QA/aY?Y9:E!bR2&WW*b(
+s8TA-":QJ'1H@d%9r)tQ(,L]"QBqH'#Cr4S((<3XLAdDAL3GEV"@DDR!t5;gnbrIjnTPBEfCf.L
+l9YUVh>d$FnbE+dnI,OEqu6au"9e8`rrDTgrsr]E,%$b6RA>SCR<KVj3JRF,#aq!SL1VDLAsrOl
+#FSQp"F'nGnZ)TiZ8q[_!Z[Wuhu<c6AdnD:!I*h.rrX\Q":VU9J,~>
+_#FOE"9]_0f`1sS!%IjG"*XkN_#FB6"9Aps[/^0rq>UHbW;ctis7)cQ"995/"98l)"9:IIrsTYG
+,0\mCnc.Wn('N[jrrhk(*%B_CrrDTarse!."?GNBn`oE09`tUhn,ECXrr3"C%/0l*$l8(1":PD9
+GO_X3%.V-$bd+Oi^p:bK_!9eV%HEadJ=rQiGCZ?ZGB^j$rr=MI"LA&X~>
+_#FOE"9]_0f`1sS!%IjG"*XkN_#FB6"9Aps[/^0rq>UHbW;ctis7)cQ"995/"98l)"9:IIrsTYG
+,0\mCnc.Wn('N[jrrhk(*%B_CrrDTarse!."?GNBn`oE09`tUhn,ECXrr3"C%/0l*$l8(1":PD9
+GO_X3%.V-$bd+Oi^p:bK_!9eV%HEadJ=rQiGCZ?ZGB^j$rr=MI"LA&X~>
+_#FOE"9]_0f`1sS!%IjG"*XkN_#FB6"9Aps[/^0rq>UHbW;ctis7)oU"995/"98l)"9:IIrsTYG
+,0\mCnc.Wn('N[jrrhk(*%B_CrrDTarse!."?GNBn`oE09`tUhn,ECXrr3"C%/0l*$l8(1":PD9
+GO_X3%.V-$bd+Oi^p:bO_!9eV%HEadJ>AuqGCZKbGB^j$rr=MI"LA&X~>
+_uBu3s8QF/"<?ISs8N3%.K'2JG6A&arr<!$!=Y:Ors.iZnc/.LlKWs#p\t?$"9`?4rrq!u(/<iZ
+q#:K4+r4e\r;Qrjj(8Ds6L+RW*!?C)*#9;6+q3lB"!S]f%/9r++rpRb!%Ijd"$$bm%.!p0l;[ri
+.:6(A?WCH"3<TI/3C5_m3C5_mr`'Iq"9^MI69.@m69.%A"9aI[s8VWXrrDTDrrDS`rrXGJ":VU9
+J,~>
+_uBu3s8QF/"<?ISs8N3%.K'2JG6A&arr<!$!=Y:Ors.iZnc/.LlKWs#p\t?$"9`?4rrq!u(/<iZ
+q#:K4+r4e\r;Qrjj(8Ds6L+RW*!?C)*#9;6+q3lB"!S]f%/9r++rpRb!%Ijd"$$bm%.!p0l;[ri
+.:6(A?WCH"3<TI/3C5_m3C5_mr`'Iq"9^MI69.@m69.%A"9aI[s8VWXrrDTDrrDS`rrXGJ":VU9
+J,~>
+_uBu3s8QF/"<?ISs8N3%.K'2JG6A&arr<!$!=Y:Ors.iZnc/.LlKWs#p\t?$"9`?4rrq!u(/<iZ
+q#:K4+r4e\r;Qrjj(8Ds6L+RW*!?C)*#9;6+q3lB"!S]f%/9r++rpRb!%Ijd"$$bm%.!p0l;[ri
+.:6(A?WCH"3<TI/3C5_m3C5_mr`'Iq"9^MI69.@m69.%A"9aI[s8VWXrrDTDrrDS`rrXGJ":VU9
+J,~>
+_#FOE"9]M*f`1sS!%IjG"*XkN_#FB6"9ApsWW3"gVuHk7"9`?4rr_9i"AS^ls7$[#bR=V]s8VWh
+s7--h^^L?4mJd:Ys8On<"99G3"98l)"9B;.mJd@[h,OS%_#"'5Z31;upAY5f"9c%+rs!uV"IB)f
+nYH3bnH/a\n^[X>nY6$c.0Kb^ZN#F~>
+_#FOE"9]M*f`1sS!%IjG"*XkN_#FB6"9ApsWW3"gVuHk7"9`?4rr_9i"AS^ls7$[#bR=V]s8VWh
+s7--h^^L?4mJd:Ys8On<"99G3"98l)"9B;.mJd@[h,OS%_#"'5Z31;upAY5f"9c%+rs!uV"IB)f
+nYH3bnH/a\n^[X>nY6$c.0Kb^ZN#F~>
+_#FOE"9]M*f`1sS!%IjG"*XkN_#FB6"9ApsWW3"gVuHk7"9`?4rr_9i"AS^ls7$[#bR=V]s8VWh
+s7--h^^L?4mJd:Ys8On<"99G3"98l)"9B;.mJd@[h,OS%_#"'5Z31;upAY5j"9c%+rs!uV"IB)f
+nYH3bnH/a\n^[X>nY6$c.0Kb^ZN#F~>
+_#FOE"9^a:g&D0>('H)arr[HJ"Mk$:rr`?BQGWY%nc&Ognb`=dna-;UnbrIfnbrIfnc&Rgn_aBH
+nc&RgnbN1bnc&Ojnc/XZqYpiWs8TkC"ARqHrVm&ks5OLj:%nShf+nKhr;Quks8RfV"?GcIrr`<;
+r:'sjAcr7\s7Ysbs!\'Rrp^!Rp[JCO"9^1RrUC!i63IGWrt)sp"9csKs7--Zs8TA5"D72urr[uY
+"L@n("mSeb"GZIErrDT\rrDTUs8VThlMUY`n`oZ?rs/)on`oZEs7-'fs7-*gs7,scrpg$g!:g'g
+s7-*gs7-!drpfpd!:g'grpfse!:fX[s7-*g!qGRGqu6`fs8W&frVllfrr2ugqZ$Tcqu6]^nbN1b
+nac\\n`p,Rs7,sc!:fsds7$0jnMC.IZN#F~>
+_#FOE"9^a:g&D0>('H)arr[HJ"Mk$:rr`?BQGWY%nc&Ognb`=dna-;UnbrIfnbrIfnc&Rgn_aBH
+nc&RgnbN1bnc&Ojnc/XZqYpiWs8TkC"ARqHrVm&ks5OLj:%nShf+nKhr;Quks8RfV"?GcIrr`<;
+r:'sjAcr7\s7Ysbs!\'Rrp^!Rp[JCO"9^1RrUC!i63IGWrt)sp"9csKs7--Zs8TA5"D72urr[uY
+"L@n("mSeb"GZIErrDT\rrDTUs8VThlMUY`n`oZ?rs/)on`oZEs7-'fs7-*gs7,scrpg$g!:g'g
+s7-*gs7-!drpfpd!:g'grpfse!:fX[s7-*g!qGRGqu6`fs8W&frVllfrr2ugqZ$Tcqu6]^nbN1b
+nac\\n`p,Rs7,sc!:fsds7$0jnMC.IZN#F~>
+_#FOE"9^a:g&D0>('H)arr[HJ"Mk$:rr`?BQGWY%nc&Ognb`=dna-;UnbrIfnbrIfnc&Rgn_aBH
+nc&RgnbN1bnc&Ojnc/XZqYpiWs8TkC"ARqHrVm&ks5OLj:%nShf+nKhr;Quks8RfV"?GcIrr`<;
+r:'sjAcr7\s7Ysbs!\'Rrp^!Rp[JCO"9^1RrUC!i63IGWrt)sp"9csKs7--Zs8TA5"D72urr[uY
+"L@n("mSeb"GZIErrDT\rrDTUs8VThlMUY`n`oZ?rs/)on`oZEs7-'fs7-*gs7,scrpg$g!:g'g
+s7-*gs7-!drpfpd!:g'grpfse!:fX[s7-*g!qGRGqu6`fs8W&frVllfrr2ugqZ$Tcqu6]^nbN1b
+nac\\n`p,Rs7,sc!:fsds7$0jnMC.IZN#F~>
+_uC&5s8QF/">aYUQMuU=JGt9)QC40?L(9WETU)7VTU(=eQCsP3T`27qR0Kt4^mQAL.K'2JG6A&a
+rr;s#!FO(KrrqrKh=9d^JcFF'"2H)`B)2H/f*hd^pAY6=$j9r5rr\Pq"@DDRrr`<;qu6bB"9d?K
+rrOVP"S2Tm"99nJrrPLi"RH(!^aTBh_#OH"s7--hZ4$kdnb<%cQ37>YqYp]gL'/9bjo5>Nhu<]H
+mJd1VnG`LYrVllf`r?&/a8Z/0o`#'Z63IE"ZN#F~>
+_uC&5s8QF/">aYUQMuU=JGt9)QC40?L(9WETU)7VTU(=eQCsP3T`27qR0Kt4^mQAL.K'2JG6A&a
+rr;s#!FO(KrrqrKh=9d^JcFF'"2H)`B)2H/f*hd^pAY6=$j9r5rr\Pq"@DDRrr`<;qu6bB"9d?K
+rrOVP"S2Tm"99nJrrPLi"RH(!^aTBh_#OH"s7--hZ4$kdnb<%cQ37>YqYp]gL'/9bjo5>Nhu<]H
+mJd1VnG`LYrVllf`r?&/a8Z/0o`#'Z63IE"ZN#F~>
+_uC&5s8QF/">aYUQMuU=JGt9)QC40?L(9WIUm@g^Um?aiQDBh7V#I[uR0Kt4^mQAL.K'2JG6A&a
+rr;s#!FO(KrrqrKh=9d^JcFF'"2H)`B)2H/f*hd^pAY6=$j9r5rr\Pq"@DDRrr`<;qu6bB"9d?K
+rrOVP"S2Tm"99nJrrPLi"RH(!^aTBh_#OH"s7--hZ4$kdnb<%cQ37>YqYp]gL'/9fjo5>Nhu<]H
+mJd1VnG`LYrVllf`r?&/a8Z/0o`#'Z63IE"ZN#F~>
+_#FIC":X]$!t5;@*:X13*!@Go"9^1Orr[HJ"Mk$:rWEH7*%<='?WB,a*!mf<6;9d59f"4Sr[Ik'
+$99mu9j^UN1H@cgrAj^1!\#olr_3e]1H@c^1G_$X69.&#rB_ti3B8N;3DDgh3E8d03E9'G69-hX
+68LV^1FY+H9gUir1I=Dg.7.$7694cr"%#^V3W1`;3DDh76:1N)#Uqc#3AWZU1HGFj!'1!E"Z\"f
+6:*^31B9H6644tt9fW=Z?h+0rlK\BK"3^lN:&b1hnHAm9"9`*1rrDTgrr[cS"@DDRrr`<;qu6bB
+"9d?KrrOtZ"TJE$nb<%cnH8tDqu6^a"9e&j"McGh"Mk!9#4_`nTEGC`q>UZas8SAf"L@k'"ITAq
+<HnFS#%(Ab^qb\Tqm$d+QC4D]^tmhufCA.3L6fXFrr2ugkl1YJq>UHbV#LGbkl1YQdf0I?G6A$W
+ZN#F~>
+_#FIC":X]$!t5;@*:X13*!@Go"9^1Orr[HJ"Mk$:rWEH7*%<='?WB,a*!mf<6;9d59f"4Sr[Ik'
+$99mu9j^UN1H@cgrAj^1!\#olr_3e]1H@c^1G_$X69.&#rB_ti3B8N;3DDgh3E8d03E9'G69-hX
+68LV^1FY+H9gUir1I=Dg.7.$7694cr"%#^V3W1`;3DDh76:1N)#Uqc#3AWZU1HGFj!'1!E"Z\"f
+6:*^31B9H6644tt9fW=Z?h+0rlK\BK"3^lN:&b1hnHAm9"9`*1rrDTgrr[cS"@DDRrr`<;qu6bB
+"9d?KrrOtZ"TJE$nb<%cnH8tDqu6^a"9e&j"McGh"Mk!9#4_`nTEGC`q>UZas8SAf"L@k'"ITAq
+<HnFS#%(Ab^qb\Tqm$d+QC4D]^tmhufCA.3L6fXFrr2ugkl1YJq>UHbV#LGbkl1YQdf0I?G6A$W
+ZN#F~>
+_#FIC":X]$!t5;@*:X13*!@Go"9^1Orr[HJ"Mk$:rWEH7*%<='?WB,a*!mf<6;9d59f"4Sr[Ik'
+$99mu9j^UN1H@cgrAj^1!\#olr_3e]1H@c^1G_$X69.&#rB_ti3B8N;3DDgh3E8d03E9'G69-hX
+68LV^1FY+H9gUir1I=Dg.7.$7694cr"%#^V3W1`;3DDh76:1N)#Uqc#3AWZU1HGFj!'1!E"Z\"f
+6:*^31B9H6644tt9fW=Z?h+0rlK\BK"3^lN:&b1hnHAm9"9`*1rrDTgrr[cS"@DDRrr`<;qu6bB
+"9d?KrrOtZ"TJE$nb<%cnH8tDqu6^a"9e&j"McGh"Mk!9#4_`nU]^gdq>UZas8SAf"L@k'"ITAq
+<HnFS#%(Ab^qb\Tqm$d/QC4Pa^tmhufCA.3L6fXFrr2ugkl1YJq>UHbV#LGbkl1YQdf0I?G6A$W
+ZN#F~>
+_#FIC":Y&.$Oe4>9iV<3.61a%%/g;5(*";0.3]3""9C;-r<*63('Fahr;QkC"9cO>rr`HK"9].M
+"98l%"98k%"99G@"9<'0rrh-t"AS1UrrgOc"BFaarrhk9"9^aMs8N3%(An+6G6A'#o`"tA"9e`(
+!:fg`"7ZKs.Js,H63IGWrs$7f"9cO?s8M<`rr]P0"GZmF!<<#fs8N4V"9c%1rp^9onaYmg"9]JK
+qZHm-qZHm-p]L^."9],AJHYNH!"?C@ZN#F~>
+_#FIC":Y&.$Oe4>9iV<3.61a%%/g;5(*";0.3]3""9C;-r<*63('Fahr;QkC"9cO>rr`HK"9].M
+"98l%"98k%"99G@"9<'0rrh-t"AS1UrrgOc"BFaarrhk9"9^aMs8N3%(An+6G6A'#o`"tA"9e`(
+!:fg`"7ZKs.Js,H63IGWrs$7f"9cO?s8M<`rr]P0"GZmF!<<#fs8N4V"9c%1rp^9onaYmg"9]JK
+qZHm-qZHm-p]L^."9],AJHYNH!"?C@ZN#F~>
+_#FIC":Y&.$Oe4>9iV<3.61a%%/g;5(*";0.3]3""9C;-r<*63('Fahr;QkC"9cO>rr`HK"9].M
+"98l%"98k%"99G@"9<'0rrh-t"AS1UrrgOc"BFaarrhk9"9^aMs8N3%(An+6G6A'#o`"tA"9e`(
+!:fg`"7ZKs.Js,H63IGWrs$7f"9cO?s8M<`rr]P0"GZmF!<<#fs8N4V"9c%1rp^9onaYmg"9]JK
+qZHm-qZHm-p]L^."9],AJHYNH!"?C@ZN#F~>
+_#G?\":R):TX'uYG6A=7RHjhPTYTUQn_Ids.<iT,bQu#9^kOW\9u,BZZ37tK3<Uf/rr[HJ"Mk$:
+rrak]6AD/!R=I:+,(QtlQBn23?OR]^TUD4@TUD4@R?hG/$n5e]ZC,o'*"4:%qOg0CJ27<JAso<b
+R@q?]9ahFjL7jj#ZBgfLTR]?K"<9EA+u9W1(+FI#QA2]2QC4D3?Qp\+ZEfmkZBhe..3(-UTX+Ee
+#_4]6":Q%S.3/<i!],%gqOf1@L-c;)L9d55R@osu65DA$^p993TU)7VQ<tgO(7DI_L)^U)*'*q/
+"^cIc"9]_DB)c6<B)c3DAp7Sb"<qH%GQ)1XG?#Uc"@DDRrr`<;qu6bB"9dQQrrOVP"S2Tm"99nJ
+rrPLi"RH'j^aTZp_#+-8lC\Og.Gak#s69aeR1'4kqYp]g1B[ghqud!.h?3foquls,o`P7'hZNof
+jTGSm(;9nO(AS(5%/^5.%,h<h%'on`~>
+_#G?\":R):TX'uYG6A=7RHjhPTYTUQn_Ids.<iT,bQu#9^kOW\9u,BZZ37tK3<Uf/rr[HJ"Mk$:
+rrak]6AD/!R=I:+,(QtlQBn23?OR]^TUD4@TUD4@R?hG/$n5e]ZC,o'*"4:%qOg0CJ27<JAso<b
+R@q?]9ahFjL7jj#ZBgfLTR]?K"<9EA+u9W1(+FI#QA2]2QC4D3?Qp\+ZEfmkZBhe..3(-UTX+Ee
+#_4]6":Q%S.3/<i!],%gqOf1@L-c;)L9d55R@osu65DA$^p993TU)7VQ<tgO(7DI_L)^U)*'*q/
+"^cIc"9]_DB)c6<B)c3DAp7Sb"<qH%GQ)1XG?#Uc"@DDRrr`<;qu6bB"9dQQrrOVP"S2Tm"99nJ
+rrPLi"RH'j^aTZp_#+-8lC\Og.Gak#s69aeR1'4kqYp]g1B[ghqud!.h?3foquls,o`P7'hZNof
+jTGSm(;9nO(AS(5%/^5.%,h<h%'on`~>
+_#G?\":R):Up?DaG6A=7RHjhPUql$Un_Ids.<iT,bQu#9^kOW\9u,BZZ37tK3<Uf/rr[HJ"Mk$:
+rrak]6AD;%R=I:+,(QtpQBn>7?OR]^Um[XHUm[XHR?hG/$n5eaZC,o'*"4:%qP6HGJ27<JAsoHj
+RA@Wa9ahFjL8:-'ZBgfPUjtcO"<9EA+u9W1(+FI'QA2]2QC4P7?Qp\+ZEfmoZBhe..3(-UUpBim
+#_4]6":Q%S.3/<i!],%gqP5IDL-c;)L9d55RA?7$65DA$^p993Um@g^Q<tgO(7DI_L)^U)*'*q/
+"^cIc"9]_DB)c6<B)c3DAp7Sb"<qH%GQ)1XG?#Uc"@DDRrr`<;qu6bB"9dQQrrOVP"S2Tm"99nJ
+rrPLi"RH'j^aTZp_#+-8lD+gk.Gak#s69aeR1'4oqYp]g1B[ghqud!.h?3foquls,o`P7'hZNof
+jTGSm(;9nO(AS(5%/^5.%,h<h%'on`~>
+_#FOE"9^O:rVm&:"9]^4nbN1fR2cusnb`=hZ6BEOlMLS`nJhZ\r;QkC"9cO>s8N3&(5Def"S$(,
+,2N.r".9Q+ZM4A%R2c>i_#F?:lBWk%3V`UWh(o0BT_n`lh,OR\GPM1@j&H42j8Ju\Q50TPZM=G%
+Q517%qYp](*!B![q#:f=3<U+PfBVnM63IEkh>%!Ql8\tefDGRNj(8E<_"n!5l@99G"TJE%h)Y*1
+!Xo2Io`P=3$k2k5!(-)Q"nDWm$j7":h$)hN"9c$jptZ8.h;]pe"QS=ofD+/*j4=D:.I-og"P<0(
+"9e&j&AT^t">_J8":Q7i$lfBQ$k3"9#Rh[]+sI-m1D]ijrsTJB$t$gMs4:T\.G+V"h>dNFnc&Rg
+((=3Yj8]/>h>cbP"=^YQrt"YOAdee^QJM)eR8jM49u-W*&b4J-+rkgls6B.Ss7*mK,%f'unK7&d
+s8V,p9ah.\Am\PMAg/3hZKhJ[lLFoSn]Z2$"P<PN#P!Nt*/<bYh>?^Qs-Wum*$QgU.4GB&,%&.U
+q>UR#(1tABrr32f^f:L?3R%=!"QQ.L('OU\s!\'d"<;XGqYpc[L)'n-JE-Y!#QNhi9dqlKfDb:M
+lLFoSj.JC@$o9(`.3]3!"LA&X~>
+_#FOE"9^O:rVm&:"9]^4nbN1fR2cusnb`=hZ6BEOlMLS`nJhZ\r;QkC"9cO>s8N3&(5Def"S$(,
+,2N.r".9Q+ZM4A%R2c>i_#F?:lBWk%3V`UWh(o0BT_n`lh,OR\GPM1@j&H42j8Ju\Q50TPZM=G%
+Q517%qYp](*!B![q#:f=3<U+PfBVnM63IEkh>%!Ql8\tefDGRNj(8E<_"n!5l@99G"TJE%h)Y*1
+!Xo2Io`P=3$k2k5!(-)Q"nDWm$j7":h$)hN"9c$jptZ8.h;]pe"QS=ofD+/*j4=D:.I-og"P<0(
+"9e&j&AT^t">_J8":Q7i$lfBQ$k3"9#Rh[]+sI-m1D]ijrsTJB$t$gMs4:T\.G+V"h>dNFnc&Rg
+((=3Yj8]/>h>cbP"=^YQrt"YOAdee^QJM)eR8jM49u-W*&b4J-+rkgls6B.Ss7*mK,%f'unK7&d
+s8V,p9ah.\Am\PMAg/3hZKhJ[lLFoSn]Z2$"P<PN#P!Nt*/<bYh>?^Qs-Wum*$QgU.4GB&,%&.U
+q>UR#(1tABrr32f^f:L?3R%=!"QQ.L('OU\s!\'d"<;XGqYpc[L)'n-JE-Y!#QNhi9dqlKfDb:M
+lLFoSj.JC@$o9(`.3]3!"LA&X~>
+_#FOE"9^O:rVm&:"9]^4nbN1fR2cusnb`=hZ6BEOlMLS`nJhZ\r;QkC"9cO>s8N3&(5Def"S$(,
+,2N.r".9Q+ZM4A%R2c>i_#F?:lBWk%3V`UWh(o0BV#1/ph,OR\GPM1@j&H42j8Ju\Q50TPZM=G%
+Q517%qYp](*!B![q#:f=3<U+PfBVnM63IEkh>%!Ql8\tefDGRNj(8E<_"n!5l@99G"TJE%h)Y*1
+!Xo2Io`P=3$k2k5!(-)Q"nDWm$j7":h$)hN"9c$jptZ8.h;]pe"QS=ofD+/*j4=D:.I-og"P<0(
+"9e&j&AT^t">_J8":Q7i$lfBQ$k3"9#Rh[]+sI-m1D]ijrsTJB$t$gMs4:T\.G+V"h>dNFnc&Rg
+((=3Yj8]/>h>cbP"=^YQrt"YOAdee^QJM)eR8jM49u-W*&b4J-+rkgls6B.Ss7*mK,%f'unK7&d
+s8V,p9ah.\Am\PMAg/3hZKhJ[lLFoSn]Z2$"P<PN#P!Nt*/<bYh>?^Qs-Wum*$QgU.4GB&,%&.U
+q>UR#(1tABrr32f^f:L?3R%=!"QQ:P('OU\s!\'d"<;XGqYpc[L)'n-JE-Y!#QNhi9dqlKfDb:M
+lLFoSj.n[D$o9(`.3]3!"LA&X~>
+_uBi/s8QI*"TJE&nc,oo"9>b&rs#,!"IB)fnbrIinH8thq>^Ht!%IjG"*XkN_#FB5"9:ddrrPmt
+"TJE$nc&OjR03Ycq#:fuG6A%Cj8\ZLs7$3p3VWRQ"9<uKrrX5D"D7Q2!:g'g!]'r^r;Qnc"9^Nr
+qu6rls8SJi"I];[r;Ql7"9`?2rrCmS"9=2TrrXGJ":Y#(!Xo27r;R&ms8Q(%"R?$WqYpYc*!?EC
+rrD*T":5JP.4GZ.(.(=rq?6g6rr`B3.1GtS!(-)Q"7cEk1ZnlB*!?]A"98l)"995'rrh.P"9]qF
+"9TDB":Xu,!u;"B%/C#/('Fb?fDbdP.0Ke=p\t:1"9eQ#"'#I,nbE+aB)Vo5lM^_cf*DL!ZM=G%
+h#mjmq>^Ht!(-G[rWE4Ur;Qjn"9dc[rrZj9"PrqS"0r%4RJ6^`TEGD'r;Za!!(-G[rr`<GqYpOq
+rWMuq"3_M`"T89%Z31<'q#:?0rWE4orr3)js8VB`"9<Z@rr_co"ASgo!*/t#ZN#F~>
+_uBi/s8QI*"TJE&nc,oo"9>b&rs#,!"IB)fnbrIinH8thq>^Ht!%IjG"*XkN_#FB5"9:ddrrPmt
+"TJE$nc&OjR03Ycq#:fuG6A%Cj8\ZLs7$3p3VWRQ"9<uKrrX5D"D7Q2!:g'g!]'r^r;Qnc"9^Nr
+qu6rls8SJi"I];[r;Ql7"9`?2rrCmS"9=2TrrXGJ":Y#(!Xo27r;R&ms8Q(%"R?$WqYpYc*!?EC
+rrD*T":5JP.4GZ.(.(=rq?6g6rr`B3.1GtS!(-)Q"7cEk1ZnlB*!?]A"98l)"995'rrh.P"9]qF
+"9TDB":Xu,!u;"B%/C#/('Fb?fDbdP.0Ke=p\t:1"9eQ#"'#I,nbE+aB)Vo5lM^_cf*DL!ZM=G%
+h#mjmq>^Ht!(-G[rWE4Ur;Qjn"9dc[rrZj9"PrqS"0r%4RJ6^`TEGD'r;Za!!(-G[rr`<GqYpOq
+rWMuq"3_M`"T89%Z31<'q#:?0rWE4orr3)js8VB`"9<Z@rr_co"ASgo!*/t#ZN#F~>
+_uBi/s8QI*"TJE&nc,oo"9>b&rs#8%"IB)fnbrIinH8thq>^Ht!%IjG"*XkN_#FB5"9:ddrrPmt
+"TJE$nc&OjR03Ygq#:fuG6A%Cj8\ZLs7$3p3VWRQ"9<uKrrX5D"D7Q2!:g'g!]'r^r;Qnc"9^Nr
+qu6rls8SJi"I];[r;Ql7"9`?2rrCmS"9=2TrrXGJ":Y#(!Xo27r;R&ms8Q(%"R?$WqYpYc*!?EC
+rrD*T":5JP.4GZ.(.(=rq?6g6rr`B3.1GtS!(-)Q"7cEk1ZnlB*!?]A"98l)"995'rrh.P"9]qF
+"9TDB":Xu,!u;"B%/C#/('Fb?fDbdP.0Ke=p\t:1"9eQ#"'#I,nbE+aB)Vo5lM^_cf*DL!ZM=G%
+h#mjmq>^Ht!(-G[rWE4Ur;Qjn"9dc[rrZj9"PrqS"0r%4RJ6^`U]^h+r;Za!!(-G[rr`<GqYpOq
+rWMuq"3_M`"T89%Z31<+q#:?0rWE4srr3)js8VB`"9<Z@rr_co"ASgo!*/t#ZN#F~>
+_#FCArWN6#!qH;rrWE5,q#:Pk"9b%js7-'f"7ZKs<Vc[p"99nKrr[HJ"Mk$:rWE3qr;Qgb"9e`(
+!:g'g".98pT_SNrpj`JM:#l9Ds8V?e"?H5VrWE4UqYpXA"9`rCrrOtZ"T89&Q37=WfDGRPnc/WW
+"9b.lrrDTgrr^%>"CLp'!8[VW!/CIP"!RjN%/0]&('Fd9rrlC*"R?$WqYpYc*!?ECrrq!W"AR+a
+rn%2+#P#)K"@BoafD<8enZj,C<P[5abQP4`('HY_rrX#>"@E):s#C&po`P@4$l09N"9gS1*$Q.6
+q?.9a+p8#W3AW*.,#&gU"R>@R(#r"(*2(*_bh'/Vf9QOJJABCEbeVI%^_tb>J/fP@^s'U<^s($.
+*!?D!s8V-Z.0Ke=p\t:1":Y,+"'#I,lM1AZB)Vo5lM^_cbQn>3bP;)>f)u4gq>^Ht!(-G[rWE4F
+rVm,m3<TKFs8VWdrrZj9"PrqS"/#c"RJ6^`TEGCcr;Za!!(-G[rr`<XqYpOqrWMuq"3_M`"T89%
+TEGCcq#:?"rWE4orr3)js8V-Y"9<Z@rr_Nh"@E%d!)<Fq!"?15J,~>
+_#FCArWN6#!qH;rrWE5,q#:Pk"9b%js7-'f"7ZKs<Vc[p"99nKrr[HJ"Mk$:rWE3qr;Qgb"9e`(
+!:g'g".98pT_SNrpj`JM:#l9Ds8V?e"?H5VrWE4UqYpXA"9`rCrrOtZ"T89&Q37=WfDGRPnc/WW
+"9b.lrrDTgrr^%>"CLp'!8[VW!/CIP"!RjN%/0]&('Fd9rrlC*"R?$WqYpYc*!?ECrrq!W"AR+a
+rn%2+#P#)K"@BoafD<8enZj,C<P[5abQP4`('HY_rrX#>"@E):s#C&po`P@4$l09N"9gS1*$Q.6
+q?.9a+p8#W3AW*.,#&gU"R>@R(#r"(*2(*_bh'/Vf9QOJJABCEbeVI%^_tb>J/fP@^s'U<^s($.
+*!?D!s8V-Z.0Ke=p\t:1":Y,+"'#I,lM1AZB)Vo5lM^_cbQn>3bP;)>f)u4gq>^Ht!(-G[rWE4F
+rVm,m3<TKFs8VWdrrZj9"PrqS"/#c"RJ6^`TEGCcr;Za!!(-G[rr`<XqYpOqrWMuq"3_M`"T89%
+TEGCcq#:?"rWE4orr3)js8V-Y"9<Z@rr_Nh"@E%d!)<Fq!"?15J,~>
+_#FCArWN6#!qH;rrWE5,q#:Po"9b%js7-'f"7ZKs<Vc[p"99nKrr[HJ"Mk$:rWE3qr;Qgb"9e`(
+!:g'g".98pV"js!pj`JM:#l9Ds8V?e"?H5VrWE4UqYpXA"9`rCrrOtZ"T89&Q37=WfDGRPnc/WW
+"9b.lrrDTgrr^%>"CLp'!8[VW!/CIP"!RjN%/0]&('Fd9rrlC*"R?$WqYpYc*!?ECrrq!W"AR+a
+rn%2+#P#)K"@BoafD<8enZj,C<P[5abQP4`('HY_rrX#>"@E):s#C&po`P@4$l09N"9gS1*$Q.6
+q?.9a+p8#W3AW*.,#&gU"R>@R(#r"(*2LBcbh'/Vf9QOJJABCEbeVI%^_tb>J/fP@^s'U<^s($.
+*!?D!s8V-Z.0Ke=p\t:1":Y,+"'#I,lM1AZB)Vo5lM^_cbQn>3bP;)>f)u4gq>^Ht!(-G[rWE4F
+rVm,m3<TKFs8VWdrrZj9"PrqS"/H&&RJ6^`U]^ggr;Za!!(-G[rr`<XqYpOqrWMuq"3_M`"T89%
+U]^ggq#:?"rWE4srr3)js8V-Y"9<Z@rr_Nh"@E%d!)<Fq!"?15J,~>
+_#FCArWEDps8VWhZMjt,T_SNkZ31;rs8VWfrr_co"BG9trr`<Nr;QtF"9cO?nc/Rk!)<Ck!_ie#
+qYpYc"9bCmrseLK"9_HZs7--hl3%5Mp](3q!1*K]"!RjNJG9'F1B[jYrs"bl"@CrEq"k!mR03Y\
+qYpZ5"9`*+rrCmS"9=2TrrX\Q":Y#(!YtnAq>UUu"9e#inbW7fZ5`uMrVluO"9`?4rr_9s"ASUi
+"4n:k?hs^(R2,ollMgu&"<uIXrr3,]G74W7o`#/.(+J)>nc/.Srse!.">f*<s6AY09`tUam/I4E
+63I_4rVm)ls8TA-%&!=o".98pRJHjjR1'41nc/.Z.0Ke=p\t:1"9eQ#"'#I,lM1AZB)Vo5j8Ju\
+^]Xp;bkV2?f)u4gq>^Ht!(-G[rWEXRs8VWhl8\tMh>dNFqu6b1"9dQWrr\ns"I]#a"/#c"RJd*a
+"9:d_s8N3%.Jj&E<W3-qrr^Ib"9eZ&"/#c"RJ?d^ZMjt,RK!3gnc/XLrWE45q#:H]"9_'hrr>dl
+"LA&X~>
+_#FCArWEDps8VWhZMjt,T_SNkZ31;rs8VWfrr_co"BG9trr`<Nr;QtF"9cO?nc/Rk!)<Ck!_ie#
+qYpYc"9bCmrseLK"9_HZs7--hl3%5Mp](3q!1*K]"!RjNJG9'F1B[jYrs"bl"@CrEq"k!mR03Y\
+qYpZ5"9`*+rrCmS"9=2TrrX\Q":Y#(!YtnAq>UUu"9e#inbW7fZ5`uMrVluO"9`?4rr_9s"ASUi
+"4n:k?hs^(R2,ollMgu&"<uIXrr3,]G74W7o`#/.(+J)>nc/.Srse!.">f*<s6AY09`tUam/I4E
+63I_4rVm)ls8TA-%&!=o".98pRJHjjR1'41nc/.Z.0Ke=p\t:1"9eQ#"'#I,lM1AZB)Vo5j8Ju\
+^]Xp;bkV2?f)u4gq>^Ht!(-G[rWEXRs8VWhl8\tMh>dNFqu6b1"9dQWrr\ns"I]#a"/#c"RJd*a
+"9:d_s8N3%.Jj&E<W3-qrr^Ib"9eZ&"/#c"RJ?d^ZMjt,RK!3gnc/XLrWE45q#:H]"9_'hrr>dl
+"LA&X~>
+_#FCArWEDps8VWhZMjt,V"jroZ31;rs8VWfrr_co"BG9trr`<Nr;QtF"9cO?nc/Rk!)<Ck!_ie#
+qYpYc"9bOqrseLK"9_HZs7--hl3%5Mp](3q!1*K]"!RjNJG9'F1B[jYrs"bl"@CrEq"k!mR03Y\
+qYpZ5"9`*+rrCmS"9=2TrrX\Q":Y#(!YtnAq>UUu"9e#inbW7fZ5`uMrVluO"9`?4rr_9s"ASUi
+"4n:k?hs^(R2,ollMgu&"<uIXrr3,]G74W7o`#/.(+J)>nc/.Srse!.">f*<s6AY09`tUam/I4E
+63I_4rVm)ls8TA-%&EUs".98pRJHjjR1'41nc/.Z.0Ke=p\t:1"9eQ#"'#I,lM1AZB)Vo5j8Ju\
+^]Xp;bkV2?f)u4gq>^Ht!(-G[rWEXRs8VWhl8\tMh>dNFqu6b1"9dQWrr]&""I]#a"/H&&RJd*a
+"9:d_s8N3%.Jj&E<W3-qrr^Ib"9eZ&"/H&&RJ?d^ZMjt,RK!3gnc/XLrWE45q#:H]"9_'hrr>dl
+"LA&X~>
+_uBi/s8QI*"9n>qs7-,prWE5,q#:Pk"9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"Mk$:rWE3fr;Qgm
+"9e`(!:g'g".98pT_SNrnTP*=:#5j>s8V?e"?H5VrWE4UqYpX;"9a8PrrDTgrrOtZ"T89&Q37=W
+fDGRPnc/WW"9b.hrr^%>"D7E.!8[VW!/CIP"!RjN%/0]&$j6_2rs8/ps&B1)lMpDNrr]PN"9e]'
+"4mYY?hs^(h#mjIpAY6=('J7Frr]PB"@DDR!u;#"nbrIjnTPBEfD#:Pnc.l@"9csKnc/.Rs8N3%
+.Js,I?N^N%m/I4E9`tmKqYpZ'":VU0rr\Yl%)D]="0r=<LAh,S.0Ke=p\t:1"9eQ#"'#I,lM1AZ
+B)Vo5j8Ju\b6.r7bP;)>f)u4gqYpZf"9_'cs8E-0GQ7^5s6;TI"Ps+Xnb`=gAcr7mqYpbm"9b.m
+s7,sc"/#c"RJd*a"9:d_s8N3%.Jj&E<W3-qrr^Ib"9eZ&"/#c"RJ?d^ZMjt,RK!3glMpnErWE45
+q#:Zc"9_'knaZYZ:&P4#s*t~>
+_uBi/s8QI*"9n>qs7-,prWE5,q#:Pk"9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"Mk$:rWE3fr;Qgm
+"9e`(!:g'g".98pT_SNrnTP*=:#5j>s8V?e"?H5VrWE4UqYpX;"9a8PrrDTgrrOtZ"T89&Q37=W
+fDGRPnc/WW"9b.hrr^%>"D7E.!8[VW!/CIP"!RjN%/0]&$j6_2rs8/ps&B1)lMpDNrr]PN"9e]'
+"4mYY?hs^(h#mjIpAY6=('J7Frr]PB"@DDR!u;#"nbrIjnTPBEfD#:Pnc.l@"9csKnc/.Rs8N3%
+.Js,I?N^N%m/I4E9`tmKqYpZ'":VU0rr\Yl%)D]="0r=<LAh,S.0Ke=p\t:1"9eQ#"'#I,lM1AZ
+B)Vo5j8Ju\b6.r7bP;)>f)u4gqYpZf"9_'cs8E-0GQ7^5s6;TI"Ps+Xnb`=gAcr7mqYpbm"9b.m
+s7,sc"/#c"RJd*a"9:d_s8N3%.Jj&E<W3-qrr^Ib"9eZ&"/#c"RJ?d^ZMjt,RK!3glMpnErWE45
+q#:Zc"9_'knaZYZ:&P4#s*t~>
+_uBi/s8QI*"9n>qs7-,prWE5,q#:Po"9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"Mk$:rWE3fr;Qgm
+"9e`(!:g'g".98pV"js!nTP*=:#5j>s8V?e"?H5VrWE4UqYpX;"9a8PrrDTgrrOtZ"T89&Q37=W
+fDGRPnc/WW"9b.hrr^%>"D7E.!8[VW!/CIP"!RjN%/0]&$j6_2rs8/ps&B1)lMpDNrr]PN"9e]'
+"4mYY?hs^(h#mjIpAY6=('J7Frr]PB"@DDR!u;#"nbrIjnTPBEfD#:Pnc.l@"9csKnc/.Rs8N3%
+.Js,I?N^N%m/I4E9`tmKqYpZ'":VU0rr\Yl%)D]="0r=<LAh,S.0Ke=p\t:1"9eQ#"'#I,lM1AZ
+B)Vo5j8Ju\b6.r7bP;)>f)u4gqYpZf"9_'cs8E-0GQ7^5s6;TI"Ps+Xnb`=gAcr7mqYpbq"9b.m
+s7,sc"/H&&RJd*a"9:d_s8N3%.Jj&E<W3-qrr^Ib"9eZ&"/H&&RJ?d^ZMjt,RK!3glMpnErWE45
+q#:Zc"9_'knaZYZ:&P4#s*t~>
+_#FCArWN6#!qH;rrWE5,q#:Q("9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"Mk$:rWE3fr;Qgb"9eT$
+".98pT_SNrpj`JM<TF,Ls8V?e"?H5VrWE4UqYpXA"9aJRrrOtZ"T89&Q37=NbPV;Dnc/WW"9b.l
+rrDTgrr^%>"CLp'!8[VW!/CIP"!RjN%/0]&('Fd9rrlC*"R?$WqYpZ'.0KePrrq!W"BFaWrr<#g
+"TR`q"@Dh^&&8q`<WE*hs8VWhs-<cj3U6VQ('Gi]s7,.Ls*"SKfDGUJnH]*alMpB1"=!aC"S)Nl
+naZSXrr`<Nrr3/ls8Pdr"RH'mh+\"TZN'sirVm"n"9a8FqYpcis8SAf"JGSj"0r%4LAh,S.0Ke=
+p\t:1":Y,+"'#I,lM1AZB)Vo5lM^_cbQn=qZM=G%f)u4gq>^Ht!(-G[rWE4OrVm,m63IGVs8VWd
+rrZj9"PrqS"/#c"RJ6^`TEGCcr;Za!!(-G[rr`<NqYpOirWMuq"3_M`"T89%TEGCcq#:?"rWE4o
+rr3)js8V-Y"9<'/rr_Nh"@E%d!)<Fq!"?15J,~>
+_#FCArWN6#!qH;rrWE5,q#:Q("9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"Mk$:rWE3fr;Qgb"9eT$
+".98pT_SNrpj`JM<TF,Ls8V?e"?H5VrWE4UqYpXA"9aJRrrOtZ"T89&Q37=NbPV;Dnc/WW"9b.l
+rrDTgrr^%>"CLp'!8[VW!/CIP"!RjN%/0]&('Fd9rrlC*"R?$WqYpZ'.0KePrrq!W"BFaWrr<#g
+"TR`q"@Dh^&&8q`<WE*hs8VWhs-<cj3U6VQ('Gi]s7,.Ls*"SKfDGUJnH]*alMpB1"=!aC"S)Nl
+naZSXrr`<Nrr3/ls8Pdr"RH'mh+\"TZN'sirVm"n"9a8FqYpcis8SAf"JGSj"0r%4LAh,S.0Ke=
+p\t:1":Y,+"'#I,lM1AZB)Vo5lM^_cbQn=qZM=G%f)u4gq>^Ht!(-G[rWE4OrVm,m63IGVs8VWd
+rrZj9"PrqS"/#c"RJ6^`TEGCcr;Za!!(-G[rr`<NqYpOirWMuq"3_M`"T89%TEGCcq#:?"rWE4o
+rr3)js8V-Y"9<'/rr_Nh"@E%d!)<Fq!"?15J,~>
+_#FCArWN6#!qH;rrWE5,q#:Q("9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"Mk$:rWE3fr;Qgb"9eT$
+".98pV"js!pj`JM<TF,Ls8V?e"?H5VrWE4UqYpXA"9aJRrrOtZ"T89&Q37=NbPV;Dnc/WW"9b.l
+rrDTgrr^%>"CLp'!8[VW!/CIP"!RjN%/0]&('Fd9rrlC*"R?$WqYpZ'.0KePrrq!W"BFaWrr<#g
+"TR`q"@Dh^&&8q`<WE*hs8VWhs-<cj3U6VQ('Gi]s7,.Ls*"SKfDGUJnH]*alMpB1"=!aC"S)Nl
+naZSXrr`<Nrr3/ls8Pdr"RH'mh+\"TZN'sirVm"r"9a8FqYpcis8SAf"Jkkn"0r%4LAh,S.0Ke=
+p\t:1":Y,+"'#I,lM1AZB)Vo5lM^_cbQn=qZM=G%f)u4gq>^Ht!(-G[rWE4OrVm,m63IGVs8VWd
+rrZj9"PrqS"/H&&RJ6^`U]^ggr;Za!!(-G[rr`<NqYpOirWMuq"3_M`"T89%U]^ggq#:?"rWE4s
+rr3)js8V-Y"9<'/rr_Nh"@E%d!)<Fq!"?15J,~>
+_#FCArWEPts8VWhZ31:GZM=G%TEGC`qYpZf"9`?4rrNT3.K'2JG6A&arr;s#!+u0/!`]@+qYpZ'
+"9c%)rsY1r"?F^+nc/XF"9^aZrrX#>"G$@K"$$K"QM:C\3<TK_rre_m">djgrrnen"I];[r;QlC
+"9`*+rrCmS"9=2TrrX\Q"<@.8!ZV=Gr;R&ms8QF/"P<\Dqu7,qQ50T+s7--hbQJ&ClM:J["9:IU
+rr_9a"BG9t"/#c"3UQhNnc/,8"<>5UrrhkH*!G<orrZjA(;TSB"7[?H3W/m[nQuD%h<b.EnPo]#
+_#"'5^^L@6pAY6#"9c%+rr^I\"GZmT!uqFHh=ppN('Fd<rs&#ns(2B:nbE+aGQ%^Oj8\ZLs3(TK
+3Qq3t"2G$BJGK6F"9:d_rrWB4"G$IN"S"e]"P<GK"(hZ=h>7-RZ31<9p\t>g"9b.jrrWB>"ASXj
+rr`<^qYpY0$j6_.rrqqY$j6_'rVltm"9b%crrBA("9Y(ls7-*g"QKmn,*r-+#4_`nl3%5Vr;Qak
+r<0G+J,~>
+_#FCArWEPts8VWhZ31:GZM=G%TEGC`qYpZf"9`?4rrNT3.K'2JG6A&arr;s#!+u0/!`]@+qYpZ'
+"9c%)rsY1r"?F^+nc/XF"9^aZrrX#>"G$@K"$$K"QM:C\3<TK_rre_m">djgrrnen"I];[r;QlC
+"9`*+rrCmS"9=2TrrX\Q"<@.8!ZV=Gr;R&ms8QF/"P<\Dqu7,qQ50T+s7--hbQJ&ClM:J["9:IU
+rr_9a"BG9t"/#c"3UQhNnc/,8"<>5UrrhkH*!G<orrZjA(;TSB"7[?H3W/m[nQuD%h<b.EnPo]#
+_#"'5^^L@6pAY6#"9c%+rr^I\"GZmT!uqFHh=ppN('Fd<rs&#ns(2B:nbE+aGQ%^Oj8\ZLs3(TK
+3Qq3t"2G$BJGK6F"9:d_rrWB4"G$IN"S"e]"P<GK"(hZ=h>7-RZ31<9p\t>g"9b.jrrWB>"ASXj
+rr`<^qYpY0$j6_.rrqqY$j6_'rVltm"9b%crrBA("9Y(ls7-*g"QKmn,*r-+#4_`nl3%5Vr;Qak
+r<0G+J,~>
+_#FCArWEPts8VWhZ31:GZM=G%U]^gdqYpZf"9`?4rrNT3.K'2JG6A&arr;s#!+u0/!`]@+qYpZ'
+"9c%)rsY1r"?F^+nc/XF"9^aZrrX#>"G$@K"$$K"QM:C\3<TK_rre_m">djgrrnen"I];[r;QlC
+"9`*+rrCmS"9=2TrrX\Q"<@.8!ZV=Gr;R&ms8QF/"P<\Dqu7,qQ50T+s7--hbQJ&ClM:J["9:IU
+rr_9a"BG9t"/H&&3UQhNnc/,8"<>5UrrhkH*!G<orrZjA(;TSB"7[?H3W/m[nQuD%h<b.EnPo]#
+_#"'5^^L@6pAY6#"9c%+rr^I\"GZmT!uqFHh=ppN('Fd<rs&#ns(2B:nbE+aGQ%^Oj8\ZLs3(TK
+3Qq3t"2G$BJGK6F"9:d_rrWB4"G$IN"S"e]"P<GK"(hZ=h>7-RZ31<9p\t>k"9b.jrrWB>"ASXj
+rr`<^qYpY0$j6_.rrqqY$j6_'rVltq"9b%crrBA("9Y(ls7-*g"QKmn,*r-+#4_`nl3%5Vr;Qak
+r<0G+J,~>
+_uBi/s8QI*"TJE7nc,lt";[<ns8VBas5WYLQ37V^r;R>ns7$3p?iTZds6AnLit_bHr;ROV"9cO?
+nc&^p(5DAZnaZWk":XSqs7-*g'!_WCZN'spnbDYSnaZX6"9]LUrVm#P"9^O\r:(U'nc.Do"9`rK
+nc/.Ls5Pm<%#4<Ps6B.PrrPmt"T89,R03XQ_#OH"s8VWgrskG*"IB)Xj8]/Es47Y^B(u<.f*hcb
+LAh,S.0Kc&pAY16$j?D+#%%KK_#Nrpr;R>uZ82Uds7--h^]Xd,bj+`YrosXB^^L?%rnSCUj6G[i
+j6GI9$j8oQh:L]=bh([$$j8ohrrDTbrsun*"9]--+t5N.('Fa[*#AMn!#GPR-6a3F*"2rQ(,IC"
+1E7/M*#9M0*$QR0":RU@*$R0_$j7d>s8V->n,FhK";ZaPh8&="j1pBP"F&\ej6G[ij5[r?h1c%@
+L?%RZlJq0ij+%O@LAh,S.0LFBp\t^="9e8pn`p/>s8QF/"PrkQ!+u35$/PXOs8Tk;"=_._rt4f$
+Z31;Bnc/XSnc/XL"9_Harr3/ls7,XZnbrXkJGoKNl9YUh_#F??nc/.Ls8QF/"PrqS#+uA-QLY"F
+qYpYj"9b.jrrWB>"?H5Vrr`^(j8]/Ls8V@r"9]/-rreu1"9e#grr\Yl"IB#d"nDW_s8TD(":LXt
+s7--Zs47Y^$tfJ.s8W,h$NJ]\"ASpdnc/V`r<0G+J,~>
+_uBi/s8QI*"TJE7nc,lt";[<ns8VBas5WYLQ37V^r;R>ns7$3p?iTZds6AnLit_bHr;ROV"9cO?
+nc&^p(5DAZnaZWk":XSqs7-*g'!_WCZN'spnbDYSnaZX6"9]LUrVm#P"9^O\r:(U'nc.Do"9`rK
+nc/.Ls5Pm<%#4<Ps6B.PrrPmt"T89,R03XQ_#OH"s8VWgrskG*"IB)Xj8]/Es47Y^B(u<.f*hcb
+LAh,S.0Kc&pAY16$j?D+#%%KK_#Nrpr;R>uZ82Uds7--h^]Xd,bj+`YrosXB^^L?%rnSCUj6G[i
+j6GI9$j8oQh:L]=bh([$$j8ohrrDTbrsun*"9]--+t5N.('Fa[*#AMn!#GPR-6a3F*"2rQ(,IC"
+1E7/M*#9M0*$QR0":RU@*$R0_$j7d>s8V->n,FhK";ZaPh8&="j1pBP"F&\ej6G[ij5[r?h1c%@
+L?%RZlJq0ij+%O@LAh,S.0LFBp\t^="9e8pn`p/>s8QF/"PrkQ!+u35$/PXOs8Tk;"=_._rt4f$
+Z31;Bnc/XSnc/XL"9_Harr3/ls7,XZnbrXkJGoKNl9YUh_#F??nc/.Ls8QF/"PrqS#+uA-QLY"F
+qYpYj"9b.jrrWB>"?H5Vrr`^(j8]/Ls8V@r"9]/-rreu1"9e#grr\Yl"IB#d"nDW_s8TD(":LXt
+s7--Zs47Y^$tfJ.s8W,h$NJ]\"ASpdnc/V`r<0G+J,~>
+_uBi/s8QI*"TJE7nc,lt";[<ns8VBas5WYLQ37V^r;R>ns7$3p?iTZds6AnLit_bHr;ROV"9cO?
+nc&^p(5DAZnaZWk":XSqs7-*g'!_WCZN'spnbDYSnaZX6"9]LUrVm#P"9^O\r:(U'nc.Do"9`rK
+nc/.Ls5Pm<%#4<Ps6B.PrrPmt"T89,R03XQ_#OH"s8VWgrskG*"IB)Xj8]/Es47Y^B(u<.f*hcb
+LAh,S.0Kc&pAY16$j?D+#%%KK_#Nrpr;R>uZ82Uds7--h^]Xd,bj+`YrosXB^^L?%rnSCUj6G[i
+j6GI9$j8oQh:L]=bh([$$j8ohrrDTbrsun*"9]--+t5N.('Fa[*#AMn!#GPR-6a3F*"2rQ(,IC"
+1E7/M*#9M0*$QR0":RU@*$R0_$j7d>s8V->n,FhK";ZaPh8&="j1pBP"F&\ej6G[ij5[r?h1c%@
+L?%RZlJq0ij+%O@LAh,S.0LFBp\t^="9e8pn`p/>s8QF/"PrkQ!+u35$/PXOs8Tk;"=_._rt4f$
+Z31;Bnc/XSnc/XL"9_Harr3/ls7,XZnbrXkJGoKNl9YUh_#F??nc/.Ls8QF/"PrqS#,DY1QLY"F
+qYpYn"9b.jrrWB>"?H5Vrr`^(j8]/Ls8V@r"9]/-rrf,5"9e#grr\Yl"IB#d"nDW_s8TD(":LXt
+s7--Zs47Y^$tfJ.s8W,h$NJ]\"ASpdnc/V`r<0G+J,~>
+_#FCArWN6##4_`!"9]^;qu6ljs8SAn"G$IN#4_`nh#mjfrVm)ls8V+'"=a9K#'U1Q_#Ns)rWE7P
+lM^_eAcrP-s8VWgrr\ns"JGMh"GR$^.G+Ou"4mYY3V`UWl66?6LAUuSj$EkOB'T?p!:g'g"620?
+"T89&R03XK_"dp3Q4*n^qYpZ5"9`?2rrgp^"9aJXrrY%["<@19"7[?6(B4=6nc&OknPo]9bkV2D
+^eFq7s6BXa_"Im2%/pA0%/0l-$j6\A%/0l)6M19XnbW7gnR_n,%/C#+(@hS.%.45u%/L)/,)3DZ
+rr2ugo)Aa\?iC08$j6\A*#8qu"9]M8"TJl4('FaUq#h0C"9a8Ts7-+/"9csKs6BLO"90,>%/Ko+
+<<NHbs82?drr?[1"9@`crrpUL"=^YVqsj^d"2G$BGQ.UBlMgedh#mjTnbE+d":PEWrVm/n63I_@
+s7--Zr;Qn3"9d?Vr:'piZ4$l%rr;lc"TOkm"I]2f!sB#81\^qL"9D6Qr;Qo[<<NFEp\tZe1B[j\
+s7--hL'.XPq#:K&":PF$qu6fT*!?Cgqu6ljs8UmX"ASgo!)<Fq!"?15J,~>
+_#FCArWN6##4_`!"9]^;qu6ljs8SAn"G$IN#4_`nh#mjfrVm)ls8V+'"=a9K#'U1Q_#Ns)rWE7P
+lM^_eAcrP-s8VWgrr\ns"JGMh"GR$^.G+Ou"4mYY3V`UWl66?6LAUuSj$EkOB'T?p!:g'g"620?
+"T89&R03XK_"dp3Q4*n^qYpZ5"9`?2rrgp^"9aJXrrY%["<@19"7[?6(B4=6nc&OknPo]9bkV2D
+^eFq7s6BXa_"Im2%/pA0%/0l-$j6\A%/0l)6M19XnbW7gnR_n,%/C#+(@hS.%.45u%/L)/,)3DZ
+rr2ugo)Aa\?iC08$j6\A*#8qu"9]M8"TJl4('FaUq#h0C"9a8Ts7-+/"9csKs6BLO"90,>%/Ko+
+<<NHbs82?drr?[1"9@`crrpUL"=^YVqsj^d"2G$BGQ.UBlMgedh#mjTnbE+d":PEWrVm/n63I_@
+s7--Zr;Qn3"9d?Vr:'piZ4$l%rr;lc"TOkm"I]2f!sB#81\^qL"9D6Qr;Qo[<<NFEp\tZe1B[j\
+s7--hL'.XPq#:K&":PF$qu6fT*!?Cgqu6ljs8UmX"ASgo!)<Fq!"?15J,~>
+_#FCArWN6##4_`!"9]^?qu6ljs8SAn"G$IN#4_`nh#mjfrVm)ls8V+'"=a9K#'U1Q_#Ns)rWE7P
+lM^_eAcrP-s8VWgrr]&""Jkel"GR$^.G+Ou"4mYY3V`UWl66?6LAUuSj$EkOB'T?p!:g'g"620?
+"T89&R03XK_"dp3Q4*n^qYpZ5"9`?2rrgp^"9aJXrrY%["<@19"7[?6(B4=6nc&OknPo]9bkV2D
+^eFq7s6BXa_"Im2%/pA0%/0l-$j6\A%/0l)6M19XnbW7gnR_n,%/C#+(@hS.%.45u%/L)/,)3DZ
+rr2ugo)Aa\?iC08$j6\A*#8qu"9]M8"TJl4('FaUq#h0C"9a8Ts7-+/"9csKs6BLO"90,>%/Ko+
+<<NHbs82?drr?[1"9@`crrpUL"=^YVqsj^d"2G$BGQ.UBlMgedh#mjTnbE+d":PEWrVm/n63I_@
+s7--Zr;Qn3"9d?Vr:'piZ4$l%rr;lc"TOkm"I]2f!sB#81\^qL"9D6Qr;Qo[<<NFEp\tZe1B[j\
+s7--hL'.XTq#:K&":PF$qu6fT*!?Cgqu6ljs8UmX"ASgo!)<Fq!"?15J,~>
+_#FCArWEZ"s8VWhZ31:GL?%RZqu7241EqS=nc/.Ls7*l-"D6rrrr_:]"=a9K*HqVh_#Ns)"9]-F
+bjjugl<aZ&h=:Nsh>d#5$l50)rs%<'Adf(sfDY^Of)u4:qYpfjj3/JG"CL]rrt'AW"AQ]%lK[p0
+s7,X>9cO<6rsG.s"?Dn8naZYEnc&OjL)(PZrr38olLFni('J")q#:>erWE4UrVm!\"9].uq#:Ke
+1B\o^qu6fh<<O;Wq#:W*1B[j\lMpn.pB1I)o)o%%ncSqQmJd]i<<NFkTV/UB^t6A6('L<,^^dZc
+bd,%"9aihDf>,V^bkf*Yf>&gD3PbU;!l2*ArWE45rr2ugo)AaU<VZb!((:W4":0PXs7-+5"<?Ir
+s8Ni7*;TU:?N^enq#:><rWE5drVm#+":S;Sq#:H3"9`rFrr_d,"BG3rrtYV<GQ%OEnNm?oj7rWV
+G8:>;qYpZ'('L'"rr\ns"I]2frWE4$p](6r!EJ1WrrZj9"<@19%-&<1"TSMes8SAf"JGPi!4)S,
+".B2hlMge`_#=H:B)_f2n`p)Q"60Le6N$i`:&P4#s*t~>
+_#FCArWEZ"s8VWhZ31:GL?%RZqu7241EqS=nc/.Ls7*l-"D6rrrr_:]"=a9K*HqVh_#Ns)"9]-F
+bjjugl<aZ&h=:Nsh>d#5$l50)rs%<'Adf(sfDY^Of)u4:qYpfjj3/JG"CL]rrt'AW"AQ]%lK[p0
+s7,X>9cO<6rsG.s"?Dn8naZYEnc&OjL)(PZrr38olLFni('J")q#:>erWE4UrVm!\"9].uq#:Ke
+1B\o^qu6fh<<O;Wq#:W*1B[j\lMpn.pB1I)o)o%%ncSqQmJd]i<<NFkTV/UB^t6A6('L<,^^dZc
+bd,%"9aihDf>,V^bkf*Yf>&gD3PbU;!l2*ArWE45rr2ugo)AaU<VZb!((:W4":0PXs7-+5"<?Ir
+s8Ni7*;TU:?N^enq#:><rWE5drVm#+":S;Sq#:H3"9`rFrr_d,"BG3rrtYV<GQ%OEnNm?oj7rWV
+G8:>;qYpZ'('L'"rr\ns"I]2frWE4$p](6r!EJ1WrrZj9"<@19%-&<1"TSMes8SAf"JGPi!4)S,
+".B2hlMge`_#=H:B)_f2n`p)Q"60Le6N$i`:&P4#s*t~>
+_#FCArWEZ"s8VWhZ31:GL?%RZqu7241EqS=nc/.Ls7*l-"D6rrrr_:]"=a9K*HqVh_#Ns)"9]-F
+bjjugl<aZ&h=:Nsh>d#5$l50)rs%<'Adf(sfDY^Of)u4:qYpfjj3/JG"CL]rrt'AW"AQ]%lK[p0
+s7,X>9cO<6rsG.s"?Dn8naZYEnc&OjL)(PZrr38olLFni('J")q#:>irWE4UrVm!\"9].uq#:Ke
+1B\o^qu6fh<<O;Wq#:W*1B[j\lMpn.pB1I)o)o%%ncSqQmJd]m<<NFkUnk<J^t6A6('LH0^^dZc
+bd,%"9aihDf>,V^bkf*Yf>&gD3PbU;!l2*ArWE45rr2ugo)AaU<VZb!((:W4":0PXs7-+5"<?Ir
+s8Ni7*;TU:?N^enq#:><rWE5drVm#+":S;Sq#:H3"9`rFrr_d,"BG3rrtYV<GQ%OEnNm?oj7rWV
+G8:>;qYpZ'('L'"rr]&""I]2frWE4$p](6r!EJ1WrrZj9"<@19%-&<1"TSMes8SAf"Jkhm!4)S,
+".B2hlMge`_#=H:B)_f2n`p)Q"60Le6N$i`:&P4#s*t~>
+_uBi/s8QI*"TJE&nc,oo"9T&V(**)P#Rh[U$j6\A+rpRb!#G>4!%IjG#'U1Q_#Ns)r<3-E&/GZu
+$j6\W*%;X3+rh@$"=!XE!ZVsarWE5:rVllLp&kC31]7FV(A@t3,6&)O"9T&8(*`_\r;QbbrWF/U
++sId<*$RC!9d0]C,#(cu1E7j363IE,9m9tB9`dXU<W3+$JGoKO64<u"J7ee8*e9!"J?jA-"9_GR
+R@pjYQA.12"CIRbZEg./TX';=rWEK+nc/X)"9`?4rrh@+$ruilrr^js$tf>8"2In>6Lb![lC_Je
+"<q4<qu6fhJ.)S:p&>0T.0LjNo`#$R$j8$Urs.A1Acr5mT^hRP"S#h%3O8V`#P%iaZ5a!'j7rWX
+nX1R06LjpP"$$JeLAh,T.0L'6RJsMlTEqirTYLsb(:'V4Z4N\7Z9fNHQEm0VZEg-rZG936":sPm
+nc/W^"9]]pZCnM/TV2:i'7^K,<PZDURBj,kR2c>cZEg./T`25#TX#O]"D7W4#k:Ul%#2Q`ZC1]t
+';2X2+p=4;TX(krTX':f%!TM&RJrlZZ3?o,Acr7)r;R!)$j8B1^qee)f*omg"9^`jlIWhWbh#Sg
+"9Gh.r:(?ulJn0=":XSqnc/WT"9`)lr;Qlhs8Tn6"9>+lrrh.%$l4BkrsdfLnc.DR$pt!anc/V`
+rWE30ZN#F~>
+_uBi/s8QI*"TJE&nc,oo"9T&V(**)P#Rh[U$j6\A+rpRb!#G>4!%IjG#'U1Q_#Ns)r<3-E&/GZu
+$j6\W*%;X3+rh@$"=!XE!ZVsarWE5:rVllLp&kC31]7FV(A@t3,6&)O"9T&8(*`_\r;QbbrWF/U
++sId<*$RC!9d0]C,#(cu1E7j363IE,9m9tB9`dXU<W3+$JGoKO64<u"J7ee8*e9!"J?jA-"9_GR
+R@pjYQA.12"CIRbZEg./TX';=rWEK+nc/X)"9`?4rrh@+$ruilrr^js$tf>8"2In>6Lb![lC_Je
+"<q4<qu6fhJ.)S:p&>0T.0LjNo`#$R$j8$Urs.A1Acr5mT^hRP"S#h%3O8V`#P%iaZ5a!'j7rWX
+nX1R06LjpP"$$JeLAh,T.0L'6RJsMlTEqirTYLsb(:'V4Z4N\7Z9fNHQEm0VZEg-rZG936":sPm
+nc/W^"9]]pZCnM/TV2:i'7^K,<PZDURBj,kR2c>cZEg./T`25#TX#O]"D7W4#k:Ul%#2Q`ZC1]t
+';2X2+p=4;TX(krTX':f%!TM&RJrlZZ3?o,Acr7)r;R!)$j8B1^qee)f*omg"9^`jlIWhWbh#Sg
+"9Gh.r:(?ulJn0=":XSqnc/WT"9`)lr;Qlhs8Tn6"9>+lrrh.%$l4BkrsdfLnc.DR$pt!anc/V`
+rWE30ZN#F~>
+_uBi/s8QI*"TJE&nc,oo"9T&V(**)P#Rh[U$j6\A+rpRb!#G>4!%IjG#'U1Q_#Ns)r<3-E&/GZu
+$j6\W*%;X3+rh@$"=!XE!ZVsarWE5:rVllLp&kC31]7FV(A@t3,6&)O"9T&8(*`_\r;QbbrWF/U
++sId<*$RC!9d0]C,#(cu1E7j363IE,9m9tB9`dXU<W3+$JGoKO64<u"J7ee8*e9!"J?jA-"9_GR
+RA@-aQA.12"CIRbZEg:3Up>_ArWEK+nc/X)"9`?4rrh@+$ruilrr^js$tf>8"2In>6Lb![lD.bi
+"<q4<qu6fhJ.)S:p&>0T.0LjNo`#$R$j8$Urs.A1Acr5mV"+!T"S#h%3O8V`#P%iaZ5a!'j7rWX
+nX1R06LjpP"$$JeLAh,T.0L'6RJsMlU^49%UqdBf(:'b8Z4Nh;Z9fNHQEm<^ZEg:%ZG936":sPm
+nc/Wb"9]]pZD=e3Unn!q'7^K,<PZDURBj,oR2c>cZEg:3V#IY'Up:sa"D7W4#k:Ul%#2Q`ZC1]t
+';Vp6+p=4;Up@;%Up>^j%!TM&RJs#^Z3@&0Acr7)r;R!)$j8B1^qee)f*omg"9^`jlIWhWbh#Sg
+"9Gh.r:(?ulJn0=":XSqnc/WT"9`)lr;Qlhs8Tn6"9>7prrh.%$l4BkrsdfLnc.DR$pt!anc/V`
+rWE30ZN#F~>
+_#FCArWN6#"S)Mt":Xr+rs\2r!%IjG#^6CS_#Ns)":Y)/!#G>4rs\Q'rX8eBrVllLo)o(&(AJ"4
+(A%_1('OR8!gs0"p&t@'pB1I)p&kL6";V,arVm!e('Faaq#gg/"9],Am0!Ctr<*Q/lMpn""9_'8
+nc/.Lrr3)j('HGerr_9s"ASjp!:g'g"0rmL6Lk'h^h+Ph"CJt0s8VWhs7--SG74W+q#CBa#lj0V
+">e[0naZAR'B:&86N@)Un`o07s7-,>+p8<SZLRr!AcrmTs8V-XrrfV9"CL3crs%cgs-WumT_\Ti
+TG@ZbrVm$]"9]JC%/9r,$j8$V"9],9$j7RG":cUq":PFhs6BXaZ31:=%/9r*,523?,4u'=1]@LW
+B)V`4nP',h%/C#,*";QE!uqFH(B+a:"9=kfrrrT7":S!E(A]6T":,Db9f!On.9./_"9Br<qDeRC
+*<$'HlMpDSs-<cj,5FS*?O?oE"BB&@<G"RAB)Vo6.<kbu#\GM0<G#hG"@E%d!)<Fq!"?15J,~>
+_#FCArWN6#"S)Mt":Xr+rs\2r!%IjG#^6CS_#Ns)":Y)/!#G>4rs\Q'rX8eBrVllLo)o(&(AJ"4
+(A%_1('OR8!gs0"p&t@'pB1I)p&kL6";V,arVm!e('Faaq#gg/"9],Am0!Ctr<*Q/lMpn""9_'8
+nc/.Lrr3)j('HGerr_9s"ASjp!:g'g"0rmL6Lk'h^h+Ph"CJt0s8VWhs7--SG74W+q#CBa#lj0V
+">e[0naZAR'B:&86N@)Un`o07s7-,>+p8<SZLRr!AcrmTs8V-XrrfV9"CL3crs%cgs-WumT_\Ti
+TG@ZbrVm$]"9]JC%/9r,$j8$V"9],9$j7RG":cUq":PFhs6BXaZ31:=%/9r*,523?,4u'=1]@LW
+B)V`4nP',h%/C#,*";QE!uqFH(B+a:"9=kfrrrT7":S!E(A]6T":,Db9f!On.9./_"9Br<qDeRC
+*<$'HlMpDSs-<cj,5FS*?O?oE"BB&@<G"RAB)Vo6.<kbu#\GM0<G#hG"@E%d!)<Fq!"?15J,~>
+_#FCArWN6#"S)Mt":Xr+rs\2r!%IjG#^6CS_#Ns)":Y)/!#G>4rs\Q'rX8eBrVllLo)o(&(AJ"4
+(A%_1('OR8!gs0"p&t@'pB1I)p&kL6";V,arVm!e('Faaq#gg/"9],Am0!Ctr<*Q/lMpn""9_'8
+nc/.Lrr3)j('HGerr_9s"ASjp!:g'g"0rmL6Lk'h^h+Ph"CJt0s8VWhs7--SG74W+q#CBa#lj0V
+">e[0naZAR'B:&86N@)Un`o07s7-,>+p8<SZLRr!AcrmTs8V-XrrfV9"CL3crs%cgs-WumV"t#m
+U_X)frVm$]"9]JC%/9r,$j8$V"9],9$j7RG":cUq":PFhs6BXaZ31:=%/9r*,523?,4u'=1]@LW
+B)V`4nP',h%/C#,*";QE!uqFH(B+a:"9=kfrrrT7":S!E(A]6T":,Db9f!On.9./_"9Br<qDeRC
+*<$'HlMpDSs-<cj,5FS*?O?oE"BB&@<G"RAB)Vo6.<kbu#\GM0<G#hG"@E%d!)<Fq!"?15J,~>
+_#FCHrWEDps8VWhZMjt,T_SNhTEGCPqYpZf"9_a#s8N3%.K'2JG6A&Srr;s#!(-Ya"O&%m%-.6b
+".98pRJ6^]QMq!e_#464"9:IVs8E-/6N??9naZYZ1B[h#rVm/nj5'"cnL4SDr;QbirWF9sbd*P&
+L1YsdR8!ee.:tn&3B8mMAcr5P<F7O2.3ea?"Z(l9":U%`rsgId"9aHG.4HGb.4HGi:&Y8*G;CEl
++sK$A*!?CO3>OXS.0D@d67Mm:rVm#P"9^0hqYpZX$j9;urt!<h"CM3/nc/XZs8RfV"?H;Xs7--h
+#k@rTL)^=!*6e0W"R9S%"P<>H"S"e]*7sf^!Xo2\pAY?@AfLp^B$C8EpAY>/"9cO?s7-'f"J?/+
+B'T6m#3u6gTEG\=q>UPb"9`rIrr=8B"9rHe+t4rb,5s%j":JR'+riC*.5MA8"ASkE"sPKF+u=F!
+rWE5]rVllLrWE<C.4HJ?.2sH[3F;ml(+D$q3?ek\*!?B[<@J\-3@P^`+r:.\!)<Ck$rmE53B7KV
+"9],K(**#N!#GJ8!#G;3!1Ecb"9],9"<@1>!$_4A"UkML*!?]B"T89%Q37=7m0!CtoE57F"9_'h
+rr>dl"LA&X~>
+_#FCHrWEDps8VWhZMjt,T_SNhTEGCPqYpZf"9_a#s8N3%.K'2JG6A&Srr;s#!(-Ya"O&%m%-.6b
+".98pRJ6^]QMq!e_#464"9:IVs8E-/6N??9naZYZ1B[h#rVm/nj5'"cnL4SDr;QbirWF9sbd*P&
+L1YsdR8!ee.:tn&3B8mMAcr5P<F7O2.3ea?"Z(l9":U%`rsgId"9aHG.4HGb.4HGi:&Y8*G;CEl
++sK$A*!?CO3>OXS.0D@d67Mm:rVm#P"9^0hqYpZX$j9;urt!<h"CM3/nc/XZs8RfV"?H;Xs7--h
+#k@rTL)^=!*6e0W"R9S%"P<>H"S"e]*7sf^!Xo2\pAY?@AfLp^B$C8EpAY>/"9cO?s7-'f"J?/+
+B'T6m#3u6gTEG\=q>UPb"9`rIrr=8B"9rHe+t4rb,5s%j":JR'+riC*.5MA8"ASkE"sPKF+u=F!
+rWE5]rVllLrWE<C.4HJ?.2sH[3F;ml(+D$q3?ek\*!?B[<@J\-3@P^`+r:.\!)<Ck$rmE53B7KV
+"9],K(**#N!#GJ8!#G;3!1Ecb"9],9"<@1>!$_4A"UkML*!?]B"T89%Q37=7m0!CtoE57F"9_'h
+rr>dl"LA&X~>
+_#FCHrWEDps8VWhZMjt,V"jrlU]^gTqYpZf"9_a#s8N3%.K'2JG6A&Srr;s#!(-Ya"O&%m%-.6b
+".98pRJ6^]QMq!e_#464"9:IVs8E-/6N??9naZYZ1B[h#rVm/nj5'"cnL4SDr;QbmrWF9sbd*P&
+L1YsdR8!ee.:tn&3B8mMAcr5P<F7O2.3ea?"Z(l9":U%`rsgId"9aHG.4HGb.4HGi:&Y8*G;CEl
++sK$A*!?CO3>OXS.0D@d67Mm:rVm#P"9^0hqYpZX$j9;urt!<h"CM3/nc/XZs8RfV"?H;Xs7--h
+#k@rTL)^=!*6e0W"R9S%"P<>H"S"e]*7sf^!Xo2\pAY?@AfLp^B$C8EpAY>/"9cO?s7-'f"JcG/
+B'T6m#3u6gU]_+Aq>UPb"9`rIrr=8B"9rHe+t4rb,5s%j":JR'+riC*.5MA8"ASkE"sPKF+u=F!
+rWE5]rVllLrWE<C.4HJ?.2sH[3F;ml(+D$q3?ek\*!?B[<@J\-3@P^`+r:.\!)<Ck$rmE53B7KV
+"9],K(**#N!#GJ8!#G;3!1Ecb"9],9"<@1>!$_4A"UkML*!?]B"T89%Q37=7m0!CtoE57F"9_'h
+rr>dl"LA&X~>
+_#FCHrWN6#!qH;rrWE4oq#:Gh"9b%err_co"AS^lrr`<Nr;QkC"9c%0rrWZ4"ASgo"%!+nfDGRM
+R03Y\p\t5ZrWE5:r;Zd"!'0fRrWE3fqYpXX"9]_=rrP1`"T89)TEGZ3ZN'spqu6bd$llSLrrgO]
+**(hirrBk6"9<ZErrjh[$l8m5q#:IG('O[-qu6_0*$"_Q"2Ho""TA?'f)u4NlMCM_f*hd^pAY61
+('J7Frr]PB"@De]#k?__"9^N8_"%7##3u6RJ.)S4p\tWks5Pm<.EqhlnaYo?rr_co"=a'E#k?`d
+AekLuL@Os:%V>hH_#OH"s7--hZ31;bq>UZhs8SAf%'o^/"0r%4JGoKM*!?CEp\t:1$j?J-s7$1u
+(*(s$rrdNK$j>korrg+?":U^prrqrm^]YX$rVmT%h<LX9"BFaPj6H0pbh(()+p8$8r;Rp?":UsZ
+ZG;lrbfmkq1B[hmJ;/f/J;0@s":SY'L5(5/GQ!$o<<NGmr;Za!![<ARqg\oqL'.W.L7*SkL'F&+
+$j6^$GPcpjL(/>B"9ec)lMpmM"9`(drdY/rJ9Qa6?iC0L9nnCQL1Z``$j6\hL4G#/L6dRKJ;+I@
+:&k7`s8Pgm"98k9s*t~>
+_#FCHrWN6#!qH;rrWE4oq#:Gh"9b%err_co"AS^lrr`<Nr;QkC"9c%0rrWZ4"ASgo"%!+nfDGRM
+R03Y\p\t5ZrWE5:r;Zd"!'0fRrWE3fqYpXX"9]_=rrP1`"T89)TEGZ3ZN'spqu6bd$llSLrrgO]
+**(hirrBk6"9<ZErrjh[$l8m5q#:IG('O[-qu6_0*$"_Q"2Ho""TA?'f)u4NlMCM_f*hd^pAY61
+('J7Frr]PB"@De]#k?__"9^N8_"%7##3u6RJ.)S4p\tWks5Pm<.EqhlnaYo?rr_co"=a'E#k?`d
+AekLuL@Os:%V>hH_#OH"s7--hZ31;bq>UZhs8SAf%'o^/"0r%4JGoKM*!?CEp\t:1$j?J-s7$1u
+(*(s$rrdNK$j>korrg+?":U^prrqrm^]YX$rVmT%h<LX9"BFaPj6H0pbh(()+p8$8r;Rp?":UsZ
+ZG;lrbfmkq1B[hmJ;/f/J;0@s":SY'L5(5/GQ!$o<<NGmr;Za!![<ARqg\oqL'.W.L7*SkL'F&+
+$j6^$GPcpjL(/>B"9ec)lMpmM"9`(drdY/rJ9Qa6?iC0L9nnCQL1Z``$j6\hL4G#/L6dRKJ;+I@
+:&k7`s8Pgm"98k9s*t~>
+_#FCHrWN6#!qH;rrWE4sq#:Gl"9b%err_co"AS^lrr`<Nr;QkC"9c%0rrWZ4"ASgo"%!+nfDGRM
+R03Y\p\t5ZrWE5:r;Zd"!'0fRrWE3fqYpXX"9]_=rrP1`"T89)U]_)7ZN'spqu6bd$llSLrrgO]
+**(hirrBk6"9<ZErrjh[$l8m5q#:IG('O[-qu6_0*$"_Q"2Ho""TA?'f)u4NlMCM_f*hd^pAY61
+('J7Frr]PB"@De]#k?__"9^N8_"%7##3u6RJ.)S4p\tWks5Pm<.EqhlnaYo?rr_co"=a'E#k?`d
+AekLuL@Os:%V>hH_#OH"s7--hZ31;bq>UZhs8SAf%'o^/"0r%4JGoKM*!?CEp\t:1$j?J-s7$1u
+(*(s$rrdNK$j>korrg+?":U^prrqrm^]YX$rVmT%h<Ld="BFaPj6H0pbh(()+p8$8r;Rp?":V*^
+ZG;lrbfmku1B[hmJ;/f/J;0@s":SY'L5(5/GQ!$o<<NGmr;Za!![<ARqg\oqL'.W.L7*SkL'F&+
+$j6^$GPcpjL(/>B"9ec)lMpmM"9`(drdY/rJ9Qa6?iC0L9nnCQL1Z``$j6\hL4G#/L6dRKJ;+I@
+:&k7`s8Pgm"98k9s*t~>
+_#FCArWN6#!qH;rrWE4oq#:Q("9b%js7-'f"7ZKs<Vc[p"99nKrr[HJ"JGbo!uqFH6N$icAcr7\
+qu6bd"9b.errAAa"9?78s8N3%3VWRQ"9:dbrrYsu";^n7!:g'g!]'r^r;R+s":PF+s8VWhlK\BK
+"GR$^L@P0@#0[2Q1Vj%jqsa^eh>RNWJGoKO*!?BQs8Vrcs8N-/"9e`(!:g'g"R8;V"Ps(W$0qQj
+nc/X)3<TK`rrgpV"@CrCs8VTls3(TK:&b1hnIY`9"9`*3s7,C>nc/WW"9_'brs%;b.0L&kj7N?S
+nV.e^h=^dNl;[s9_"7R-('H)Wrs=E""<;$Znc/XSqYpY0"9cO=rs/)os.BJtGO#%prr3(T"9bCo
+nIPZD"9aJZs7-+<(*%Punc/LV#lbYC"TSMlj73-K"%!+nlMC&Nrr@9B"9@'Prrp1@":U%bqsj^d
+#/C?E?iU/rrVm#V*!A:eq>UTR9`tSZr;Qk+";]5Wrrhk9('NIirr]P8"JGMh"0r%4RJd'e";V,7
+p](6r!FOmarr[c[";^b3%,EoH"TSMes8SAf"I]&b"MbcU%&!Lt"QLI)"F'Y@"61.46N$i`:&Y7q%
+'on`~>
+_#FCArWN6#!qH;rrWE4oq#:Q("9b%js7-'f"7ZKs<Vc[p"99nKrr[HJ"JGbo!uqFH6N$icAcr7\
+qu6bd"9b.errAAa"9?78s8N3%3VWRQ"9:dbrrYsu";^n7!:g'g!]'r^r;R+s":PF+s8VWhlK\BK
+"GR$^L@P0@#0[2Q1Vj%jqsa^eh>RNWJGoKO*!?BQs8Vrcs8N-/"9e`(!:g'g"R8;V"Ps(W$0qQj
+nc/X)3<TK`rrgpV"@CrCs8VTls3(TK:&b1hnIY`9"9`*3s7,C>nc/WW"9_'brs%;b.0L&kj7N?S
+nV.e^h=^dNl;[s9_"7R-('H)Wrs=E""<;$Znc/XSqYpY0"9cO=rs/)os.BJtGO#%prr3(T"9bCo
+nIPZD"9aJZs7-+<(*%Punc/LV#lbYC"TSMlj73-K"%!+nlMC&Nrr@9B"9@'Prrp1@":U%bqsj^d
+#/C?E?iU/rrVm#V*!A:eq>UTR9`tSZr;Qk+";]5Wrrhk9('NIirr]P8"JGMh"0r%4RJd'e";V,7
+p](6r!FOmarr[c[";^b3%,EoH"TSMes8SAf"I]&b"MbcU%&!Lt"QLI)"F'Y@"61.46N$i`:&Y7q%
+'on`~>
+_#FCArWN6#!qH;rrWE4sq#:Q("9b%js7-'f"7ZKs<Vc[p"99nKrr[HJ"Jl%s!uqFH6N$icAcr7\
+qu6bd"9b.errAAa"9?78s8N3%3VWRQ"9:dbrrYsu";^n7!:g'g!]'r^r;R,"":PF/s8VWhlK\BK
+"GR$^L@P0@#0[2Q1Vj%jqsa^eh>RNWJGoKO*!?BQs8Vrcs8N-/"9e`(!:g'g"R8;V"Ps(W$0qQj
+nc/X)3<TK`rrgpV"@CrCs8VTls3(TK:&b1hnIY`9"9`*3s7,C>nc/WW"9_'brs%;b.0L&kj7N?S
+nV.e^h=^dNl;[s9_"7R-('H)Wrs=E""<;$Znc/XSqYpY0"9cO=rs/)os.fc#GO#%prr3(T"9bOs
+nIPZD"9aJZs7-+<(*%Punc/LV#lbYC"TSMlj73-K"%!+nlMC&Nrr@9B"9@'Prrp1@":U%bqsj^d
+#/C?E?iU/rrVm#V*!A:eq>UTR9`tSZr;Qk+";]5Wrrhk9('NIirr]P8"Jkel"0r%4RJd'e";V,7
+p](6r!FOmarr[c[";^b3%,EoH"TSMes8SAf"I]&b"MbcU%&Ee#"QLI)"F'Y@"61.46N$i`:&Y7q%
+'on`~>
+_#FCHrWEDps8VWhZMjt,T_SNkTEGCPs8VWfrr_co"AS^lrr`<Nr;QkC"9bCsrrX5D"@E%d##,4'
+j8]/Err3(d"9b.errAAa"9?78s8N3%3V`USnbrXk6Mg]a63IE2p\t:D"9eZ&!1Efh"1%t,lMLSa
+Q4*nHnb`=i^]XcaZKh8c!8%2Q"c!'Is8OnS"SVis('Fd=rs/)os7'G!"R?!d!:'L^"2Ho""TA?'
+f)u4*ZMOS(h&HPllM(;]bT$a[lMCM_Z6BE3q#:cfQ8oof":S"jZA+d?rgEeZ*jV3"ZCjo#"GWS;
+TUDI@TV.^YTX'tc"9__ZL6eKur1F:_TX':f"=]c7TEpskTUDIYR:[ZB"9E,jq#:G.(*^Qmrs/)o
+s0<ggGO#&)#4_`nTF;gGq>UQ&"9aJXrrWZ4"D7E.!YtnAq>UP/"9e#brr?[1"9@`crrC:B"9=2O
+rr^jU"D7N1"P4%b<Up"e#P%iol:hBa6N$ic?N_.[q>UWgG8:=snc&Omnc/W^"9a8RrsA5qnc/.Z
+R03Y\r;Za!!'1&Yrp^6nnc/Ul"?F9prs*-=":Y>1nc/RXs8Nl"9`tV!s7--hL'.XPs7--Zs7--Z
+s0DV,#F>DilMpDSbl._HB)ho1nbrIiirfKOr;Qakr<0G+J,~>
+_#FCHrWEDps8VWhZMjt,T_SNkTEGCPs8VWfrr_co"AS^lrr`<Nr;QkC"9bCsrrX5D"@E%d##,4'
+j8]/Err3(d"9b.errAAa"9?78s8N3%3V`USnbrXk6Mg]a63IE2p\t:D"9eZ&!1Efh"1%t,lMLSa
+Q4*nHnb`=i^]XcaZKh8c!8%2Q"c!'Is8OnS"SVis('Fd=rs/)os7'G!"R?!d!:'L^"2Ho""TA?'
+f)u4*ZMOS(h&HPllM(;]bT$a[lMCM_Z6BE3q#:cfQ8oof":S"jZA+d?rgEeZ*jV3"ZCjo#"GWS;
+TUDI@TV.^YTX'tc"9__ZL6eKur1F:_TX':f"=]c7TEpskTUDIYR:[ZB"9E,jq#:G.(*^Qmrs/)o
+s0<ggGO#&)#4_`nTF;gGq>UQ&"9aJXrrWZ4"D7E.!YtnAq>UP/"9e#brr?[1"9@`crrC:B"9=2O
+rr^jU"D7N1"P4%b<Up"e#P%iol:hBa6N$ic?N_.[q>UWgG8:=snc&Omnc/W^"9a8RrsA5qnc/.Z
+R03Y\r;Za!!'1&Yrp^6nnc/Ul"?F9prs*-=":Y>1nc/RXs8Nl"9`tV!s7--hL'.XPs7--Zs7--Z
+s0DV,#F>DilMpDSbl._HB)ho1nbrIiirfKOr;Qakr<0G+J,~>
+_#FCHrWEDps8VWhZMjt,V"jroU]^gTs8VWfrr_co"AS^lrr`<Nr;QkC"9bP"rrX5D"@E%d##,4'
+j8]/Err3(d"9b.errAAa"9?78s8N3%3V`USnbrXk6Mg]a63IE2p\t:D"9eZ&!1Efh"1%t,lMLSa
+Q4*nHnb`=i^]XcaZKh8c!8%2Q"c!'Is8OnS"SVis('Fd=rs/)os7'G!"R?!d!:'L^"2Ho""TA?'
+f)u4*ZMOS(h&HPllM(;]bT$a[lMCM_Z6BE3q#:cfQ8oof":S"jZA+dCrgEe^*jV3"ZD:2'"GW_?
+Um\$HUnjEaUp?Cg"9__ZL6eX$r1jRcUp>^j"=]c7U^3BoUm\$aR:[ZB"9E,jq#:G.(*^Qmrs/)o
+s0<ggGO#&)#4_`nU^S6Kq>UQ&"9aJXrrWZ4"D7E.!YtnAq>UP/"9e#brr?[1"9@`crrC:B"9=2O
+rr^jU"D7N1"P4%b<Up"e#P%iol:hBa6N$ic?N_.[q>UWgG8:=snc&Omnc/Wb"9a8RrsA5qnc/.Z
+R03Y\r;Za!!'1&Yrp^6nnc/Ul"?F9prs*-=":Y>1nc/RXs8Nl"9`tV!s7--hL'.XTs7--Zs7--Z
+s0DV,#F>DilMpDSbl._HB)ho1nbrIiirfKOr;Qakr<0G+J,~>
+_#FCHrWN6#!qH;rrWE4oq#:Pk"9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"I]8h"!RjN:&P"q63IGO
+s8VB`rr\Yl"I]#a!1*Te!5SO4rr`<^q#:?arWE3fqYpXa"9]_=rrP1`"T89"T`,&oT_e]gnH=RL
+"F'D5rrg+?">e[)rrC[M"9j>Us7-+5rWMrp!YtnAr;Quks7'\("PrtT#4_``R2c>4rVllLrWETX
+AlVi<9kJ!E"9]_DB)bm2?iO+4?[#i["<:ERAl\h;"B?EE"@Dn`"QO(s";]\o!"@Wc!Z#D5q>UP/
+"9`*2Ad<NlG@*Z>"<@D@s'Pe+s'Pe<&4-L&6=3_m?XHf5AmYZDB(>m#!uqFH?haR)((:?Gs7,XX
+rrZj9"P<GK!+u35!T!;FrrBk6"9=2Ort!<V"D7](nc.nEs5P(%6L+CH"R7uM"?HD["()0Nbk_8B
+nR`14ZKh>e"doJrB&iFWrr\ns"I]2f!sB#8:&"\f"9C<ar;Qrj?N^K?nbE+dl9YUVr;Qkb"9b.f
+rrBk6"9Y(ls7-*g"j@_b"D73'rs8/plMpn9"9_'hrr>dm"98k9s*t~>
+_#FCHrWN6#!qH;rrWE4oq#:Pk"9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"I]8h"!RjN:&P"q63IGO
+s8VB`rr\Yl"I]#a!1*Te!5SO4rr`<^q#:?arWE3fqYpXa"9]_=rrP1`"T89"T`,&oT_e]gnH=RL
+"F'D5rrg+?">e[)rrC[M"9j>Us7-+5rWMrp!YtnAr;Quks7'\("PrtT#4_``R2c>4rVllLrWETX
+AlVi<9kJ!E"9]_DB)bm2?iO+4?[#i["<:ERAl\h;"B?EE"@Dn`"QO(s";]\o!"@Wc!Z#D5q>UP/
+"9`*2Ad<NlG@*Z>"<@D@s'Pe+s'Pe<&4-L&6=3_m?XHf5AmYZDB(>m#!uqFH?haR)((:?Gs7,XX
+rrZj9"P<GK!+u35!T!;FrrBk6"9=2Ort!<V"D7](nc.nEs5P(%6L+CH"R7uM"?HD["()0Nbk_8B
+nR`14ZKh>e"doJrB&iFWrr\ns"I]2f!sB#8:&"\f"9C<ar;Qrj?N^K?nbE+dl9YUVr;Qkb"9b.f
+rrBk6"9Y(ls7-*g"j@_b"D73'rs8/plMpn9"9_'hrr>dm"98k9s*t~>
+_#FCHrWN6#!qH;rrWE4sq#:Po"9b%js7-'f"7ZKs:&4hh"99nKrr[HJ"I]8h"!RjN:&P"q63IGO
+s8VB`rr\Yl"I]#a!1*Te!5SO4rr`<^q#:?arWE3fqYpXa"9]_=rrP1`"T89"V#CJsV#(,knH=RL
+"F'D5rrg+?">e[)rrC[M"9j>Us7-+5rWMrp!YtnAr;Quks7'\("PrtT#4_``R2c>4rVllLrWETX
+AlVi<9kJ!E"9]_DB)bm2?iO+4?[#i["<:ERAl\h;"B?EE"@Dn`"QO(s";]\o!"@Wc!Z#D5q>UP/
+"9`*2Ad<NlG@*Z>"<@D@s'Pe+s'Pe<&4-L&6=3_m?XHf5AmYZDB(>m#!uqFH?haR)((:?Gs7,XX
+rrZj9"P<GK!+u35!T!;FrrBk6"9=2Ort!<V"D7](nc.nEs5P(%6L+CH"R7uM"?HD["()0Nbk_8B
+nR`14ZKh>e"doJrB&iFWrr]&""I]2f!sB#8:&"\f"9C<ar;Qrj?N^K?nbE+dl9YUVr;Qkb"9b.f
+rrBk6"9Y(ls7-*g"j@_b"D73'rs8/plMpn9"9_'hrr>dm"98k9s*t~>
+_#FCArWN6#!qH;rrWE4or;Qcerr32."9b%js7-'f"7ZKs<VcXr$j8$Wrr[HJ"I]8h"!RjN6N$ic
+?N^Mfrr32ms8SJi"IAf^!1*Te#f-K?nc/Ul"?H5VrWE3fqYpXa"9]qGrrDTgrrP1`"T89)TEGZ+
+ZN'spqu6bd$j;=]rrgLJ">djgrrC[M"9<uNrr=MI"SVj#+rgacnc/XZrr3(4"9dcarsA5\nc/XZ
+R3Db:rVllLoE>1&!$(S5!"AT)!(-V`s7-*g*O8[$1JMJ*?U?P/69,/O(.(_i3AWZO.7,gH"9^OY
+.K;12.6.eV">`%e1I<ns.K;1.$j8"83AWJj.K2+/$j6\h.5O:>.K2.&.0<5:lM:G^Acr5\q?-m/
+"9]/)"98l+"9]JC"BF:WrrX\Y1R\";!YtnIq>UP("9e#brr?[1"9@`crrfV1":U^prs/)obQJ'!
+s7-$e"5O@g<W<$unHf0bnc.Vn"9^a_rrZU2"Mjj5"n?1-"MjR)rrfV1"F'/+rr\ns"I]2frWE<t
+s8VWcs8N3&1Y;O("(hZ=(AIh2l8&PGr;Qkl"9b%crrBA("9=kerrpUT"9`?,q>UQQ"9_Hsrr>dl
+"LA&X~>
+_#FCArWN6#!qH;rrWE4or;Qcerr32."9b%js7-'f"7ZKs<VcXr$j8$Wrr[HJ"I]8h"!RjN6N$ic
+?N^Mfrr32ms8SJi"IAf^!1*Te#f-K?nc/Ul"?H5VrWE3fqYpXa"9]qGrrDTgrrP1`"T89)TEGZ+
+ZN'spqu6bd$j;=]rrgLJ">djgrrC[M"9<uNrr=MI"SVj#+rgacnc/XZrr3(4"9dcarsA5\nc/XZ
+R3Db:rVllLoE>1&!$(S5!"AT)!(-V`s7-*g*O8[$1JMJ*?U?P/69,/O(.(_i3AWZO.7,gH"9^OY
+.K;12.6.eV">`%e1I<ns.K;1.$j8"83AWJj.K2+/$j6\h.5O:>.K2.&.0<5:lM:G^Acr5\q?-m/
+"9]/)"98l+"9]JC"BF:WrrX\Y1R\";!YtnIq>UP("9e#brr?[1"9@`crrfV1":U^prs/)obQJ'!
+s7-$e"5O@g<W<$unHf0bnc.Vn"9^a_rrZU2"Mjj5"n?1-"MjR)rrfV1"F'/+rr\ns"I]2frWE<t
+s8VWcs8N3&1Y;O("(hZ=(AIh2l8&PGr;Qkl"9b%crrBA("9=kerrpUT"9`?,q>UQQ"9_Hsrr>dl
+"LA&X~>
+_#FCArWN6#!qH;rrWE4sr;Qcerr32."9b%js7-'f"7ZKs<VcXr$j8$Wrr[HJ"I]8h"!RjN6N$ic
+?N^Mfrr32ms8SJi"IAf^!1*Te#f-K?nc/Ul"?H5VrWE3fqYpXa"9]qGrrDTgrrP1`"T89)U]_)/
+ZN'spqu6bd$j;=]rrgLJ">djgrrC[M"9<uNrr=MI"SVj#+rgacnc/XZrr3(4"9dcarsA5\nc/XZ
+R3Db:rVllLoE>1&!$(S5!"AT)!(-V`s7-*g*O8[$1JMJ*?U?P/69,/O(.(_i3AWZO.7,gH"9^OY
+.K;12.6.eV">`%e1I<ns.K;1.$j8"83AWJj.K2+/$j6\h.5O:>.K2.&.0<5>lM:G^Acr5\q?-m/
+"9]/)"98l+"9]JC"BF:WrrX\Y1R\";!YtnIq>UP("9e#brr?[1"9@`crrfV1":U^prs/)obQJ'!
+s7-$e"5O@g<W<$unHf0bnc.Vn"9^a_rrZU2"Mjj5"n?1-"MjR)rrfV1"F'/+rr]&""I]2frWE<t
+s8VWcs8N3&1Y;O("(hZ=(AIh2l8&PGr;Qkp"9b%crrBA("9=kerrpUT"9`?,q>UQQ"9_Hsrr>dl
+"LA&X~>
+_uBi/s8QI*"9n>qs7--)rWE@ss8VWZr;Qkl":UUqrrDTgrr_9a"CM*,"nDWm"9^1Orr[HJ"LA%,
+$o8"h3WK-Ls8Pdr(?>Do#4_`nR03YYp\tYV";(pTs7--hl3%5Mp](3q!(-P^"@<4oB(>g!!:g'g
+!]'r^r;QbirWE5:qu6ljs8SJi"I],d"O$uS.DY`Y!8[VW!/CIP"!RjN%/0]&$j6_2rs8/ps&B1)
+lMpDOrrhkt.0KePrtX,g"=](kQA1-^QA1+s"<sLhL6e-[rg*P<rr`BZTRd#r#+:4#?PWc2lMpke
+!#G;.!=T,*rrOtZ"SVir9a(1i!_ie#lMhK/"9`>&L1Z1+L1XEg";Z3IQA5C)rItPO"9^`>QBm:)
+Q3;pu"9aJXrrjhS"GZsHq>UL3"9eQ#"'#I,lM1AZB)Vo5j8Ju\bQJ1kT_SNhf)u4gq>^Ht!(-G[
+rWE4.rr38os%NV!j8]/Lqu6b1"9dQWrs#,!"JGepnbW7fTEGCcr;Za!!(-G[rr`<Grr2ugrr2sm
+rWMuq"O%hg"S)Hj"/#c"RJ?d^ZMjt,RK!3gnc/XSrWE45q#:Zj"9_'ks7--h:&P4#s*t~>
+_uBi/s8QI*"9n>qs7--)rWE@ss8VWZr;Qkl":UUqrrDTgrr_9a"CM*,"nDWm"9^1Orr[HJ"LA%,
+$o8"h3WK-Ls8Pdr(?>Do#4_`nR03YYqu?Wl%#+ls#f-K1s8V?e"?H5VrWE3fqYp[b"9`?,r;Qce
+rr3$U"9eZ&!20;o!5SL3#4_`nR03Y\qYp]B":-Hlq#:?MrWE4UrVlsD"9]/,rrNT3"T89*nc/Vh
+"9e#inb`=hnZjSH"TA?8f)u4*L6e-[L7+?^L'.W'TR_c_QA5C)reCFU!]-L"re:WFL5'%N"@DDR
+rr`<;pAY.%"S_ot1B[jSrrGgspAY1g"9e#i&nV7LAsS0`L6dR+<<NF?GF"PLrg*M;#>G=(3JNic
+LAmJAL,/r8LAh,U.0Kd.s7,pb!YtnAq>UOs"9e#brr?[1"9@K\rrgOK#TTN4rr^jU"D7K0rr`<g
+p](3q!+5a*#k@ph"9dcbs7-!d"(hZ=h>7-UTEGCjs8VWcrr\ns"I]2frWE3fp](6r!$_FB!:g'g
+!)<Fqp\tB?*!?E7rVltm"9b.frrBA("9=khrr_fks6BRd!+u$+$1S-$6N@)Us8Pgl"LA&X~>
+_uBi/s8QI*"9n>qs7--)rWEA"s8VWZr;Qkp":UUqrrDTgrr_9a"CM*,"nDWm"9^1Orr[HJ"LA%,
+$o8"h3WK-Ls8Pdr(?>Do#4_`nR03YYqu?Wa%#+ls#f-K1s8V?e"?H5VrWE3fqYp[b"9`?,r;Qce
+rr3$U"9eZ&!2TSs!5SL3#4_`nR03Y\qYp]B":-Hlq#:?MrWE4UrVlsD"9]/,rrNT3"T89*nc/Vh
+"9e#inb`=hnZjSH"TA?8f)u4*L6e-[L7+?^L'.W'Uk"2cQA5C)reCFU!]-X&re:WFL5'%N"@DDR
+rr`<;pAY.%"S_ot1B[jSrrGgspAY1g"9e#i&nV7LAsS0`L6dR+<<NF?GF"PLrg*M;#>G=(3JNic
+LAmJAL,/r8LAh,U.0Kd.s7,pb!YtnAq>UOs"9e#brr?[1"9@K\rrgOK#TTZ8rr^jU"D7K0rr`<g
+p](3q!+5a*#k@ph"9dcbs7-!d"(hZ=h>7-UU]^grs8VWcrr]&""I]2frWE3fp](6r!$_FB!:g'g
+!)<Fqp\tB?*!?E7rVltq"9b.frrBA("9=khrr_fks6BRd!+u$+$1S-$6N@)Us8Pgl"LA&X~>
+_#FCArWN6#!qH;rrWE5,r;Qc^rr3.p"9aJZnbiChnH8u%r;Qrcs8NK1.K'2JG6A&Srr3KQ"9^ab
+s7--h9`tmis8VWgrr\Yl"JGMh%#+ls%)Do5s8VTl"?H5VrWE3fqYp[b"9`)sq#:CO"9eZ&!20;o
+!l4j+rVm)ls8SJi"IB&e!:g'g"O$uO.DY`Y!8[VW!/CIP"!RjN%/0]&('Fd9rrlC*"R?$WqYpZ'
+.0KePrr^jU"BG6s!Xo2lpAY6b$j9<#rr]P8"?GcIrr`<;pAY7("TSMlqYpUG"9e`(!:fpc!C?q_
+rrPLi"R?!hAcr7\qYp]6$j:2-p\t>`"9aJTrr[uY"GZmT"X4'PJH,08rrNr=%/Ko*<<NHiq#:>+
+rWE5drVm#E"9]!rq#:HJ"9`?4s8N3%6MLNZ"9:ddrrtdm"QTO^nb`=gAcr7mqYpYj"9b.err\ns
+"I]2frWE3fp](6r!$_:>!*0"$p\t?I*!?EBrr\ns"I]&b!4)S,!20>k"7cEkj8K/]B))B.l3%5V
+r;QakrWE30ZN#F~>
+_#FCArWN6#!qH;rrWE5,r;Qc^rr3.p"9aJZnbiChnH8u%r;Qrcs8NK1.K'2JG6A&Srr3KQ"9^ab
+s7--h9`tmis8VWgrr\Yl"JGYlrVI"X";)'Xs7--hnH8tTp](3q!(-P^"@<4o?g@Fd!]'r^r;Qbi
+rWE;<s7-'f#4_`nR03YYrr2ugrr3,F"9^0hq#:?MrWE4UrVlsD"9]/,rrNr="Sr'$<<NHis7,sc
+"0s?Y"TA?&f)u4Vq#:C("?H2U"7Zd&:&4ekZ4$jrlMpke!#G;.":PG5s7,sc!\"6Trr2ugqYpR_
+"SVis63IGVrrZj9"O-`B"MbEKB'T-j".98pLACiOL'.X6rVm$F"9a8TnbN1d('G'ArrZ7("R>d^
+!+u35!:'O_"O$uO#aY8c"4mYYB)2K,"9:d_s8E-$6N$if63IGOs8VWdrrZj9"PrqS"/#c"RJ6^`
+TEGCcr;Za!!(-G[rr`<GqYpOqrWMuq"4nLq"T89%TEGCcq#:?"rWE4orr3)js8V-Y"9<'/rr_Nh
+"@E%d!)<Fq!"?15J,~>
+_#FCArWN6#!qH;rrWE5,r;Qc^rr3.t"9aJZnbiChnH8u%r;Qrcs8NK1.K'2JG6A&Srr3KQ"9^ab
+s7--h9`tmis8VWgrr\Yl"JkqprU:5M";)'Xs7--hnH8tTp](3q!(-P^"@<4o?g@Fd!]'r^r;Qbm
+rWE;<s7-'f#4_`nR03YYrr2ugrr3,F"9^0hq#:?MrWE4UrVlsD"9]/,rrNr="Sr'$<<NHis7,sc
+"0s?Y"TA?&f)u4Vq#:C("?H2U"7Zd&:&4ekZ4$jrlMpke!#G;.":PG5s7,sc!\"6Trr2ugqYpR_
+"SVis63IGVrrZj9"O-`B"MbEKB'T-j".98pLACiOL'.X6rVm$F"9a8TnbN1d('G'ArrZ7("R>d^
+!+u35!:'O_"O$uO#aY8c"4mYYB)2K,"9:d_s8E-$6N$if63IGOs8VWdrrZj9"PrqS"/H&&RJ6^`
+U]^ggr;Za!!(-G[rr`<GqYpOqrWMuq"4nLq"T89%U]^ggq#:?"rWE4srr3)js8V-Y"9<'/rr_Nh
+"@E%d!)<Fq!"?15J,~>
+_#FCArWEDps8VWhZMjt,RJd'blMgecTEGCPr;R>ns69^i6N?TGs8VWhrr`HRr;QkC":VU8rsokJ
+"@E.gnc/V`"9d?Vs7-*g",6p]T_JHpQ37d*_#N^"s69^i3VWRQ"9:dbrrYRj"D7E.!]'r^r;Qc&
+rWE5:q#:Ga"9b.lrrDTgrrgOK#V!RarrCmS"9=2TrrX\Q":Y#(!YtnAq>UUu"9e#inbW7fZ82Ud
+rVm&Q"9_'8lM^_dnc.2D"?HJ]qXF^g^]Xd?rr2ugrVluD$j8o^s8N3%(A@e."TSK%nbW7e1B[j[
+rrDTcrrGFhpAY1\"9e#i%V>hH_#OGpn^mg@R03YIq=+^Ms8RfV"Mk'7nHAm-"9a8RrrjSL"F'n9
+q>UL3"9eQ#"'#I,lM1AZB)Vo5j8JuXbl._FQMCI^f)u4gq>^Ht!(-G[rWE3Wr;Qsf"9dQ\s7-!d
+"(hZ=h>7-RTEGCcp\t>g"9b.js8E-$6MLN["99YFrrDTgrr?'u"S_p!bT[/mnbrIiTEGCcq#:?"
+rWE4hrr3)js8V-Y"9<'/rr_Nh"@E%d!)<CpZN#F~>
+_#FCArWEDps8VWhZMjt,RJd'blMgecTEGCPr;R>ns69^i6N?TGs8VWhrr`HRr;QkC":VU8rsokJ
+"@E.gnc/V`"9d?Vs7-*g",6p]T_nchq[WZ'Q37d*_#N^"s69^i3VWRQ"9:dbrrYRj"D7E.!]'r^
+r;Qc&rWE5:q#:Ga"9b.lrrDTgrrgOK#V!RarrCmS"9=2TrrX\Q":Y#(!YtnAq>UUu"9e#inbW7f
+Z82UdrVm&Q"9_'8lM^_dnc.2D"?HJ]qXF^g^]Xd?rr2ugrVluD$j8o^s8N3%(A@e."TSK%nbW7e
+1B[j[rrDTcrrGFhpAY1\"9e#i%V>hH_#OGpn^mg@R03YIq=+^Ms8RfV"Mk'7nHAm-"9a8RrrjSL
+"F'n9q>UL3"9eQ#"'#I,lM1AZB)Vo5j8JuXbl._FQMCI^f)u4gq>^Ht!(-G[rWE3Wr;Qsf"9dQ\
+s7-!d"(hZ=h>7-RTEGCcp\t>g"9b.js8E-$6MLN["99YFrrDTgrr?'u"S_p!bT[/mnbrIiTEGCc
+q#:?"rWE4hrr3)js8V-Y"9<'/rr_Nh"@E%d!)<CpZN#F~>
+_#FCArWEDps8VWhZMjt,RJd'blMgecU]^gTr;R>ns69^i6N?TGs8VWhrr`HRr;QkC":VU8rsokJ
+"@E.gnc/V`"9d?Vs7-*g",6p]V#12ln.,KfQ37d*_#N^"s69^i3VWRQ"9:dbrrYRj"D7E.!]'r^
+r;Qc&rWE5:q#:Ga"9b.lrrDTgrrgOK#V!RarrCmS"9=2TrrX\Q":Y#(!YtnAq>UUu"9e#inbW7f
+Z82UdrVm&Q"9_'8lM^_dnc.2D"?HJ]qXF^g^]Xd?rr2ugrVluD$j8o^s8N3%(A@e."TSK%nbW7e
+1B[j[rrDTcrrGFhpAY1\"9e#i%V>hH_#OGpn^mg@R03YIq=+^Ms8RfV"Mk'7nHAm-"9a8RrrjSL
+"F'n9q>UL3"9eQ#"'#I,lM1AZB)Vo5j8JuXbl._FQMCI^f)u4gq>^Ht!(-G[rWE3Wr;Qsf"9dQ\
+s7-!d"(hZ=h>7-RU]^ggp\t>k"9b.js8E-$6MLN["99YFrrDTgrr?'u"S_p!bT[/mnbrIiU]^gg
+q#:?"rWE4hrr3)js8V-Y"9<'/rr_Nh"@E%d!)<CpZN#F~>
+_uBi/s8QI*":=Vus7-,p":P^Eq#:H%"9a8Orr_Nh$t&i1!Ytnfr;QkC"9c%0rsTkM$s!?-nc/W$
+"9d?Rrr\Pi"JGMh%$h#.#f-K1s8V?e"?H5VrWE3fqYpXa"9`?6rrDTgrrOtZ"T89"T`,&o_#+-9
+nc/WW"9b.hrrgOK"=_.]rrCmS"9=2TrrXGJ":Y#(!Xo27rVuofs8N7&"9e#inbW7f^c;N#rVm&Q
+"9_'8lMLS`irfKOpAY6H"9_a&rs&#Ys3)5]6L+UN"9952s8N6%rrDTcrrOVP"TJE$nc&Rgnc/Ui
+3<]'U!^["mlMgrn"9cO:rrett"D6rnrr[uY"JGSj"2G$BJGoKO.0Kd(s7,pb!YtnAq>UOs"9e#b
+rr?[1"9@K\rrgOK":1=grr^jU"D7N1"7ZKs6MLNZ"9:I[rru1#"QTO^nb`=gAcr7mqYpbm"9b.m
+s7,sc"/#c"RJd*a"9:d_s8N3%,6%TBnc&Og:&Y:irrgOc"9e8nrr\ns"I]&b!4)S,!1Eid"7#pd
+j8K/]B))B4l3%5Vs7,XZs%WFpZN#F~>
+_uBi/s8QI*":=Vus7-,p":P^Eq#:H%"9a8Orr_Nh$t&i1!Ytnfr;QkC"9c%0rsTkM$s!?-nc/W$
+"9d?Rrr\Pi"JGYls82ir%$h#.#f-K1s8V?e"?H5VrWE3fqYpXa"9`?6rrDTgrrOtZ"T89"T`,&o
+_#+-9nc/WW"9b.hrrgOK"=_.]rrCmS"9=2TrrXGJ":Y#(!Xo27rVuofs8N7&"9e#inbW7f^c;N#
+rVm&Q"9_'8lMLS`irfKOpAY6H"9_a&rs&#Ys3)5]6L+UN"9952s8N6%rrDTcrrOVP"TJE$nc&Rg
+nc/Ui3<]'U!^["mlMgrn"9cO:rrett"D6rnrr[uY"JGSj"2G$BJGoKO.0Kd(s7,pb!YtnAq>UOs
+"9e#brr?[1"9@K\rrgOK":1=grr^jU"D7N1"7ZKs6MLNZ"9:I[rru1#"QTO^nb`=gAcr7mqYpbm
+"9b.ms7,sc"/#c"RJd*a"9:d_s8N3%,6%TBnc&Og:&Y:irrgOc"9e8nrr\ns"I]&b!4)S,!1Eid
+"7#pdj8K/]B))B4l3%5Vs7,XZs%WFpZN#F~>
+_uBi/s8QI*":=Vus7-,p":P^Eq#:H%"9a8Orr_Nh$t&i1!Ytnfr;QkC"9c%0rsTkM$s!?-nc/W$
+"9d?Rrr\Pi"Jkqps7$'g%$h#.#f-K1s8V?e"?H5VrWE3fqYpXa"9`?6rrDTgrrOtZ"T89"V#CJs
+_#+-9nc/WW"9b.hrrgOK"=_.]rrCmS"9=2TrrXGJ":Y#(!Xo27rVuofs8N7&"9e#inbW7f^c;N#
+rVm&Q"9_'8lMLS`irfKOpAY6H"9_a&rs&#Ys3)5]6L+UN"9952s8N6%rrDTcrrOVP"TJE$nc&Rg
+nc/Ui3<]'U!^["mlMgrn"9cO:rrf,#"D6rnrr[uY"Jkkn"2G$BJGoKO.0Kd(s7,pb!YtnAq>UOs
+"9e#brr?[1"9@K\rrgOK":1=grr^jU"D7N1"7ZKs6MLNZ"9:I[rru1#"QTO^nb`=gAcr7mqYpbq
+"9b.ms7,sc"/H&&RJd*a"9:d_s8N3%,6%TBnc&Og:&Y:irrgOc"9e8nrr]&""I]&b!4)S,!1Eid
+"7#pdj8K/]B))B4l3%5Vs7,XZs%WFpZN#F~>
+_#FCArWN6#.ImGR":PE`^p:8]^p:bD^mQ/dJBY=7ZG<c=Z32.6^qe10^p;S^$j8$Wrr[HJ"JGbo%
+l4=k3TJ`8s4oI6"Mk';nc&OjQ37>Vp\tYP":,.Gs6BXanH8tTp](3q!)<=i"&/n$B(u<,3<TK_r
+rBA("9?[@rr]P0"I],d"Pj1`1X,Xo!9=%]!/CIP"!RjN(A@b0*!?E?rrQO1"S_oubW,e/rVm&]"
+9_HTnb`=girfK@pAY6="9_Hprr^IJ"@DDRrr`<;pAY7("TSMlqYpUQ"9e`(!:fpc!C?q_rrPLi"
+RQ."n`*UP"Mk';lMpDSnZi9#JGK3Ln`p.B"9c%+rr]P0"GZmT"!RjNLA1]L('Fd9rrZ7("S)9e!
++u35!:'O_"NpoR,,"`2"4mYYB)2K,"9:d_s8E-$?i9p.?N^Mss8VWdrrZj9"PrqS"/#c"T_JHgT
+EGCcr;Za!!(-G[rr`<GqYpOqrWMuq"4n_""T89%TEGCjq#:?0rWE4orr3)js8VB`"9<'/rr_co"
+@E%d!)<Fq!"?15J,~>
+_#FCArWN6#.ImGR":PE`^p:8]^p:bD^mQ/dJBY=7ZG<c=Z32.6^qe10^p;S^$j8$Wrr[HJ"JGbo%
+l4=k3TJ`8s4oI6"Mk';nc&OjQ37>Vq>^Kl%"JHd"Mk'&s8VTl"?H5VrWE3qqYpXl"9`?2rrP1`"
+T89"ZMjt,bkV2?Z31;uqYp]S"9^O)q#:?SrWE4UrVlsD"9]M6rrO/C"Sr'!?N^N+rr^J*"9e]'"
+lf^g:#5@:rr_9a">fcO"3^lN:&4ekbQJ&8lMpke!#G;.":PG5s7,sc!]'r^rr2ugqYpR_"SVis6
+3IGXrt+_\<<NH?s8VBanc/-b"9a8Nrs&#Ys-WumZMFM&Z31;brVlsD"9aJRrrNr="Sr'"<<NHpq
+#:>+rWE5drVm#D":-3Eq#:HJ"9`?4s8N3%6MLNZ"9;g,rrug5"R?$enb`=gAcr7mqYpYj"9bClr
+r\ns"I]2frWE3fp](6r!$_:>!*0"$p\t?I+p8&Hrr\ns"JGPi!5SR:!20>k"7cEklM^ndB))B.n
+H8t]r;QakrWE30ZN#F~>
+_#FCArWN6#.ImGR":PE`^p:8]^p:bD^mQ/dJBY=7ZG<cAZ32.6^qe10^p;S^$j8$Wrr[HJ"Jl%s%
+l4=k3TJ`8s4oI6"Mk';nc&OjQ37>Vq>^Ka%"JHd"Mk'&s8VTl"?H5VrWE3qqYpXl"9`?2rrP1`"
+T89"ZMjt,bkV2?Z31;uqYp]S"9^O)q#:?SrWE4UrVlsD"9]M6rrO/C"Sr'!?N^N+rr^J*"9e]'"
+lf^g:#5@:rr_9a">fcO"3^lN:&4ekbQJ&8lMpke!#G;.":PG5s7,sc!]'r^rr2ugqYpR_"SVis6
+3IGXrt+_\<<NH?s8VBanc/-b"9a8Nrs&#Ys-WumZMFM&Z31;brVlsD"9aJRrrNr="Sr'"<<NHpq
+#:>+rWE5drVm#D":-3Iq#:HJ"9`?4s8N3%6MLNZ"9;g,rrug5"R?$enb`=gAcr7mqYpYn"9bOpr
+r]&""I]2frWE3fp](6r!$_:>!*0"$p\t?I+p8&Hrr]&""Jkhm!5SR:!2TVo"7cEklM^ndB))B.n
+H8t]r;QakrWE30ZN#F~>
+`;]i-rr3+F";W!5rVm&,";V+[*:<q0*<$'B$l0i^$j7b@"9^1Orss;V"LA'ts"ac\$pls7<B:$]%
+lm?E3E9'd.0Kc&AnGCWB)Z-S<G!Zg*-^]Jnc/XF*!@$h?XIDW?XIDW?iC02(1q/c?iFXB('Fa[?
+Y3YPrFQ4?G8:qsnbrIlZ5*QG6=sU(B)c6<Ad:=!"?C($AmbOL"AK"%(/=d?s'Gn@?XIDWrWE4Ur
+Vls[":PG4B)c6<B)c6<B)VoMAm].^?XIDW*!?COAm].W?Y3nWAka$D"T;p7<=B";q>UTR$l2S-p
+\tB?"9_`pqYpZ'*!A:es8N3&%.X)lrriB%!:fpc!]'r^rr2ugqYpR_"SVis63IGVrrZU2%)D`>"
+Mb-C?fUn\"0r%4ZMFM1bQJ'7s8VWL<<NGZf>,2ursg"O*2(+!f>,2^j&H4%ZM=G"GQ%^Fh>R?V^
+_R%URJHjcnZj>_LAUuSlG,1k<S.'H%IkkM"ASFds7+o*$mOa-rrhVA+p?s&rre`6(5DASrr]P0"
+IAucrWE4$p](6r!Z[lnrVm&]?N^Kfj7rW_bT[Gus8VWhs.BK1RJ?dbTG@YGQM^[cbW-Y!L?eU7"
+4n_"6N-obnP/rbZN#F~>
+`;]i-rr3+F";W!5rVm&,";V+[*:<q0*<$'B$l0i^$j7b@"9^1Orss;V"LA'ts"ac\$pls7<B:$]%
+lm?E3E9'd.0Kc&AnGCWB)Z-S<G!Zg*-^]Jnc/XF*!@$h?XIDW?XIDW?iC02(1q/c?iFXB('Fa[?
+Y3YPrFQ4?G8:qsnbrIlZ5*QG6=sU(B)c6<Ad:=!"?C($AmbOL"AK"%(/=d?s'Gn@?XIDWrWE4Ur
+Vls[":PG4B)c6<B)c6<B)VoMAm].^?XIDW*!?COAm].W?Y3nWAka$D"T;p7<=B";q>UTR$l2S-p
+\tB?"9_`pqYpZ'*!A:es8N3&%.X)lrriB%!:fpc!]'r^rr2ugqYpR_"SVis63IGVrrZU2%)D`>"
+Mb-C?fUn\"0r%4ZMFM1bQJ'7s8VWL<<NGZf>,2ursg"O*2(+!f>,2^j&H4%ZM=G"GQ%^Fh>R?V^
+_R%URJHjcnZj>_LAUuSlG,1k<S.'H%IkkM"ASFds7+o*$mOa-rrhVA+p?s&rre`6(5DASrr]P0"
+IAucrWE4$p](6r!Z[lnrVm&]?N^Kfj7rW_bT[Gus8VWhs.BK1RJ?dbTG@YGQM^[cbW-Y!L?eU7"
+4n_"6N-obnP/rbZN#F~>
+`;]i-rr3+F";W!5rVm&,";V+[*:<q0*<$'B$l0i^$j7b@"9^1Orss;V"LA'ts"ac\$pls7<B:$]%
+lm?E3E9'd.0Kc&AnGCWB)Z-S<G!Zg*-^]Jnc/XF*!@$h?XIDW?XIDW?iC02(1q/c?iFXB('Fa[?
+Y3YPrFQ4?G8:qsnbrIlZ5*QG6=sU(B)c6<Ad:=!"?C($AmbOL"AK"%(/=d?s'Gn@?XIDWrWE4Ur
+Vls[":PG4B)c6<B)c6<B)VoMAm].^?XIDW*!?COAm].W?Y3nWAka$D"T;p7<=B";q>UTR$l2S-p
+\tB?"9_`pqYpZ'*!A:es8N3&%.X)lrriB%!:fpc!]'r^rr2ugqYpR_"SVis63IGVrrZU2%)D`>"
+Mb-C?fUn\"0r%4ZMFM1bQJ'7s8VWL<<NGZf>,2ursg"O*2LC%f>,2^j&H4%ZM=G"GQ%^Fh>R?V^
+_R%URJHjcnZj>_LAUuSlG,1k<S.'H%IkkM"ASFds7+o*$mOa-rrhVA+p?s&rre`6(5DASrr]P0"
+IAucrWE4$p](6r!Z\#rrVm&]?N^Kfj7rW_bT[Gus8VWhs.fc5RJ?dbU_X(KQM^[cbW-Y!L?eU7"
+4n_"6N-obnP/rbZN#F~>
+`;]i-rr3+U$j7@%rVlr)";^q=!#FPs!%IjG#Bp:RZN'4i1Yr67RJd'c^a\(B$4I%?,3/^gnc,mD
+fE;G0naZYZ9`u6Z"==Nm((:ro"F!08":RV/9ahFG$l06[Q<sat*+*;i?WD<9L,/r86L+UM"9@ud
+rr``5s8VWcrrOVP"TJE$nc&Rgnc/Ui3<]'U!^["mlMhE>";ZaJbeW8ph9:T^";[ZjqqVLmf>*+V
+$td`[h$A`D"=Z,H*%;<q"9Bqeo`Y76rsSoW*<$'@*;U'F(,Hs0":)aBnc/Wp+p@ZLruqFOrWN6@
+rtYYU+q4DQ#n/73+rhdH+u:GB"9;g-rtFZl"9]\n"<n6i(*"M<$j6\A('OUF!X'8YrWE9O1F`,.
+rr`abs8VBanJhZ7$op*`q[<H?r<*9D.2EmP*;p!@*!H-I"WTib"9]M<rrett"<nWZ$j-VJ.2Mmc
+"q2[k((:roqZQj5ru;1d1E6N#:&Y(ml:q3[ZN#F~>
+`;]i-rr3+U$j7@%rVlr)";^q=!#FPs!%IjG#Bp:RZN'4i1Yr67RJd'c^a\(B$4I%?,3/^gnc,mD
+fE;G0naZYZ9`u6Z"==Nm((:ro"F!08":RV/9ahFG$l06[Q<sat*+*;i?WD<9L,/r86L+UM"9@ud
+rr``5s8VWcrrOVP"TJE$nc&Rgnc/Ui3<]'U!^["mlMhE>";ZaJbeW8ph9:T^";[ZjqqVLmf>*+V
+$td`[h$A`D"=Z,H*%;<q"9Bqeo`Y76rsSoW*<$'@*;U'F(,Hs0":)aBnc/Wp+p@ZLruqFOrWN6@
+rtYYU+q4DQ#n/73+rhdH+u:GB"9;g-rtFZl"9]\n"<n6i(*"M<$j6\A('OUF!X'8YrWE9O1F`,.
+rr`abs8VBanJhZ7$op*`q[<H?r<*9D.2EmP*;p!@*!H-I"WTib"9]M<rrett"<nWZ$j-VJ.2Mmc
+"q2[k((:roqZQj5ru;1d1E6N#:&Y(ml:q3[ZN#F~>
+`;]i-rr3+U$j7@%rVlr)";^q=!#FPs!%IjG#Bp:RZN'4i1Yr67RJd'c^a\(B$4I%?,3/^gnc,mD
+fE;G0naZYZ9`u6Z"==Nm((:ro"F!08":RV/9ahFG$l06[Q<sat*+*;i?WD<9L,/r86L+UM"9@ud
+rr``5s8VWcrrOVP"TJE$nc&Rgnc/Ui3<]'U!^["mlMhE>";ZaJbeW8ph9:T^";[fnqqVLmf>*+V
+$td`[h$A`D"=Z,H*%;<q"9Bqeo`Y76rsSoW*<$'@*;U'F(,Hs0":)aBnc/Wp+p@ZLruqFOrWN6@
+rtYYU+q4DQ#n/73+rhdH+u:GB"9;g-rtFZl"9]\n"<n6i(*"M<$j6\A('OUF!X'8YrWE9O1F`,.
+rr`abs8VBanJhZ7$op*`q[<H?r<*9D.2EmP*;p!@*!H-I"WTib"9]M<rrf,#"<nWZ$j-VJ.2Mmc
+"q2[k((:roqZQj5ru;1d1E6N#:&Y(ml:q3[ZN#F~>
+`;]i-rr3+U$j7R?rVm,<"9]-?RBjX)Z2g<hL')XMGC][:$%R5SR>-H.*!@_grtoq_"LA'ms$?hk
+1OtdGL4FJlJ9QNfJ9QP@G79"GJ9QNfJ:NAK$k/I"rrfVf"=\m!G6WSAJ9QNfJGFBnJ9QNfJ9QPC
+G6!BsJ--c".Gat&%'h;b$r)JBJ:MioGC]R7#(UoJGCXmfq0*-qGCXmfAcr5s_#=95?iC0.<VgnF
+J9QNfJ9QNfJGXNpJ9QNfJ9QP@G6*5<rdY')?QAbB":PDW":Y#-!Xo2?o`P7]lMphd!:fg`":PG5
+s7,sc!]'r^rr2ugqYpR_"SVis63IGVrr@9B":>P?":P\A";V+K%/'f(%/'f.$j6\A"9].f"9B8H
+rWE5]rVlo((>8lu(/=i/nc/,R$j7@$"9=bcrr<K,"98kd"9958rrKD@h?3ferWEF4s7--hnQ#Pk
+!"?15J,~>
+`;]i-rr3+U$j7R?rVm,<"9]-?RBjX)Z2g<hL')XMGC][:$%R5SR>-H.*!@_grtoq_"LA'ms$?hk
+1OtdGL4FJlJ9QNfJ9QP@G79"GJ9QNfJ:NAK$k/I"rrfVf"=\m!G6WSAJ9QNfJGFBnJ9QNfJ9QPC
+G6!BsJ--c".Gat&%'h;b$r)JBJ:MioGC]R7#(UoJGCXmfq0*-qGCXmfAcr5s_#=95?iC0.<VgnF
+J9QNfJ9QNfJGXNpJ9QNfJ9QP@G6*5<rdY')?QAbB":PDW":Y#-!Xo2?o`P7]lMphd!:fg`":PG5
+s7,sc!]'r^rr2ugqYpR_"SVis63IGVrr@9B":>P?":P\A";V+K%/'f(%/'f.$j6\A"9].f"9B8H
+rWE5]rVlo((>8lu(/=i/nc/,R$j7@$"9=bcrr<K,"98kd"9958rrKD@h?3ferWEF4s7--hnQ#Pk
+!"?15J,~>
+`;]i-rr3+U$j7R?rVm,<"9]-?RBjX)Z2g<hL')XMGC][:$%R5SR>-H.*!@_grtoq_"LA'ms$?hk
+1OtdGL4FJlJ9QNfJ9QP@G79"GJ9QNfJ:NAK$k/I"rrfVf"=\m!G6WSAJ9QNfJGFBnJ9QNfJ9QPC
+G6!BsJ--c".Gat&%'h;b$r)JBJ:MioGC]R7#(UoJGCXmfq0*-qGCXmfAcr5s_#=95?iC0.<VgnF
+J9QNfJ9QNfJGXNpJ9QNfJ9QP@G6*5<rdY')?QAbB":PDW":Y#-!Xo2?o`P7]lMphd!:fg`":PG5
+s7,sc!]'r^rr2ugqYpR_"SVis63IGVrr@9B":>P?":P\A";V+K%/'f(%/'f.$j6\A"9].f"9B8H
+rWE5]rVlo((>8lu(/=i/nc/,R$j7@$"9=bcrr<K,"98kd"9958rrKD@h?3ferWEF4s7--hnQ#Pk
+!"?15J,~>
+`;]i-rr3F^$j6\n3?gdM3<TI#RH"5KnP'-8r;R.K"9c%1lMkH!"D6]UrsY;("APPDG@l%c"9_'K
+rsnQn('K0Dj5%"@$j7cBn_jEVf-227_!9P-^bZ)r.HB(\!qD!\rWEZM((:Te(+C4+":R(1*;^K\
+$o9[B";X!H('GBU()HlP!'0?ErWE5kp](6rs8N)hqYpUQ"9e`(!:fpc!C?q_rrPLi"R?!eB)Vo5%
+/^52$mGfW%/9r/*#8qc";^e9%OhM`B#*$6^s(ipf?Djuqof&UqpuJ)fA5'1h;-\uf?Djjf?Djj^
+fC@:'u8Yqs8TAE"9`r)f?Djjf?E'p^qeS$h>c+,bQ,HUbQ-8oh>c(1h6K`j$t&r4#Yb^OZJDh<b
+h`9BrR_%m!5SKU!8%5+s47S$f?Djjh1c%PRJd'e$j6]-rkSQc#L(fDf?DIjh>Z%*h$M]Wbh(J&f
+?Djjrn%1c!/CIgr;R.t$j:1dbh((jbh()<fDj%tfA5'&fD`u*fA5'&beVHSbh^(dlC]R/<W)js?
+i:,5s*t~>
+`;]i-rr3F^$j6\n3?gdM3<TI#RH"5KnP'-8r;R.K"9c%1lMkH!"D6]UrsY;("APPDG@l%c"9_'K
+rsnQn('K0Dj5%"@$j7cBn_jEVf-227_!9P-^bZ)r.HB(\!qD!\rWEZM((:Te(+C4+":R(1*;^K\
+$o9[B";X!H('GBU()HlP!'0?ErWE5kp](6rs8N)hqYpUQ"9e`(!:fpc!C?q_rrPLi"R?!eB)Vo5%
+/^52$mGfW%/9r/*#8qc";^e9%OhM`B#*$6^s(ipf?Djuqof&UqpuJ)fA5'1h;-\uf?Djjf?Djj^
+fC@:'u8Yqs8TAE"9`r)f?Djjf?E'p^qeS$h>c+,bQ,HUbQ-8oh>c(1h6K`j$t&r4#Yb^OZJDh<b
+h`9BrR_%m!5SKU!8%5+s47S$f?Djjh1c%PRJd'e$j6]-rkSQc#L(fDf?DIjh>Z%*h$M]Wbh(J&f
+?Djjrn%1c!/CIgr;R.t$j:1dbh((jbh()<fDj%tfA5'&fD`u*fA5'&beVHSbh^(dlC]R/<W)js?
+i:,5s*t~>
+`;]i-rr3F^$j6\n3?gdM3<TI#RH"5KnP'-8r;R.K"9c%1lMkH!"D6]UrsY;("AP\HG@l%c"9_'K
+rsnQn('K0Dj5%"@$j7cBn_jEVf-227_!9P-^bZ)r.HB(\!qD!\rWEZM((:Te(+C4+":R(1*;^K\
+$o9[B";X!H('GBU()HlP!'0?ErWE5kp](6rs8N)hqYpUQ"9e`(!:fpc!C?q_rrPLi"R?!eB)Vo5%
+/^52$mGfW%/9r/*#8qc";^e9%OhM`B#*$6^s(ipf?Djuqof&UqpuJ)fA5'1h;-\uf?Djjf?Djj^
+fC@:'u8Yqs8TAE"9`r)f?Djjf?E'p^qeS$h>c+,bQ,HUbQ-8oh>c(1h6K`j$t&r4#Yb^OZJDh<b
+h`9BrR_%m!5SKU!8%5+s47S$f?Djjh1c%PRJd'e$j6]-rkSQc#L(fDf?DIjh>Z%*h$M]Wbh(J&f
+?Djjrn%1c!/CIgr;R/#$j:1dbh((jbh()<fDj%tfA5'&fD`u*fA5'&beVHSbh^(dlD,j3<W)js?
+i:,5s*t~>
+`;]i-rr3+U$k*7Iqud-2";Za^l2UeR#QO>as47Y^.K'2UG6A&Ss6BW7"9`)ss6B.<rrAJd"99G<
+"9:dLs8VTls7--S.K0JM(B4gB"9]pAs8VBDrrC[M"TK5=$l0WX"9:I8rs.ihs0<UI<Uoqc"O%Vs
+?h*pk#4]JK$ruTXqu6cMActHcs8E-$nb<%d$j?V1nbW7e.0KeQrrDTgrrDTgrrGFhpAY1\"9e#i
+"(hZrZMOS(^`4+=h=ppOTH#DRq>UZ)('L'*s7+hC!-eDF"Z$Q91K?71"9=bGrse7*"9]KjL5'nP
+('G'%hu=+j"<;$ATV/U+$j6]-hu=,@.1??bZBi_-Acr7Bir9S[s8U:e">d?VR@p3/$j6\AZN#F~>
+`;]i-rr3+U$k*7Iqud-2";Za^l2UeR#QO>as47Y^.K'2UG6A&Ss6BW7"9`)ss6B.<rrAJd"99G<
+"9:dLs8VTls7--S.K0JM(B4gB"9]pAs8VBDrrC[M"TK5=$l0WX"9:I8rs.ihs0<UI<Uoqc"O%Vs
+?h*pk#4]JK$ruTXqu6cMActHcs8E-$nb<%d$j?V1nbW7e.0KeQrrDTgrrDTgrrGFhpAY1\"9e#i
+"(hZrZMOS(^`4+=h=ppOTH#DRq>UZ)('L'*s7+hC!-eDF"Z$Q91K?71"9=bGrse7*"9]KjL5'nP
+('G'%hu=+j"<;$ATV/U+$j6]-hu=,@.1??bZBi_-Acr7Bir9S[s8U:e">d?VR@p3/$j6\AZN#F~>
+`;]i-rr3+U$k*7Iqud-2";Za^l2UeR#QO>as47Y^.K'2UG6A&Ss6BW7"9`)ss6B.<rrAJd"99G<
+"9:dLs8VTls7--S.K0JM(B4gB"9]pEs8VBDrrC[M"TK5=$l0WX"9:I8rs.ihs0<UI<Uoqc"O%Vs
+?h*pk#4]JK$ruTXqu6cMActHcs8E-$nb<%d$j?V1nbW7e.0KeQrrDTgrrDTgrrGFhpAY1\"9e#i
+"(hZrZMOS(^`4+=h=ppOU`:hZq>UZ)('L'*s7+hC!-eDF"Z$Q91K?71"9=bGrse7*"9]KjL5'nP
+('G'%hu=+j"<;$AUnk<3$j6]-hu=,@.1??bZBi_1Acr7Bir9S[s8U:e">d?ZRA?W7$j6\AZN#F~>
+`;]i-rr34X";W2S^p:cRZ2i_Bs8VTls7$L#.K'2TG6A&Ss6BW="9_`ps7,@Rs7$)WpB1L*?f(e_
+1\V"T1Vj%jn`'QKfCf=I*81>snc/Wp*!B!fqYp]M"9_']p\tBJ*!B:3rVm)ls8S`#"@DDRrWE5k
+p\t@)"TSMlqYpUQ"9e`(!:fpc!C?q_rrPLi"R?!tAcrmTs8V-Zj8].P"9^O4p\t>`"9b%drs,h4
+"GZsVnaZPW!:fmbs7--h!:fsdrpfa_!+u35!$_CFrs\l0!/C@M!qH<jrpfmc!p]gcrpfmc"7cE8
+:&Y7q%/U/4%'op's7--hrUK.P"J>l#*";fL#8RFN"=aBNlM1AZna-8a^`ima+p8#W";V+CT^r*_
+nbrIflMgh`nbiFel2q"$*;]j=%/g;/%'on`~>
+`;]i-rr34X";W2S^p:cRZ2i_Bs8VTls7$L#.K'2TG6A&Ss6BW="9_`ps7,@Rs7$)WpB1L*?f(e_
+1\V"T1Vj%jn`'QKfCf=I*81>snc/Wp*!B!fqYp]M"9_']p\tBJ*!B:3rVm)ls8S`#"@DDRrWE5k
+p\t@)"TSMlqYpUQ"9e`(!:fpc!C?q_rrPLi"R?!tAcrmTs8V-Zj8].P"9^O4p\t>`"9b%drs,h4
+"GZsVnaZPW!:fmbs7--h!:fsdrpfa_!+u35!$_CFrs\l0!/C@M!qH<jrpfmc!p]gcrpfmc"7cE8
+:&Y7q%/U/4%'op's7--hrUK.P"J>l#*";fL#8RFN"=aBNlM1AZna-8a^`ima+p8#W";V+CT^r*_
+nbrIflMgh`nbiFel2q"$*;]j=%/g;/%'on`~>
+`;]i-rr34X";W2W^p:cRZ2i_Bs8VTls7$L#.K'2TG6A&Ss6BW="9_`ps7,@Rs7$)WpB1L*?f(e_
+1\V"T1Vj%jn`'QKfCf=I*81>snc/Wp*!B!fqYp]M"9_']p\tBJ*!B:3rVm)ls8Sl'"@DDRrWE5k
+p\t@)"TSMlqYpUQ"9e`(!:fpc!C?q_rrPLi"R?!tAcrmTs8V-Zj8].T"9^O4p\t>`"9b%drs,h4
+"GZsVnaZPW!:fmbs7--h!:fsdrpfa_!+u35!$_CFrs\l0!/C@M!qH<jrpfmc!p]gcrpfmc"7cE8
+:&Y7q%/U/4%'op's7--hrUK.P"Jc/'*";fL#8RFN"=aBNlM1AZna-8a^`ima+p8#W";V+CV"4Nc
+nbrIflMgh`nbiFel2q"$*;]j=%/g;/%'on`~>
+`;]i-rr3+e('GWIh#@TKs8V?m"@E%d"*XkVZMsk,Z31;;nU^_frsJQ$s1f3L6GW-kq#(-n&HkGo
+rt!og"BGL%q#CBas8V*f"?GcIrWE5kp](6rs8N)hqYpUG"9e`(!:fpc!C?q_rrPLi"R?!hAcr7P
+qYp\k"9]LUp\tA^"9a8FqYpZ'"9aJ3rr_Q%L/%Xr#<=Rh1H@cgZJkfcn^j(,r\OR's"ad,9n9P7
+i;Wtd+u:Ys1]8a*1I?VtlJqmTn^j1@1En8(.5Nb(.92,YiVs;AZ?J;X.5O:>.5MtC"9@tus*t~>
+`;]i-rr3+e('GWIh#@TKs8V?m"@E%d"*XkVZMsk,Z31;;nU^_frsJQ$s1f3L6GW-kq#(-n&HkGo
+rt!og"BGL%q#CBas8V*f"?GcIrWE5kp](6rs8N)hqYpUG"9e`(!:fpc!C?q_rrPLi"R?!hAcr7P
+qYp\k"9]LUp\tA^"9a8FqYpZ'"9aJ3rr_Q%L/%Xr#<=Rh1H@cgZJkfcn^j(,r\OR's"ad,9n9P7
+i;Wtd+u:Ys1]8a*1I?VtlJqmTn^j1@1En8(.5Nb(.92,YiVs;AZ?J;X.5O:>.5MtC"9@tus*t~>
+`;]i-rr3+e('GWIh#@TKs8V?m"@E%d"*XkVZMsk,Z31;;nU^_frsJQ$s1f3L6GW-kq#(-n&HkGo
+rt!og"BGL%q#CBas8V*f"?GcIrWE5kp](6rs8N)hqYpUG"9e`(!:fpc!C?q_rrPLi"R?!hAcr7P
+qYp\o"9]LUp\tA^"9a8FqYpZ'"9aJ3rr_Q%L/%Xr#<=Rh1H@cgZJkfcn^j(,r\OR's"ad,9n9P7
+i;Wtd+u:Ys1]8a*1I?VtlJqmTn^j1@1En8(.5Nb(.92,YiVs;AZ?J;X.5O:>.5MtC"9@tus*t~>
+`;]i-rr37Y$j7!ps7--Zj8TJVs8VBSs6:R,3U6SC%Y+ZbRK*<PG6A%\j8\Z>M>mVOnbi1WrrDTf
+rrDTKrt=l%s0<CC:#5jLnc/Xas69^i6MCE]f)u4Vr;Quks8U[Z"@DDRrWE5kp\t@)"TSMlqYpUG
+"9e`(!:g'g!:g'g!C?q_rrPLi"R?!tAcr7Ps8VWhnc/W^"9^0tqYpcbs8SJi"I])c#/C?ELB%;D
+h#IEEf)Ga?oD\j]lHoS2n`9`Mn^[[>nb<%anRhb'ZN#F~>
+`;]i-rr37Y$j7!ps7--Zj8TJVs8VBSs6:R,3U6SC%Y+ZbRK*<PG6A%\j8\Z>M>mVOnbi1XrrN#e
+rVHfhqtpEjs82$['(Q#%Z5*R;h>dNFs8Vlol3%5VpAY6H"9_a&rs&#ns47Y^6L+UM"9@udrr``5
+s8VWcrrOVP"TJE$nc&Ognc&Oh63R#^!^["mlMhB,"9cO?s7--Zs8S_p"=_Rkrs%cgs-WumRJHje
+^]Xdps8VWEs8VW?rrDT\rrMZTd/X.9jT#8Mec5[>p\t9aB)Vq=s*t~>
+`;]i-rr37Y$j7!ps7--Zj8TJVs8VBSs6:R,3U6SC%Y+ZbRK*<PG6A%\j8\Z>M>mVOnbi1XrrMWZ
+rU:$]nF6JIs7#7P'(Q#%Z5*R;h>dNFs8Vlol3%5VpAY6H"9_a&rs&#ns47Y^6L+UM"9@udrr``5
+s8VWcrrOVP"TJE$nc&Ognc&Oh63R#^!^["mlMhB,"9cO?s7--Zs8Skt"=_Rkrs%cgs-WumRJHje
+^]Xdps8VWEs8VW?rrDT\rrMZTd/X.9jT#8Mec5[>p\t9aB)Vq=s*t~>
+`;]i-rr3+O":QL7g&D32.0M[$rVltM";\<BrrfV1"D6qMs3CWHZ7,oVq>UQ^('mY.rr^IR"BG9t
+"3__f6L+UM"9@udrr``5s8VWcrrOtZ"TJE$nbW7d3<]'U!^["mlMgru"9cO=rs7ois.BJt6HoK,
+nH\@Zs-<cjJEm%%"TQ7?"F#FsOoGUT3<TI#j0Sc9~>
+`;]i-rr3+O":QL7g&D32.0M[$rVltM";\<BrrfV1"D6qMs3CWHZ7,oVq>UQ^('mY.rr^IR"BG9t
+"3__f6L+UM"9@udrr``5s8VWcrrOtZ"TJE$nbW7d3<]'U!^["mlMgru"9cO=rs7ois.BJt6HoK,
+nH\@Zs-<cjJEm%%"TQ7?"F#FsOoGUT3<TI#j0Sc9~>
+`;]i-rr3+O":QL7g&D32.0M[$rVltM";\<BrrfV1"D6qMs3CWHZ7,oVq>UQ^('mY.rr^IR"BG9t
+"3__f6L+UM"9@udrr``5s8VWcrrOtZ"TJE$nbW7d3<]'U!^["mlMgru"9cO=rs7ois.fc#6HoK,
+nH\@Zs-<cjJEm%%"TQ7?"F#FsOoGUT3<TI#j0Sc9~>
+`;]i-rr3:T";VE#TSB+oQM6dTQC4/,QC4/,QC4/,rg>'uR@0A/QBmr)TS>62*2'UC^p6rC"BD+f
+Z8i$j1PVQgR@ot9QN!9[QC4/,QC4/,QC4/,rg="WR@0A,R@0B?R/iQPR0T%GR?j/,R?mi?!1*VP
+#F:dGQBmr,QN!9[QC4/,QC4/,QC4/,rg="WR@0A,R@0B?R/iQPR0T%GR?j/,R?mi?!1*VP"I>ID
+QC799!1EhZ!L]VUR0B7OTUDIGpR)#IrL*MT$,E4>Z?I8k3L6*2TEa5<('m74bPApbj+\-O6D2rS
+TX*D0b_?6'3U6YD"9@uds8N6%rrDTcrrOVP"TJE$nbW7d63R#^!^["mlMgru(*^Qkrrqqc"9]LU
+q#:NfQ50Tij8/c[TEGBHGCYGEQN!<PQN*BCQN!9RQC40>QN)[BQC4D6RJW<MR/iQPR/iQPR0T%G
+R?j/,R?mi?'pb8UQBmr,QBmr3TX(5YR?j8,R@0B?RK&TPR0T%GR?j/,R?mi?!1*VP#F:dGQBmr,
+QN!9RQC40>Q3WhDR?j86R?mf+".#@CQN!9PQN!9WQC4/,QC4/,rg<bPrg<kSR@0B=RJqpCTU(=u
+qj@GMrg="WR@0A,R@0B?R/iQPR2VBZR?j/,R?iS^QC4D=R@0A/R>.B&1B[h)^pF&k~>
+`;]i-rr3:T";VE#TSB+oQM6dTQC4/,QC4/,QC4/,rg>'uR@0A/QBmr)TS>62*2'UC^p6rC"BD+f
+Z8i$j1PVQgR@ot9QN!9[QC4/,QC4/,QC4/,rg="WR@0A,R@0B?R/iQPR0T%GR?j/,R?mi?!1*VP
+#F:dGQBmr,QN!9[QC4/,QC4/,QC4/,rg="WR@0A,R@0B?R/iQPR0T%GR?j/,R?mi?!1*VP"I>ID
+QC799!1EhZ!L]VUR0B7OTUDIGpR)#IrL*MT$,E4>Z?I8k3L6*2TEa5<('m74bPApbj+\-O6D2rS
+TX*D0b_?6'3U6YD"9@uds8N6%rrDTcrrOVP"TJE$nbW7d63R#^!^["mlMgru(*^Qkrrqqc"9]LU
+q#:NfQ50Tij8/c[TEGBHGCYGEQN!<PQN*BCQN!9RQC40>QN)[BQC4D6RJW<MR/iQPR/iQPR0T%G
+R?j/,R?mi?'pb8UQBmr,QBmr3TX(5YR?j8,R@0B?RK&TPR0T%GR?j/,R?mi?!1*VP#F:dGQBmr,
+QN!9RQC40>Q3WhDR?j86R?mf+".#@CQN!9PQN!9WQC4/,QC4/,rg<bPrg<kSR@0B=RJqpCTU(=u
+qj@GMrg="WR@0A,R@0B?R/iQPR2VBZR?j/,R?iS^QC4D=R@0A/R>.B&1B[h)^pF&k~>
+`;]i-rr3:T";VE#UkY\"QM6dTQC4/,QC4/,QC4/,rg>'uR@0A/QBmr)UkUZ6*2KmG^p6rC"BD7n
+Z8i$j1PV]kRA?7=QN!9[QC4/,QC4/,QC4/,rg="WR@0A,R@0B?R/iQPR0T%GR?j/,R?mi?!1*VP
+#F:dGQBmr,QN!9[QC4/,QC4/,QC4/,rg="WR@0A,R@0B?R/iQPR0T%GR?j/,R?mi?!1*VP"I>ID
+QC79=!1Eh^!L]bYbQXfdUs,X1pR)#IrL*MX$,E@BZ?I8k3L6*2U^#Y@('m74bPApbj+\-O6DW5W
+UpAh4b_?6'3U6YD"9@uds8N6%rrDTcrrOVP"TJE$nbW7d63R#^!^["mlMgru(*^Qkrrqqg"9]LU
+q#:NfQ50Tij8/c[U]^fLGCYGEQN!<PQN*BCQN!9RQC40>QN)[BQC4P:RJW<MR/iQPR/iQPR0T%G
+R?j/,R?mi?'pb8UQBmr,QBmr7Up?eaR?j8,R@0B?RK&TPR0T%GR?j/,R?mi?!1*VP#F:dGQBmr,
+QN!9RQC40>Q3WhDR?j8:R?mf+".#@CQN!9PQN!9WQC4/,QC4/,rg<bPrg<kSR@0B=RJqpCUm?b$
+qj@GMrg="WR@0A,R@0B?R/iQPR2VBZR?j/,R?iS^QC4PER@0A/R>.N*1B[h)^pF&k~>
+`;]i-rr3+U$j6\KeH>mm%/9r*(4cVg"9\u5":,;0"98`(!;[*(#jVWn#QY>Gp&kCF#lXr.(*XOj
+#QZ^erWEHA3@P4L1FX+="9:IIs8E-$nb<%d$j?V1nbW7e.0KeQrrDTcrrGFhpAY1\"9e#i!bMQ<
+ra5Y:s'Hd@"9]-"9heVf6;:HlAlUho":RUk9iY1[9j_61%"SP?"9f3gs6BXS\,Us~>
+`;]i-rr3+U$j6\KeH>mm%/9r*(4cVg"9\u5":,;0"98`(!;[*(#jVWn#QY>Gp&kCF#lXr.(*XOj
+#QZ^erWEHA3@P4L1FX+="9:IIs8E-$nb<%d$j?V1nbW7e.0KeQrrDTcrrGFhpAY1\"9e#i!bMQ<
+ra5Y:s'Hd@"9]-"9heVf6;:HlAlUho":RUk9iY1[9j_61%"SP?"9f3gs6BXS\,Us~>
+`;]i-rr3+U$j6\KeH>mm%/9r*(4cVg"9\u5":,;0"98`(1\qL[#jVWn#QY>Gp&kCF#lXr.(*XOj
+#QZ^erWEHA3@P4L1FX+="9:IIs8E-$nb<%d$j?V1nbW7e.0KeQrrDTcrrGFhpAY1\"9e#i!bMQ<
+ra5Y:s'Hd@"9]-"9heVf6;:HlAlUho":RUk9iY1[9j_61%"SP?"9f3gs6BXS\,Us~>
+`;]i-rr3P&*#8Za3B9Dd69.@m3C5_mkW&W0rAbWn3DDLo6:+C@3DDLiAi!.A3C5_d9gXaunNu4q
+s$?]Gr^$iM69.@m69.C03<qkj+u;#81HGFjr@&=&*%<m71En7l*#9_6(*Xq_GO#21$j6^up\t@)
+"TSMlqYpUQ"9eGu!DN^nrrDTgrrP1`"R?!hAcr5Fh#mir*%<[<g,T7%9gV2F3Vu/'3=%Di+sJHr
+69.(*1]Aj&+p08M.4P6.rX8f5&c;q7&cW.9"TJc'"TAZ/":,,9TEGK>"9_Hhh>d#Ss*t~>
+`;]i-rr3P&*#8Za3B9Dd69.@m3C5_mkW&W0rAbWn3DDLo6:+C@3DDLiAi!.A3C5_d9gXaunNu4q
+s$?]Gr^$iM69.@m69.C03<qkj+u;#81HGFjr@&=&*%<m71En7l*#9_6(*Xq_GO#21$j6^up\t@)
+"TSMlqYpUQ"9eGu!DN^nrrDTgrrP1`"R?!hAcr5Fh#mir*%<[<g,T7%9gV2F3Vu/'3=%Di+sJHr
+69.(*1]Aj&+p08M.4P6.rX8f5&c;q7&cW.9"TJc'"TAZ/":,,9TEGK>"9_Hhh>d#Ss*t~>
+`;]i-rr3P**#8Za3B9Dd69.@m3C5_mkW&W0rAbWn3DDLo6:+C@3DDLiAi!.A3C5_d9gXaunNu4q
+s$?]Gr^$iM69.@m69.C03<qkj+u;#81HGFjr@&=&*%<m71En7l*#9_6(*Xq_GO#21$j6^up\t@)
+"TSMlqYpUQ"9eGu!DN^nrrDTgrrP1`"R?!hAcr5Fh#mir*%<[<g,T7%9gV2F3Vu/'3=%Di+sJHr
+69.(*1]Aj&+p08M.4P6.rX8f5&c;q7&cW.9"TJc'"TAZ/":,,9TEGK>"9_Hhh>d#Ss*t~>
+_#FMs1B[i3s,R*ZnbN4an+cqWmg&%9f>,2Rh;d`!!t5;8j88lVnHPYl$j>2InbW7f1B[jNqu6uf
+naW8$"S)$Bnc&Rgnc/Uj3<TKMrr^'&R?ld!rg!VY^uMHps6ogap@%k%s2tYkZHU,"bJ:F^bQ,i^
+ZMC-pZCnN%TW+=^QG<V+1UI+3~>
+_#FMs1B[i3s,R*ZnbN(]f)>XKqu6Wied(Buf>,2Rh;d`!!t5;8j88lVnHPYl$j>2InbW7f1B[jN
+qu6ufnaW8$"S)$Bnc&Rgnc/Uj3<TKMrr^'&R?ld!rg!VY^uMQs#5eH#f%0m$rql`qp=B2drgEf0
+#FVlc^qe./ZMg0kbPAI>TE;ElZMgGqR08hk"9^Nes*t~>
+_#FMs1B[i3s,R*ZnbM\R`r4-]nG^Z+`Wt)Tf>,2Rh;d`!!t5;8j88lVnHPep$j>2InbW7f1B[jN
+qu6ufnaWD("S)$Bnc&Rgnc/Uj3<TKMrr^'&R?ld!rg!V]^uMQs#4Tj\`l?6Hrp]s3p;Zrss2tY8
+ZC/MDbJ:F^R/kG+ZMC9tZD=f)UoBabQG<V+1UI+3~>
+_#FMm1B[j[rrDSerrDS?s/l>#"9@`drt"D1G<$WG3<TI#"<oXGZJGN[""=W]lM^_lj+'HF.1?=^
+1FY+[QJMK="&/n$nU^^ks3CWH*!@JU[/YX~>
+_#FMm1B[j[rrDSerrDS?s/l>#"9@`drt"D1G<$WG3<TI#"<oXGZJGN[""=W]lM^_lj+'HF.1?=^
+1FY+[QJMK="&/n$nU^`4rrDqIs4mVV*!@JU[/YX~>
+_#FMm1B[j[rrDSerrDS?s/l>#"9@`drt"D1G<$WG3<TI#"<oXGZJGN[""=W]lM^_lj+'HF.1?=^
+1FY+[QJMK="&/n$nU^`4rrDP>s4mVV*!@JU[/YX~>
+_#Fbt1B[jNs8VWhs7([?K`D)Iqu6Zkrr3)qs8VWfrrDTPs8N3+%0-@mZ;h\:"TB2:":#]B_#OE`
+"9e`(!oqL:qZHm-qud'f_!:q!!^["ml2TH,WrE(orVuik!WVrnrrDinrrDihrrDikrrMobp\t6g
+rr<#n"98/rq"ashnHAm^s7-,mnH8e"";\?DJ,~>
+_#Fbt1B[jNs8VWhs7([?K`D)Iqu6Zkrr3)qs8VWfrrDTPs8N3+%0-@mZ;h\:"TB2:":#]B_#OE`
+"9e`(!oqL:qZHm-qud'f_!:q!!^["ml2TH,WrE(orVuik!WVrnrrDinrrDihrrDikrrMobp\t6g
+rr<#n"98/rq"ashnHAm^s7-,mnH8e"";\?DJ,~>
+_#Fbt1B[jNs8VWhs7([?K`D)Iqu6Zkrr3)qs8VWfrrDTPs8N3+%0-@mZ;h\:"TB2:":#]B_#OE`
+"9e`(!oqL:qZHm-qud'f_!:q!!^["ml2TH,WrE(orVuik!WVrnrrDinrrDihrrDikrrMobp\t6g
+rr<#n"98/rq"ashnHAm^s7-,mnH8e"";\?DJ,~>
+_#FMm.0KeQrrDTgs8V*\lLF0=nI+XPn`oE0n`oE0n`p,D$gR9PlK[p0lK[p0lM9uJl5T9YnaYo0
+naYo0naYo0naYo7n`oE0n`oE0n`p,D#3ta=n`o/pJcG!7!;QHk!;Ob;'*J^fs6;oj"9]KPZJE;?
+1U<Zc%/pAP6F-VI"9ec)^h,"u"=])2R5kDCTQ`0p";X_)j8VFK"G-UDrrDiKrrDinrrVuqs8D`m
+rrVuqpuhYWnZMlr$j7RMs7,B`s*t~>
+_#FMm.0KeQrrDTgs8V*\lLF0=nI+XPn`oE0n`oE0n`p,D$gR9PlK[p0lK[p0lM9uJl5T9YnaYo0
+naYo0naYo0naYo7n`oE0n`oE0n`p,D#3ta=n`o/pJcG!7!;QHk!;Ob;'*J^fs6;oj"9]KPZJE;?
+1U<Zc%/pAP6F-VI"9ec)^h,"u"=])2R5kDCTQ`0p";X_)j8VFK"G-UDrrDiKrrDinrrVuqs8D`m
+rrVuqpuhYWnZMlr$j7RMs7,B`s*t~>
+_#FMm.0KeQrrDTgs8V*\lLF0=nI+XPn`oE0n`oE0n`p,D$gR9PlK[p0lK[p0lM9uJl5T9YnaYo0
+naYo0naYo0naYo7n`oE0n`oE0n`p,D#3ta=n`o/pJcG!7!;QHk!;Ob;'*J^fs6;oj"9]KPZJE;?
+1U<fg%/pAP6F-VI"9ec)^h,"u"=])2R5kDGUj"Tt";X_-j8VFK"G-UDrrDiKrrDinrrVuqs8D`m
+rrVuqpuhYWnZMlr$j7RMs7,B`s*t~>
+_#FMm1B[j[rs/)ol@p8]$k0HFrsSu4$rt)os60L_q#CBnp]:Eici4:e$j<kj"9^/t_#=96*#AMQ
+'u4/Z"<>3D"9e7_+p8#mZJGQ\l?<C1rsJ&,G8:;aB(81j"N:<?nU^^urrs5A(@hG)n[JOK~>
+_#FMm1B[j[rs/)ol@p8]$k0HFrsSu4$rt)os60L_q#CBnp]CKjqtpBnqu6Tuqu?QnqqqD[((:>O
+L'.W.GJO1W!?;mRrtW=V"9]^[63IG]R3Db:,-p&)s6=e2rr3>j^ipOs"D70j"9c[C!:cKW#5eGt
+s82inJcGTH"r7=Wnc/XZ\,Us~>
+_#FMm1B[j[rs/)ol@p8]$k0HFrsSu4$rt)os60L_q#CBnp]CKjnGE4cnG`FjnGi"XnDF6P((:>O
+L'.W.GJO1W!?;mRrtW=V"9]^[63IG]R3Db:,-p&)s6=e2rr3>j^ipOs"D70j"9c[C!:cKW#4VZ^
+s7$'XJcGTH"r7=Wnc/XZ\,Us~>
+_#Ff&1B[jNs8VWhj+%oH"9KQTl@Ju<rs';B"<80[B$C/P'FY-Es7--hj*(n71E6N+<>G]dL=cD(
+!qAtfr;R&mb^^H;3?eS/JcC<$c2[eH!"?46J,~>
+_#Ff&1B[jNs8VWhj+%oH"9KQTl@Ju<rs';B"<80[B$C/P'FY-Es7--hj*(n71E6N+<>G]dL=cD(
+!qAtfr;R&mb^^H;3?eS/JcC<$c2[eH!"?46J,~>
+_#Ff&1B[jNs8VWhj+%oH"9KQTl@Ju<rs';B"<80[B$C/P'FY-Es7--hj*(n71E6N+<>G]dL=cD(
+!qAtfr;R&mb^^H;3?eS/JcC<$c2[eH!"?46J,~>
+_#FMs3<TKarrDTfrrMETdJj74s8MQ[s8VWarrhlls6AWqs/Z/"*;p!A6D3lGrr``5s8VWgrrV52
+.K0GZ$j6\WL@P<DnaZYZ3<]3Y#30nC":PD9JcC<$c2[eH!#Dp@J,~>
+_#FMs3<TKarrDTfrrMETdJj74s8MQ[s8VWarrhlls6AWqs/Z/"*;p!A6D3lGrr``5s8VWgrrV52
+.K0GZ$j6\WL@P<DnaZYZ3<]3Y#30nC":PD9JcC<$c2[eH!#Dp@J,~>
+_#FMs3<TKarrDTfrrMETdJj74s8MQ[s8VWarrhlls6AWqs/Z/"*;p!A6DX/Krr``5s8VWgrrV52
+.K0GZ$j6\WL@P<DnaZYZ3<]3Y#30nC":PD9JcC<$c2[eH!#Dp@J,~>
+_#FMs3<TKarrDT3rrDTds82?]s82?_rrDS?s/l;*('FaU9sWgUrt5_Cs8VWhnc/XSTK*,`"9]Kp
+nbW7d63R,a"kR?%"9]-as+13ps8N3%(:4$k~>
+_#FMs3<TKarrDT3rrDTds82?]s82?_rrDS?s/l;*('FaU9sWgUrt5_Cs8VWhnc/XSTK*,`"9]Kp
+nbW7d63R,a"kR?%"9]-as+13ps8N3%(:4$k~>
+_#FMs3<TKarrDT3rrDTds82?]s82?_rrDS?s/l;*('FaU9sWgUrt5_Cs8VWhnc/XSUcAPd"9]Kp
+nbW7d63R,a"kR?%"9]-as+13ps8N3%(:4$k~>
+_#G#,1B[jNs8VWhs4;uc*$QgU.K1Lr.3]rb.3]rbrZV=krZVRr+sJHb+sJK8+oj(k+pTP@+t4rb
++t<L8"%#_Ml@Jtorra)?"?E.Ms8N6%rrDTerrVJ?%/pA4?g@[knbiCf63R)`"Pm&\":Tk]JcF!p
+rr`<1Zi>O~>
+_#G#,1B[jNs8VWhs4;uc*$QgU.K1Lr.3]rb.3]rbrZV=krZVRr+sJHb+sJK8+oj(k+pTP@+t4rb
++t<L8"%#_Ml@Jtorra)?"?E.Ms8N6%rrDTerrVJ?%/pA4?g@[knbiCf63R)`"Pm&\":Tk]JcF!p
+rr`<1Zi>O~>
+_#G#,1B[jNs8VWhs4;uc*$QgU.K1Lr.3]rb.3]rbrZV=krZVRr+sJHb+sJK8+oj(k+pTP@+t4rb
++t<L8"%#_Ml@Jtorra)?"?E:Qs8N6%rrDTerrVJ?%/pA4?g@[knbiCf63R)`"Pm&\":Tk]JcF!p
+rr`<1Zi>O~>
+_#FMs3<TKarrqrms6=e:c3+8Wj8\E7q>UH[rr;ufJcD>A"<7OIB(>Zr":PG5s7-*g#k@rpbVKA)
+:!EP8!:g'g!C?q`rrdNK":XRHs+13qs8N3%(:4$k~>
+_#FMs3<TKarrqrms6=e:c3+8Wj8\E7q>UH[rr;ufJcD>A"<7OIB(>Zr":PG5s7-*g#k@rpbVKA)
+:!EP8!:g'g!C?q`rrdNK":XRHs+13qs8N3%(:4$k~>
+_#FMs3<TKarrqrms6=e:c3+8Wj8\E7q>UH[rr;ufJcD>A"<7OIB(>Zr":PG5s7-*g#k@rpbVKA)
+:!EP8!:g'g!C?q`rrdNK":XRHs+13qs8N3%(:4$k~>
+_#FMs3<TK^rrM/(ble/DlMp/>q>UJ]l@Ju'rrX\Q"JGMh!=T,*rrZU2.DY]X!DN^krrcp:"=!Ae
+s+13qs8N3%%(#ta~>
+_#FMs3<TK^rrM/(ble/DlMp/>q>UJ]l@Ju'rrX\Q"JGMh!=T,*rrZU2.DY]X!DN^krrcp:"=!Ae
+s+13qs8N3%%(#ta~>
+_#FMs3<TK^rrM/(ble/DlMp/>q>UJ]l@Ju'rrX\Q"Jkel!=T,*rrZU2.DY]X!DN^krrcp:"=!Ae
+s+13qs8N3%%(#ta~>
+_#FQ&1B^%[m/I7L?N^L=lIc+<lBriI"ITAr((:<S((ALlrX8f1bk&UMbkJmUbeVH<bkJmSbeVHs
+^]_lsbeVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_lsbeVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_ls
+beVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_lsbeVHs^]M`qbkJmSbeVHq^]M`qbkJmSbeVHq^]M`q
+bkSsZb_AFe:$VcYn[JOK~>
+_#FQ&1B^%[m/I7L?N^L=lIc+<lBriI"ITAr((:<S((ALlrX8f1bk&UMbkJmUbeVH<bkJmSbeVHs
+^]_lsbeVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_lsbeVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_ls
+beVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_lsbeVHs^]M`qbkJmSbeVHq^]M`qbkJmSbeVHq^]M`q
+bkSsZb_AFe:$VcYn[JOK~>
+_#FQ&1B^%[m/I7L?N^L=lIc+<lBriI"ITAr((:<S((ALlrX8f1bk&UMbkJmUbeVH<bkJmSbeVHs
+^]_lsbeVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_lsbeVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_ls
+beVHs^]M`qbkJmUbeVH<bkJmSbeVHs^]_lsbeVHs^]M`qbkJmSbeVHq^]M`qbkJmSbeVHq^]M`q
+bkSsZb_AFe:$VcYn[JOK~>
+_#FW/<<O:AGC]<t!-eES#'XZ.":Sndg&D01TO/mo"G$],"G$]U"9],9"?GbSs*t~>
+_#FW/<<O:AGC]<t!-eES#'XZ.":Sndg&D01TO/mo"G$],"G$]U"9],9"?GbSs*t~>
+_#FW/<<O:AGC]<t!-eES#'XZ.":Sndg&D01UgG<s"G$],"G$]U"9],9"?GbSs*t~>
+_#FGk<TjPh.@K`+s6BU`"7b!9ZMr\[f)a^ZoA]i9qr8"JL,g[u"9]-"nbMGQj6G[ij8%sEj6G[i
+j6G\#l3-/4j6G\#l3?;6j6G[ij8%sCj6G[ij8%sEj6G[ij6G\#l3-/4j6G\#l3?;6j6G[ij8%sC
+j6G[ij8%sEj6G[ij6G\#l3-/4j6G\#l3?;6j6G[ij8%sCj6G[ij8%sEj6G[ij6G\'l2]'-ZMgF)
+f?DIjbfn\SZCmV?JGFBqJ3lt;?U@J!Aet7`"BAf'695$3q&BG[*$Y+s"<ng0*$Y%qrZV=^q]Z"[
+JKfXhgEHbV+q/\c[/YX~>
+_#FGk<TjPh.@K`+s6BU`"7b!9ZMr\[f)a^ZoA]i9qr8"JL,g[u"9]-"nbMGQj6G[ij8%sEj6G[i
+j6G\#l3-/4j6G\#l3?;6j6G[ij8%sCj6G[ij8%sEj6G[ij6G\#l3-/4j6G\#l3?;6j6G[ij8%sC
+j6G[ij8%sEj6G[ij6G\#l3-/4j6G\#l3?;6j6G[ij8%sCj6G[ij8%sEj6G[ij6G\'l2]'-ZMgF)
+f?DIjbfn\SZCmV?JGFBqJ3lt;?U@J!Aet7`"BAf'695$3q&BG[*$Y+s"<ng0*$Y%qrZV=^q]Z"[
+JKfXhgEHbV+q/\c[/YX~>
+_#FGk<TjPh.@K`+s6BU`"7b!=ZMr\[f)a^ZoA]i9qr8"JL,g[u"9]-"nbMGQj6G[ij8%sEj6G[i
+j6G\#l3-/4j6G\#l3?;6j6G[ij8%sCj6G[ij8%sEj6G[ij6G\#l3-/4j6G\#l3?;6j6G[ij8%sC
+j6G[ij8%sEj6G[ij6G\#l3-/4j6G\#l3?;6j6G[ij8%sCj6G[ij8%sEj6G[ij6G\'l2]'-ZMgR-
+f?DIjbfn\SZD<nCJGFBqJ3lt;?U@J!Aet7`"BAf'695$3q&BG[*$Y+s"<ng0*$Y%qrZV=^q]Z"[
+JKfXhgEHbV+q/\c[/YX~>
+^]+G)J9PU;rc\?Snok.cQGEM"!:'R`!o8&?h?3lqGO^7aJcC<$JcDbM!p\"cZi>O~>
+^]+G)J9PU;rc\?Snok.cQGEM"!:'R`!o8&?h?3lqGO^7aJcC<$JcDbM!p\"cZi>O~>
+^]+G)J9PU;rc\?Snok.cQGEM"!:'R`!o8&?h?3lqGO^7aJcC<$JcDbM!p\"cZi>O~>
+^]+<!k5PGOrVm&:9`tS=(?5N%$po]anc.nRs8VWhs8VWhs*sS=s7,XZs7,XZs7,XZnaZYZnaZYZ
+naZYZnaZYLnc/XZnc/XZnc/XZnc/.Ls8VWZs8VWZs8VWhs7,XZs7,XZs7,XZnaZYZnaZYZnaZYZ
+naZYLnc/XZnc/XZnc/XZnc/.Ls8VWZs8VWZs8VWhs7,XZs7,XZs7,XZnaZYZs7--hs7--hs7%cB
+naZYZnaZYZnaZYZnaZYLnc/XZnc/XZnc/XZs8VWZs8VWZs8VWZs7,XZs7,W1s+13$s7$$jnc/XZ
+[f:j~>
+^]+<!k5PGOrVm&:9`tS=(?5N%$po]anc.nRs8VWhs8VWhs*sS=s7,XZs7,XZs7,XZnaZYZnaZYZ
+naZYZnaZYLnc/XZnc/XZnc/XZnc/.Ls8VWZs8VWZs8VWhs7,XZs7,XZs7,XZnaZYZnaZYZnaZYZ
+naZYLnc/XZnc/XZnc/XZnc/.Ls8VWZs8VWZs8VWhs7,XZs7,XZs7,XZnaZYZs7--hs7--hs7%cB
+naZYZnaZYZnaZYZnaZYLnc/XZnc/XZnc/XZs8VWZs8VWZs8VWZs7,XZs7,W1s+13$s7$$jnc/XZ
+[f:j~>
+^]+<!k5PGOrVm&:9`tS=(?5N%$po]anc.nRs8VWhs8VWhs*sS=s7,XZs7,XZs7,XZnaZYZnaZYZ
+naZYZnaZYLnc/XZnc/XZnc/XZnc/.Ls8VWZs8VWZs8VWhs7,XZs7,XZs7,XZnaZYZnaZYZnaZYZ
+naZYLnc/XZnc/XZnc/XZnc/.Ls8VWZs8VWZs8VWhs7,XZs7,XZs7,XZnaZYZs7--hs7--hs7%cB
+naZYZnaZYZnaZYZnaZYLnc/XZnc/XZnc/XZs8VWZs8VWZs8VWZs7,XZs7,W1s+13$s7$$jnc/XZ
+[f:j~>
+_Z'Z%nb`@dnaZVZnbW7inV/"d,)5XIrrDS?s+14'rrDS?s+13prrDSps*t~>
+_Z'Z%nb`@dnaZVZnbW7inV/"d,)5XIrrDS?s+14'rrDS?s+13prrDSps*t~>
+_Z'Z%nb`@dnaZVZnbW7inV/"d,)5XIrrDS?s+14'rrDS?s+13prrDSps*t~>
+T`5.%$j8#bJcC<$JcC<$JcE%UJ,~>
+T`5.%$j8#bJcC<$JcC<$JcE%UJ,~>
+T`5.%$j8#bJcC<$JcC<$JcE%UJ,~>
+U]1PYTOn<0JCjf#!:bX?JcC<$JcC<$[Jta~>
+U]1PYTOn<0JCjf#!:bX?JcC<$JcC<$[Jta~>
+U]1PYUh0`4JCjf#!:bX?JcC<$JcC<$[Jta~>
+^Ae1WqI]2N#%fXo"<;s^JcC<$JcC<$JcDtSJ,~>
+^Ae1WqI]2N#%fXo"<;s^JcC<$JcC<$JcDtSJ,~>
+^Ae1WqI]2N#%fXo"<;s^JcC<$JcC<$JcDtSJ,~>
+^Ae0AjoboFJAC^Ts7,W1s+13$s+13$s0M`U~>
+^Ae0AjoboFJAC^Ts7,W1s+13$s+13$s0M`U~>
+^Ae0AjoboFJAC^Ts7,W1s+13$s+13$s0M`U~>
+^AeFmGCY3fJ:Mk8AcR&SJ-(J2l@Jtds+13$s+13Os*t~>
+^AeFmGCY3fJ:Mk8AcR&SJ-(J2l@Jtds+13$s+13Os*t~>
+^AeFmGCY3fJ:Mk8AcR&SJ-(J2l@Jtds+13$s+13Os*t~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+JcC<$JcC<$JcC<$bl<1~>
+%%EndData
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/learn.jpg b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/learn.jpg
new file mode 100644
index 00000000..8975ca85
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/learn.jpg
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/tasai.png b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/tasai.png
new file mode 100644
index 00000000..fa6633e2
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/tasai.png
Binary files differ
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/tasaismall.eps b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/tasaismall.eps
new file mode 100644
index 00000000..098452c8
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/tasaismall.eps
@@ -0,0 +1,48 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: GIMP PostScript file plugin V 1,15 by Peter Kirchgessner
+%%Title: K:\Documents and Settings\dm\Dokumentumok\Kpek\tasaismall.eps
+%%CreationDate: Mon Apr 26 14:53:16 2004
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 14 14 32 24
+%%EndComments
+%%BeginProlog
+% Use own dictionary to avoid conflicts
+10 dict begin
+%%EndProlog
+%%Page: 1 1
+% Translate for offset
+14.173228346456694 14.173228346456694 translate
+% Translate to begin of first scanline
+0 9.5989645129975187 translate
+17.518110236220473 -9.5989645129975187 scale
+% Image geometry
+146 80 8
+% Transformation matrix
+[ 146 0 0 80 0 0 ]
+currentfile /ASCII85Decode filter /RunLengthDecode filter
+%%BeginData: 1300 ASCII Bytes
+image
+JcG3=JcG3=JcG3=JcG3=nc&[krr<%Os+14=s7H<k!;lcr!/1CErr<&qrr<%Qs7QBl!;QQo!/CO>
+rr<%Rs7ZHm!;HKn!/COIrr<&mrr<%Ss7ZHm!;?Em!/LT*s6p!^rr<%Ms8)cirr<&lrr<&Ss8N)%
+s7cNn!71ZF!9=+Z!6tQ=rr<&Frr<&Yrr<&Cs7lTo!;6?l!8RVS!9=(Z!:^!k!<3$!s8E#[s7lTo
+!;?Em!8IPR!9=(Z!;QTk!8IP?rr<&Ss8E#Yrr<&ss8E#Js7lTo!7:cG!94"Y!6kK<rr<&Gs8N)Y
+rr<&srr<&Is7lTo!7CiH!94%Y!6kK<rr<&Hs8N)Ys8N)Cs7lTo!7CfH!9*tX!;lcr!7UuCrr<&I
+s8N)Xrr<&qrr<&Js7lTo!7LlI!9!kW!6bE;rr<&Irr<&Wrr<&prr<&Ks7lTo!7UrJ!8meV!;ZWp
+!7_&Crr<&Krr<&Ws8N)orr<&Ls7cNn!7h,L!9!nW!;QQo!7h,Es7cQprrE&urW)'[!W`6#i;`fW
+q#:<oec5LGrr<*"!:p-i!9X:]!8d_U!;HNn!7q2Ks8N)srr<&jrr<&^rrW9$rrD!W!!)cnrrCXM
+qu6WrrVlitoDegjjo5G`s8N*!p&G-n!:g'h!;HKp!<3&Ns8)cq!<2uu!;-<k!:'Ra!<)ot!<3#u
+!;?Hl!;$3j!;?Hm!;QTk!9X=Vs8N)hrr<&ss8N)irr<&srr<&ts8N)ks8N)lrr<&]s82l^s7QEl
+!;-9k!:Bgd!;6Bl!;-9k!;6?l!;6Bl!:Tse!:BgXs8N)mrr`?%rr<&urr<&mrr<&nrr<&trr<&j
+rr<&mrr<&ls8N)cs8;rfs763i!;HNm!;uis!;QTo!;$3l!<3&irr<&orr<&jrr<&`s8;ris7$$g
+!:^$g!;lfr!8meV!;QQo!8%8M!;?HJs8)fPrr<&orr<&Ls8N)ns0DY)!;QQo!7_#K!;HN!rr<&o
+rr<&Krr<&ns0M_*!;HKn!7_#K!;HMlrr<&Ls8N)ns0M_*!;HKn!7h)L!;?Gkrr<&Ms8N)ms/>qt
+!8%8N!;6Ajrr<&Os8N)ks/>qt!8@JQ!:p/grr<&Ss8E#gs/>qt!8dbU!:Klcrr<&Ws8N)cs+14=
+s/5ks!9a@^!9O6Yrr<&As/5ks!6Y>>rr<&As/5ks!6Y>>s8N)Bs/,er!6bD>rr<&Bs/#_q!6kIo
+s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou<~>
+%%EndData
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/tasaismall.ps b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/tasaismall.ps
new file mode 100644
index 00000000..0437dc3f
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/img/tasaismall.ps
@@ -0,0 +1,48 @@
+%!PS-Adobe-3.0
+%%Creator: GIMP PostScript file plugin V 1,15 by Peter Kirchgessner
+%%Title: K:\Documents and Settings\dm\Dokumentumok\Kpek\tasaismall.ps
+%%CreationDate: Mon Apr 26 14:53:03 2004
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 14 14 32 24
+%%EndComments
+%%BeginProlog
+% Use own dictionary to avoid conflicts
+10 dict begin
+%%EndProlog
+%%Page: 1 1
+% Translate for offset
+14.173228346456694 14.173228346456694 translate
+% Translate to begin of first scanline
+0 9.5989645129975187 translate
+17.518110236220473 -9.5989645129975187 scale
+% Image geometry
+146 80 8
+% Transformation matrix
+[ 146 0 0 80 0 0 ]
+currentfile /ASCII85Decode filter /RunLengthDecode filter
+%%BeginData: 1300 ASCII Bytes
+image
+JcG3=JcG3=JcG3=JcG3=nc&[krr<%Os+14=s7H<k!;lcr!/1CErr<&qrr<%Qs7QBl!;QQo!/CO>
+rr<%Rs7ZHm!;HKn!/COIrr<&mrr<%Ss7ZHm!;?Em!/LT*s6p!^rr<%Ms8)cirr<&lrr<&Ss8N)%
+s7cNn!71ZF!9=+Z!6tQ=rr<&Frr<&Yrr<&Cs7lTo!;6?l!8RVS!9=(Z!:^!k!<3$!s8E#[s7lTo
+!;?Em!8IPR!9=(Z!;QTk!8IP?rr<&Ss8E#Yrr<&ss8E#Js7lTo!7:cG!94"Y!6kK<rr<&Gs8N)Y
+rr<&srr<&Is7lTo!7CiH!94%Y!6kK<rr<&Hs8N)Ys8N)Cs7lTo!7CfH!9*tX!;lcr!7UuCrr<&I
+s8N)Xrr<&qrr<&Js7lTo!7LlI!9!kW!6bE;rr<&Irr<&Wrr<&prr<&Ks7lTo!7UrJ!8meV!;ZWp
+!7_&Crr<&Krr<&Ws8N)orr<&Ls7cNn!7h,L!9!nW!;QQo!7h,Es7cQprrE&urW)'[!W`6#i;`fW
+q#:<oec5LGrr<*"!:p-i!9X:]!8d_U!;HNn!7q2Ks8N)srr<&jrr<&^rrW9$rrD!W!!)cnrrCXM
+qu6WrrVlitoDegjjo5G`s8N*!p&G-n!:g'h!;HKp!<3&Ns8)cq!<2uu!;-<k!:'Ra!<)ot!<3#u
+!;?Hl!;$3j!;?Hm!;QTk!9X=Vs8N)hrr<&ss8N)irr<&srr<&ts8N)ks8N)lrr<&]s82l^s7QEl
+!;-9k!:Bgd!;6Bl!;-9k!;6?l!;6Bl!:Tse!:BgXs8N)mrr`?%rr<&urr<&mrr<&nrr<&trr<&j
+rr<&mrr<&ls8N)cs8;rfs763i!;HNm!;uis!;QTo!;$3l!<3&irr<&orr<&jrr<&`s8;ris7$$g
+!:^$g!;lfr!8meV!;QQo!8%8M!;?HJs8)fPrr<&orr<&Ls8N)ns0DY)!;QQo!7_#K!;HN!rr<&o
+rr<&Krr<&ns0M_*!;HKn!7_#K!;HMlrr<&Ls8N)ns0M_*!;HKn!7h)L!;?Gkrr<&Ms8N)ms/>qt
+!8%8N!;6Ajrr<&Os8N)ks/>qt!8@JQ!:p/grr<&Ss8E#gs/>qt!8dbU!:Klcrr<&Ws8N)cs+14=
+s/5ks!9a@^!9O6Yrr<&As/5ks!6Y>>rr<&As/5ks!6Y>>s8N)Bs/,er!6bD>rr<&Bs/#_q!6kIo
+s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou=s6ou<~>
+%%EndData
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/javascript/kozponti.jquery.min.js b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/javascript/kozponti.jquery.min.js
new file mode 100644
index 00000000..14bfd80b
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/javascript/kozponti.jquery.min.js
@@ -0,0 +1,15 @@
+$(function() {
+ var processing = false;
+
+ $('#download').click(function() {
+ if (processing==true) return;
+ processing = true;
+ var origHtml = $('#download').html();
+ setTimeout(function() {
+ $('#download').html(origHtml);
+ processing = false;
+ },5000);
+ $('#download').html('Generálás...');
+ });
+
+}); \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/javascript/pontszamito.jquery.min.js b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/javascript/pontszamito.jquery.min.js
new file mode 100644
index 00000000..d45db2dc
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/skin/classic/module-felveteli/javascript/pontszamito.jquery.min.js
@@ -0,0 +1,42 @@
+$(function() {
+ var processing = false;
+
+ $('.pontszamitoUpdate').bind('change',function() {szamit();});
+
+ $('#felviPontszamito button').bind('click', function(event) {
+ ii = event.target.id.split('_');
+ $('#felviPontszamito select[id^=p_'+ii[1]+']').each(function(i,j) {
+ x = $(j);
+ x.val(ii[2]);
+ });
+ szamit();
+ });
+
+ var szamit = function() {
+ var atlag = 0;
+ var sum = 0;
+ var count=0;
+ $('.pontszamitoSelect').each(function(index,item) {
+ ertek = parseInt($(item).val());
+ if (ertek>0) {
+ sum += ertek;
+ count++;
+ }
+ });
+
+ if (parseFloat($('#magyar').val()) >50) $('#magyar').val(50);
+ if (parseFloat($('#matek').val()) >50) $('#matek').val(50);
+
+ $('#targyAtlagok').val(sum/count);
+ $('#hozottPont').val(((sum/count)-4)*20);
+ $('#magyarSzamitott').val((parseFloat($('#magyar').val())*0.8));
+ $('#matekSzamitott').val((parseFloat($('#matek').val())*0.8));
+
+ $('#osszpont').val(
+ parseFloat($('#hozottPont').val())
+ + parseFloat($('#magyarSzamitott').val())
+ + parseFloat($('#matekSzamitott').val())
+ ) ;
+ }
+
+});
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/2007N.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/2007N.html
new file mode 100644
index 00000000..b4326f69
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/2007N.html
@@ -0,0 +1,65 @@
+
+<h2>Nyelvi előkészítő év</h2>
+<h3>2007/2008 (9.N osztály: ének-zene, humán, matematika, informatika tagozat)</h3>
+
+<h4>Célok</h4>
+<p>A nyelvi előkészítő év (nulladik év) legfőbb célja az intenzív német nyelvi képzés.
+
+ Ezen túlmenően igen fontosnak tartjuk a diákok gondolkodási
+ készségének, képességének fejlesztését is.
+
+ Véleményünk szerint ez leginkább úgy valósulhat meg, ha nem sok tantárgyat tanítunk egyenként alacsony óraszámban,
+ hanem kevesebb tantárgyat magasabb óraszámban.
+
+ Új elemként felvettük a tantárgyak közé a gépírást is, ezen ismeret gyakorlati hasznosságát ma már senki nem vitatja.
+ </p>
+
+ <p>Az informatika képzés keretén belül az ének-zene(04)/humán(06)/matematika(08) tagozatosok a nulladik év heti 4, és a
+ következő év heti 2 órájával együtt elsajátíthatják a középszintű érettségi sikeres letételéhez szükséges tananyagot.
+
+ Az informatika(10) tagozatos diákok a tizenkettedik év végén sikeres emeltszintű érettségi vizsgát tehetnek.
+
+ Nulladik évfolyamon a matematika tanítása is a gondolkodási módszerek, logikai készségek feljesztését szolgálja.
+ </p>
+
+<h4>Jelentkezés</h4>
+<p>
+ A nulladik évfolyamra jelentkezők mind a négy - ének-zene, humán, matematika, informatika - tagozatot megjelölhetik
+ a felvételi lapon. Nulladik évfolyamon az osztálylétszám legfeljebb 24 fő lehet, az egyes tagozatokra a felvehető
+ diákok száma maximum hat.
+</p>
+<style type = "text/css">
+table#tagozatok, table#heti { font-size: smaller; }
+table#heti th { text-align:left;}
+table#heti td { text-align: right;}
+
+</style>
+
+<table id="tagozatok" align="center">
+<caption>Tagozatkódok</caption>
+<tr><th>Az osztály jele</th><th>megnevezése</th><th>kódja</th></tr>
+<tr><td>9.N</td><td> ének-zene, német nyelvi előkészítő évvel</td><td> 04</td></tr>
+<tr><td>9.N</td><td> humán, német nyelvi előkészítő évvel</td><td> 06</td></tr>
+<tr><td>9.N</td><td> matematika, német nyelvi előkészítő évvel</td><td> 08</td></tr>
+<tr><td>9.N</td><td> számítástechnika, német nyelvi előkészítő évvel</td><td> 10</td></tr>
+</table>
+
+<h4>Óraterv</h4>
+<p>A nulladik évre felvett ének-zene(04) tagozatos diákok heti két szakköri órában szinten tartó ének-zenei foglalkozáson
+ vehetnek részt.</p>
+
+<table id="heti" align="center">
+<caption>A heti óraterv</caption>
+<tr><th> Német nyelv:</th><td> 15 óra</td></tr>
+<tr><th> Informatika:</th><td> 4 óra</td></tr>
+<tr><th> Testnevelés:</th><td> 3 óra</td></tr>
+<tr><th> Tanulásmódszertan:<br/>
+ <span style="font-weight: normal">(szövegértés, szövegalkotás, kommunikáció)</span>
+</th><td> 3 óra</td></tr>
+<tr><th> Matematika:<br/>
+ <span style="font-weight: normal">(gondolkozási módszerek, logikai készségek fejlesztése)</span>
+</th><td> 2 óra</td></tr>
+<tr><th> Gépírás:</th><td> 2 óra</td></tr>
+<tr><th> Osztályfőnöki:</th><td> 1 óra</td></tr>
+<tr><th> Összesen:</th><td> 30 óra</td></tr>
+</table> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/biologia.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/biologia.html
new file mode 100644
index 00000000..bc3b200c
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/biologia.html
@@ -0,0 +1,46 @@
+
+<h1 style="margin-top: 20px;">Biológia egyedi tantervű tanulócsoport</h1>
+
+<img src="http://www.dinpi.hu/_user/browser/File/barazdabillegeto.jpg" alt="biológia" style="width: 300px; float: right;" />
+<p>
+A biológia "tagozat" nagy hagyományokkal rendelkező képzési forma. Azoknak a tanulóknak javasoljuk, akik
+biológiából szeretnének továbbtanulni. A négy év során lehetővé válik minden témakör részletes
+megismerése, az egyes témakörökhöz kapcsolódó boncolási, biokémiai és ökológiai gyakorlatok
+elvégzése. Végzett diákjaink nagyobb része az orvosi egyetemen folytatta tanulmányait, de sokan lettek
+gyógyszerészek, biológusok, biomérnökök is.
+</p><p>
+Iskolánk a 2008. évtől a Semmelweis Egyetem (SOTE) által
+meghirdetett partneriskola program tagja lett, ennek a programnak a keretében szorosabb együttműködés
+jellemzi iskolánkat a híres orvostudományi egyetemmel. Előadásokat szervezünk, egyetemi kutatásokba
+tekinthetnek be diákjaink, és kapcsolatba kerülhetnek olyan kutatókkal, akikkel később tanulmányaik során
+majd együtt dolgozhatnak
+</p>
+
+<p>Legközelebb várhatóan a 2017/2018-as tanévben indul.</p>
+
+<h2>Szóbeli meghallgatás</h2>
+<p>
+A meghallgatáson a tanuló biológia iránti érdeklődését, a tanult ismeretek integrálását, alkalmazását, a kreatív
+gondolkodást értékeljük a feladatok megoldásakor.
+</p><p>
+A meghallgatás témakörei:
+</p>
+<ul>
+<li>Az élőlények rendszerezése</li>
+<li>Hazánk és a Föld élőlényei és életközösségei</li>
+<li>Az élőlények környezete</li>
+<li>Az emberi test felépítése és életműködései ( a szabályozás, érzékelés és szaporodás nélkül)</li>
+</ul>
+<p>A meghallgatáson a Mozaik tankönyvkiadó biológia tankönyveinek ismeretanyaga az irányadó (MS-2610, MS-2614)</p>
+
+<style type="text/css">
+ .tagozatok a:before { content: "☞ "; font-size: 1.4em; }
+</style>
+<h3>További képzéseink</h3>
+<ul class="tagozatok">
+<li><a href="index.php?page=felveteli&f=enek">ének-zene speciális tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=matematika">matematika tehetséggondozó csoport</a></li>
+<li><a href="index.php?page=felveteli&f=informatika">informatika egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=human">humán egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=fizika">fizika egyedi tantervű csoport</a></li>
+</ul> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/enek.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/enek.html
new file mode 100644
index 00000000..bc28fc6d
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/enek.html
@@ -0,0 +1,65 @@
+
+<h1 style="margin-top: 20px;">Ének-zene spaciális tantervű csoport</h1>
+<!--img src="http://www.kodaly-iskola.hu/img/szolfezs.jpg" alt="ének-zene" style="float: left; margin-right: 10px; " /-->
+<p>
+Immáron 30. éve hirdetjük a Városmajori Gimnáziumban a zenei tagozatot.
+</p><p>
+Jubileumi évhez érkezünk: az alapítás óta intézménnyé nőtte ki magát a képzés, és a Zeneakadémia Mintatagozataként működik 5. éve.
+</p><p>
+A harminc év alatt sok százan választották a zenei pályát, köztük híres operaénekesek, zenetörténészek, zeneszerzők, zenetanárok és karvezetők.
+A végzettek közül többen a zenén kívül, az értelmiségi pálya számos más, jogi, orvosi, kutatói területén helyezkedtek el, náluk a zene mélyréteginek
+ismerete az életük minőségére kihatással van a mai napig.
+</p><p>
+A zenei tagozat tanulóiból, illetve az itt érettségizett lányokból áll a Magyar Örökség-díjas, Junior Prima- és Prima-díjas, a világot bejárt,
+a bartóki, kodályi zeneművek és eszmék mellett számtalan kortárs művet rendszeresen bemutató és a zeneirodalom egészét átölelő Angelica Leánykar.
+</p><p>
+Ebben az évben is várjuk a zenei tagozatra a zenei előképzettséggel rendelkező általános iskolai 8. osztályos tanulókat, fiúkat és lányokat,
+akik kimagasló zenei oktatásban szeretnének részt venni a közismereti tárgyak magas szintű elsajátítása mellett. Várjuk a tanulókat a zenei
+tagozatos általános iskolákból, a zeneiskolákból, vagy azokat, akik bárhol tanultak zenét.
+</p>
+
+<h3>Szóbeli meghallgatás és képességvizsga</h3>
+<p>
+A tagozatra az általános (központi) felvételi eljárás mellett zenei felvételit is tartunk. A felvételi anyaga:
+</p>
+<ul><li>
+<p>írásbeli:</p>
+ <ul><li>dallam diktandó (klasszikus periódus),
+ </li><li>tíz hangköz diktálása T8-ig
+ </li><li>tíz hármashangzat diktálása (Dúr és moll és fordításaik)
+ </li></ul>
+ </li><li>
+<p>szóbeli:</p>
+ <ul><li>a tanult hangszeren két különböző stílusú mű előadása
+ </li><li>tíz szabadon választott népdal és műdal kifejező éneklése
+ </li><li>blattolás (egyszerű dallam).
+ </li></ul>
+</li></ul>
+
+<p>
+Hogy megismerkedjenek a képzés sajátosságaival és segítséget kapjanak a felkészüléshez, három alkalommal ingyenes előkészítőt tart Gráf Zsuzsanna, a tagozat vezetője.
+</p>
+<ul><li>
+Időpontok: 2018. november 21., 28., december 5. (szerdánként) 16 órától 17 óráig.
+</li><li>
+Jelentkezni lehet az iskola titkárságán 2018. november 20-ig a 214-15-54 telefonszámon vagy személyesen.
+</li></ul>
+
+<p>Várjuk a Városmajori Gimnázium mintatagozatára a jelentkezőket!</p>
+
+<p style="margin-top: 20px;">Budapest, 2018. október 16.</p>
+<p style="margin: 20px 0 0 100px;">Gráf Zsuzsanna<br/>
+<span style="font-style: italic">Liszt-díjas karnagy</span></p>
+
+
+<style type="text/css">
+ .tagozatok a:before { content: "☞ "; font-size: 1.4em; }
+</style>
+<h3>További képzéseink</h3>
+<ul class="tagozatok">
+<li><a href="index.php?page=felveteli&f=biologia">biologia egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=matematika">matematika tehetséggondozó csoport</a></li>
+<li><a href="index.php?page=felveteli&f=informatika">informatika egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=human">humán egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=fizika">fizika egyedi tantervű csoport</a></li>
+</ul> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli-gyik.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli-gyik.html
new file mode 100644
index 00000000..9267fca5
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli-gyik.html
@@ -0,0 +1,157 @@
+<h1>Középiskolai felvételi</h1>
+<h2>Gyakran ismételt kérdések</h2>
+
+<div style="margin-top: 6px; text-align:center;">
+</div>
+
+<h3>Írásbeli felvételi</h3>
+
+<dl>
+<dt><span class="icon-asterisk"></span>Milyen hosszú a központi írásbeli vizsga?</dt>
+<dd>2x45 perc. A felvételi vizsgán részt vevő diákoknak mind a magyar nyelvi, mind a matematika írásbeli vizsgákon 45 perc alatt tíz
+feladatból álló feladatsort kell megoldaniuk, ezzel tárgyanként ötven-ötven pontot szerezhetnek.</dd>
+
+<dt><span class="icon-asterisk"></span>Mit lehet használni a feladatlapok kitöltésekor?</dt>
+<dd>A dolgozat megírásakor a rajzokat ceruzával,
+minden egyéb írásbeli munkát <span style="font-weight:bold;color:blue;">kék</span> vagy <span style="font-weight:bold;">fekete</span> színű tintával kell
+elkészíteni.
+<ul>
+ <li>magyar nyelv: - (segédeszköz nem használható)</li>
+ <li>matematika: rajzeszközök [vonalzó, körző, szögmérő] használhatók csak,
+más segédeszköz (pl. zsebszámológép) nem</li>
+</ul>
+</dd>
+
+<dt><span class="icon-asterisk"></span>Milyen igazolványt kell hozni a felvételi vizsgára?</dt>
+<dd>
+A központi írásbeli vizsgára személyazonosításra alkalmas igazolványt – diákigazolványt vagy
+személyi igazolványt – kell hozni.
+</dd>
+
+<dt><span class="icon-asterisk"></span>Melyik intézményben kell megírnom az írásbeli vizsgát?</dt>
+<dd>A központi jelentkezéskor (legkésőbb december elején) megadott intézményben.
+Erről az intézmények személyes értesítést nem küldenek, így aki a Városmajori
+Gimnáziumba jelentkezett vizsgára, annak a Városmajor u. 71. szám alatt kell
+a személyazonosításra alkalmas igazolvánnyal és a megfelelő
+íróeszközzel érkeznie. A vizsga 10:00-kor kezdődik.
+</dd>
+</dt>
+
+<!--
+<dt><span class="icon-asterisk"></span>Mikor derül ki az írásbeli eredménye?</dt>
+<dd>
+Aki a Városmajori Gimnáziumban írta a központi írásbeli felvételit, azoknak az alábbi beosztás
+szerint adunk lehetőséget a hivatalos Értékelő Lapok átvételére és a dolgozatok megtekintésére:
+<ul>
+<li>2019. február 7. 8:00-16:00 négyévfolyamos és a nyelvi előkészítős képzésre jelentkezőknek,</li>
+<li>2019. február 8. 8:00-16:00 hatévfolyamos képzésre jelentkezőknek.</li>
+</ul>
+</dd>
+-->
+
+<dt><span class="icon-asterisk"></span>Lesz szóbeli a VMG-ben?</dt>
+<dd>
+Amennyiben egy adott tagozaton szükséges lesz szóbeli beszélgetéssel
+kiegészíteni a felvételi eljárást, úgy az 2019. február 21 - március 14. között lesz.
+Erről itt a honlapon a megfelelő időben lekérdezhető formában adunk tájékoztatást.
+</dd>
+</dl>
+
+<h3>Jelentkezés</h3>
+
+<dl>
+
+<dt><span class="icon-asterisk"></span>Mi a Gimnázium központi azonosító / OM kódja?</dt>
+<dd>
+ 035242
+</dd>
+
+<dt><span class="icon-asterisk"></span>Milyen tagozatok indulnak? Mik a kódok?</dt>
+<dd>
+ A <a href="index.php?page=felveteli#kiemelt">Kiemelt adatok menüpontban</a> és a Felvételi Tájékoztatóban felsorolt tagozatok indulnak idén.
+ Fontos kiemelni, hogy a kilencedik évfolyamon a nyelvi előkészítős (német és spanyol) tagozatok alap (teljesen kezdő) szintről indulnak,
+ így egyáltalán nem kell tudni az adott nyelven a felvételhez (így természetesen az esetleges szóbelin sem).
+ Minden tagozatról bővebb információ a tagozat nevére kattintva olvasható.
+ A kódok a tagozat neve mellett szereplnek 01-09 - ig.
+</dd>
+
+<dt><span class="icon-asterisk"></span>Milyen típusú Felvételi Lapok vannak?</dt>
+<dd>
+ Tanulói adatlap és Jelentkezési lap.
+</dd>
+
+<dt><span class="icon-asterisk"></span>Milyen kódokat érdemes tudnom?</dt>
+<dd>
+ Tanulói adatlapon meg kell jelölni egy adott inzémény OM azonosítóját, feladatellátási helyét (telephelyét) és a tanulmányi területet (tagozatot). Ezek a Városmajori Gimnázium esetén:
+ <ul>
+ <li>OM-azonosító: 035242</li>
+ <li>feladatellátási hely: 001</li>
+ <li>tanulmányi terület kódok: 01-09</li>
+ </ul>
+</dd>
+
+<dt><span class="icon-asterisk"></span>Ha a Majorba jelentkeznék, de nem ott írom a központi felvételit, akkor van-e plusz teendőm?</dt>
+<dd>Igen, a Tanulói Jelentkezési Lapokhoz a Városmajori Gimnáziumba való jelentkezéshez
+csatolni kell legkésőbb 2019. február 18-ig
+<ul><li>a másik vizsgaközpont által kiállított hivatalos írásbeliről szóló Értékelő Lapot, valamint
+<li>a hozott eredmények számításához a bizonyítvány másolatokat.</li>
+</ul>
+</dd>
+
+
+<dt><span class="icon-asterisk"></span>Ha nem jelölök meg tagozatot, később változtathatok rajta?</dt>
+<dd>
+Célszerű minden olyan tagozatot megjelölni az intézménybe jelentkezéskor, ami egy kisdiákot érdekel, a
+sorrendnél pedig a kívánt vágyat szem előtt tartani.
+</dd>
+
+<dt><span class="icon-asterisk"></span>Felvételi jelentkezési lapokhoz mit kell csatolni?</dt>
+<dd>
+A felvételi jelentkezési lapokhoz
+csatolni kell az eredmények (bizonyítvány és az írásbeli felvételi Értékelő Lap) fénymásolatát.
+</dd>
+
+<dt><span class="icon-asterisk"></span>Milyen tárgyak átlaga számít, ezek hány pontot érnek?</dt>
+<dd>
+A felvételi jelentkezési lapon fel kell tüntetni az 5.évfolyam, illetve az 5-7. évfolyam évvégi és az utolsó félév félévi (pl 6. félévi vagy 8. félévi) osztályzatát.
+Az általunk figyelembe vett tantárgyak: magyar nyelv és irodalom, történelem, matematika, fizika és egy idegen nyelv. Az átlagszámítást az ötödik, hatodik, hetedik osztály végén és a nyolcadik osztályban félévkor megszerzett érdemjegyekkel végezzük el.
+<a href="index.php?page=felveteli&f=pontszamito">Pontszámító Kalkulátor</a>
+</dd>
+
+
+<dt><span class="icon-asterisk"></span>Honnan tölthetem le a Tanulói jelentkezési lapot?</dt>
+<dd>
+<a href="http://www.oktatas.hu/pub_bin/dload/kozoktatas/beiskolazas/2016/Kifir_szuloi_taj_2015_2016.pdf">Az Oktatási Hivatal Tájékoztatójának 1.számú melléklete</a>
+tartalmazza a központi írásbeli vizsgára való jelentkezési lapot, melyet abba az iskolába kell beküldeni,
+amelyikben a vizsgát írni szeretné a felvételiző.
+</dd>
+</dl>
+
+<!-- -->
+<h3>Felvételi eljárás, eredmények</h3>
+
+<dl>
+<dt><span class="icon-asterisk"></span>Mikor kell szóbeliznem?</dt>
+<dd>
+A központi írásbeli és a jelentkezési időszak végeztével a beérkezett jelentkezési
+lapok feldolgozása után dől el, hogy mely tagozatokon tartunk felvételi beszélgetést,
+és kinek lehet vagy nem kell a szóbelire jönnie. Erről itt a honlapunkon fogunk tájékoztatni.
+</dd>
+
+<dt><span class="icon-asterisk"></span>Ha lesz, mi lesz a szóbelin?</dt>
+<dd>
+ Az egyes tagozat-csoportok tájékoztatóit az adott tagozat menüpontjaiban lehet olvasni.
+</dd>
+
+</dl>
+
+<!-- -->
+<h3>Más kérdésem van</h3>
+
+<dl>
+<dt><span class="icon-asterisk"></span>Kinek tudom feltenni a kérdéseimet?</dt>
+<dd>
+Gyakorlott kollégáink a <b>felveteli@vmg.sulinet.hu</b> e-mail címre várják a felvételivel kapcsolatos kérdéseket.
+</dd>
+
+</dl>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2005.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2005.html
new file mode 100644
index 00000000..f1e8805f
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2005.html
@@ -0,0 +1,61 @@
+<h1>Felvételi</h1>
+<h2>2006/2007-es tanév</h2>
+<h3>Fontos dátumok</h3>
+
+<dl>
+<dt >2005. október 26.</dt>
+<dd ><a href="index.php?policy=public&amp;page=felveteli&amp;sub=tajekoztato&amp;f=tajekoztato">A felvételi tájékoztató</a> megjelenése.</dd>
+
+ <dt >2005. november 21. 18<sup>00</sup></dt>
+ <dd >Tájékoztató értekezletet tart Szebedy Tas igazgató a felvételi eljárás rendjéről.</dd>
+
+ <dt >2005. december 9.<img src="/skin/classic/module-portal/img/fjel.gif" alt="!" /></dt>
+ <dd >Jelentkezési határidő az egységes követelmények szerint tartott
+ a felvételi eljárást megelőző írásbeli felvételi vizsgára.</dd>
+
+ <dt >2006. január 27. 14<sup>00</sup></dt>
+ <dd >Írásbeli felvételi vizsgák az érintett 6 évfolyamos gimnáziumokban.</dd>
+
+ <dt >2006. január 28. 10<sup>00</sup></dt>
+ <dd >Írásbeli felvételi a nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban.</dd>
+
+ <dt >2006. február 10. 14:00</dt>
+ <dd >Az írásbelit szervező 6 évfolyamos gimnáziumok, valamint a nyolcadik
+ évfolyamok számára a felvételi eljárást megelőző írásbeli vizsgát
+ szervező középiskolák értesítik az írásbeli eredményéről a tanulókat.</dd>
+
+<!-- <dt >2005. február 9. (szerda) 8<sup>30</sup> - 16<sup>30</sup> <code class="negy">4</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a nyégyévfolymos képzésre
+ jelentkezők (nyolcadikosok és szüleik) számára. A hitelesített <i>értékelő lapot</i>
+ csatolni kell a jelentkezéshez.</dd>
+
+ <dt >2005. február 10. (csütörtök) 8<sup>30</sup> - 16<sup>30</sup> <code class="hat">6</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a hatévfolymos képzésre
+ jelentkezők (hatodikosok, hetedikesek és szüleik) számára. A hitelesített
+ <i>értékelő lapot</i> csatolni kell a jelentkezéshez.</dd>
+-->
+ <dt >2006. február 17.<img src="/skin/classic/module-portal/img/fjel.gif" alt="!" /> <code class="negy">4</code> <code class="hat">6</code></dt>
+ <dd >A jelentkezési lapok leadási határideje (minden jelentkező számára!)</dd>
+
+ <dt>2006. február 20. - 2006. március 10.</dt>
+ <dd>Általános felvételi eljárás.</dd>
+
+ <dt>2006. március 16. (este) <code class="negy">4</code> <code class="hat">6</code></dt>
+ <dd>Ideiglenes felvételi jegyzék közzététele.</dd>
+
+<!--
+ <dt>2005. március 29.</dt>
+ <dd>A Felvételi Központ elektronikus formában megküldi a középfokú iskoláknak a hozzájuk jelentkezettek névsorát ABC sorrendben.</dd>
+ <dt>2005. április 8.</dt>
+ <dd>A Felvételi Központ a módosító tanulói adatlapok alapján kiegészíti az ideiglenes felvételi jegyzékben közzétett névsort.</dd>
+ <dt>2005. április 13.</dt>
+ <dd>A középfokú iskola igazgatója a végleges felvételi jegyzéket (rangsor, felvehető létszám, a biztosan fel nem veendők listája) megküldi a Felvételi Központnak (elektronikus úton és írásban).</dd>
+ <dt>2005. április 22.</dt>
+ <dd>A Felvételi Központ egyezteti az elektronikusan és levélben érkezett igazgatói döntéseket, kialakítja a végeredményt az igazgatói döntések és tanulói adatlapok egyeztetése alapján, és elküldi azt a középfokú iskoláknak (egyeztetett felvételi jegyzék).</dd>
+-->
+ <dt>2006. április 21-ig <img src="/skin/classic/module-portal/img/fjel.gif" alt="!" /></dt>
+ <dd>Webes felületen keresztül lekérdezhetik saját - nálunk elért - eredményüket az egyeztetett felvételi jegyzékből.</dd>
+ <dd>A felvételt hirdető középfokú iskolák megküldik a felvételről, vagy az elutasításról szóló értesítést a jelentkezőknek és az általános iskoláknak.</dd>
+
+</dl> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2007.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2007.html
new file mode 100644
index 00000000..969f4742
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2007.html
@@ -0,0 +1,97 @@
+<h1>Felvételi</h1>
+<h2>2007/2008-as tanév</h2>
+<h3>Fontos dátumok</h3>
+
+<dl>
+<dt >2006. október 27.</dt>
+<dd ><a href="index.php?policy=public&amp;page=felveteli&amp;sub=tajekoztato&amp;f=tajekoztato">A felvételi tájékoztató</a> megjelenése.
+ (<a href="#kiemelt">kiemelt adatok</a>), (<a href="index.php?policy=public&#38page=felveteli&#38;f=2007N">nulladikos óraterv</a>)</dd>
+
+ <dt >2006. november 20. 18<sup>00</sup></dt>
+ <dd >Tájékoztató értekezletet tart Szebedy Tas igazgató a felvételi eljárás rendjéről.</dd>
+
+ <dt >2006. december 8.<img src="/skin/classic/module-portal/img/fjel.gif" alt="!" /></dt>
+ <dd >Jelentkezési határidő az egységes követelmények szerint tartott
+ a felvételi eljárást megelőző írásbeli felvételi vizsgára.
+ </dd>
+
+ <dt >2007. január 26. 14<sup>00</sup></dt>
+ <dd >Írásbeli felvételi vizsgák az érintett 6 évfolyamos gimnáziumokban.</dd>
+
+ <dt >2007. január 27. 10<sup>00</sup></dt>
+ <dd >Írásbeli felvételi a nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban.</dd>
+
+ <dt >2007. február 9. 14:00</dt>
+ <dd >Az írásbelit szervező 6 évfolyamos gimnáziumok, valamint a nyolcadik
+ évfolyamok számára a felvételi eljárást megelőző írásbeli vizsgát (<a href="http://www.om.hu/felveteli_2007_index.html">feladatlap</a>)
+ szervező középiskolákban (honlapjaikon keresztül és kifüggesztve)
+ értesítik az írásbeli eredményéről a tanulókat. Felhívjuk a figyelmet, hogy
+ írásban nem értesíjük a nálunk központi írásbelit írt diákokat.</dd>
+
+<!-- <dt >2007. február 9. (szerda) 8<sup>30</sup> - 16<sup>30</sup> <code class="negy">4</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a nyégyévfolymos képzésre
+ jelentkezők (nyolcadikosok és szüleik) számára. A hitelesített <i>értékelő lapot</i>
+ csatolni kell a jelentkezéshez.</dd>
+
+ <dt >2007. február 10. (csütörtök) 8<sup>30</sup> - 16<sup>30</sup> <code class="hat">6</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a hatévfolymos képzésre
+ jelentkezők (hatodikosok, hetedikesek és szüleik) számára. A hitelesített
+ <i>értékelő lapot</i> csatolni kell a jelentkezéshez.</dd>
+-->
+ <dt >2007. február 16.<img src="/skin/classic/module-portal/img/fjel.gif" alt="!" /> <code class="negy">4</code> <code class="ot">5</code> <code class="hat">6</code></dt>
+ <dd >A jelentkezési lapok leadási határideje (minden jelentkező számára!)</dd>
+
+ <dt>2007. február 19. - 2007. március 9.</dt>
+ <dd>Általános felvételi eljárás. Egyedi beosztás alapján.</dd>
+
+ <dt>2007. március 19. - 2007. március 20.</dt>
+ <dd>Módosító Tanulói adatlapon a már megjelölt tagozatsorrend változtatható,
+ vagy a már megjelölt iskola új tagozata (a középiskolával való egyeztetés
+ után) vehető fel.</dd>
+
+ <dt>2007. március 16. (este) <code class="negy">4</code> <code class="hat">6</code></dt>
+ <dd>Ideiglenes felvételi jegyzék közzététele.</dd>
+
+<!--
+ <dt>2007. március 29.</dt>
+ <dd>A Felvételi Központ elektronikus formában megküldi a középfokú iskoláknak a hozzájuk jelentkezettek névsorát ABC sorrendben.</dd>
+ <dt>2007. április 8.</dt>
+ <dd>A Felvételi Központ a módosító tanulói adatlapok alapján kiegészíti az ideiglenes felvételi jegyzékben közzétett névsort.</dd>
+ <dt>2007. április 13.</dt>
+ <dd>A középfokú iskola igazgatója a végleges felvételi jegyzéket (rangsor, felvehető létszám, a biztosan fel nem veendők listája) megküldi a Felvételi Központnak (elektronikus úton és írásban).</dd>
+ <dt>2007. április 22.</dt>
+ <dd>A Felvételi Központ egyezteti az elektronikusan és levélben érkezett igazgatói döntéseket, kialakítja a végeredményt az igazgatói döntések és tanulói adatlapok egyeztetése alapján, és elküldi azt a középfokú iskoláknak (egyeztetett felvételi jegyzék).</dd>
+-->
+ <dt>2007. április 20-ig <img src="/skin/classic/module-portal/img/fjel.gif" alt="!" /></dt>
+ <dd>Webes felületen keresztül lekérdezhetik saját - nálunk elért - eredményüket az egyeztetett felvételi jegyzékből.</dd>
+ <dd>A felvételt hirdető középfokú iskolák megküldik a felvételről, vagy az elutasításról szóló értesítést a jelentkezőknek és az általános iskoláknak.</dd>
+
+</dl>
+
+
+<h3 id="kiemelt">Kiemelt adatok</h3>
+<dl>
+<dt>Az iskola rövid neve és címe:</dt>
+<dd>Városmajori Gimnázium<br/>
+ 1122. Budapest, Városmajor u. 71.<br/>
+ Tel: 214-1554; Fax: 214-1479<br/>
+</dd>
+<dt>A gimnázium központi azonosító kódja:</dt><dd>035242</dd>
+<dt>A 2007-2008-as tanévben indítandó tanulócsoportok azonosító számai:</dt>
+<dd>
+<table class="tagozatok">
+<tr><th>Az osztály jele</th><th>megnevezése</th><th>kódja</th></tr>
+<tr><td>7.A</td><td> általános egyedi tantervű osztály (angol)</td><td> 01</td></tr>
+<tr><td>7.B</td><td> általános egyedi tantervű osztály (német)</td><td> 02</td></tr>
+<tr><td>9.C</td><td> ének-zene speciális tantervű csoport (olasz)</td><td> 03</td></tr>
+<tr><td>9.N</td><td> ének-zene, német nyelvi előkészítő évvel</td><td> 04</td></tr>
+<tr><td>9.C</td><td> magyar egyedi tantervű csoport (német)</td><td> 05</td></tr>
+<tr><td>9.N</td><td> humán, német nyelvi előkészítő évvel</td><td> 06</td></tr>
+<tr><td>9.D</td><td> matematika egyedi tantervű csoport (angol)</td><td> 07</td></tr>
+<tr><td>9.N</td><td> matematika, német nyelvi előkészítő évvel</td><td> 08</td></tr>
+<tr><td>9.D</td><td> biológia egyedi tantervű csoport (angol)</td><td> 09</td></tr>
+<tr><td>9.N</td><td> számítástechnika, német nyelvi előkészítő évvel</td><td> 10</td></tr>
+</table>
+</dd>
+</dl> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2008.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2008.html
new file mode 100644
index 00000000..34cf7195
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2008.html
@@ -0,0 +1,112 @@
+<h1>Felvételi</h1>
+<h2>2008/2009-es tanév</h2>
+<h3>Fontos dátumok</h3>
+
+<dl>
+<dt >2007. október 31.</dt>
+<dd ><a href="index.php?policy=public&amp;page=felveteli&amp;sub=tajekoztato/20082009&amp;f=1">A felvételi tájékoztató</a> megjelenése.
+(<a href="http://mygren.vmg.sulinet.hu/dokumentumok/felveteli/FT2008.pdf">.pdf</a>)
+<!-- (<a href="#kiemelt">kiemelt adatok</a>), (<a href="index.php?policy=public&#38page=felveteli&#38;f=2007N">nulladikos óraterv</a>)-->
+</dd>
+
+
+ <dt>2007. november 26-30.</dt>
+ <dd>„Nyitott iskola” – óralátogatások, bemutatóórák (előzetes jelentkezés alapján)</dd>
+
+ <dt >2007. november 19. 18<sup>00</sup></dt>
+ <dd >Tájékoztató értekezletet tart Szebedy Tas igazgató a felvételi eljárás rendjéről.</dd>
+
+ <dt >2007. december 7.</dt>
+ <dd >Jelentkezési határidő az egységes követelmények szerint tartott
+ a felvételi eljárást megelőző írásbeli felvételi vizsgára. (Tanulói Jelentkezési Lap)
+ </dd>
+
+ <dt >2008. január 25. 14<sup>00</sup></dt>
+ <dd >Írásbeli felvételi vizsgák az érintett 6 évfolyamos gimnáziumokban. (2x45 perc)</dd>
+
+ <dt >2008. január 26. 10<sup>00</sup></dt>
+ <dd >Írásbeli felvételi a nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+ <dt >2008. február 5.(kedd) 8:00-16:00 <code class="hat">6</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése hatévfolyamos képzésre jelentkezőknek</dd>
+
+ <dt >2008. február 6.(szerda) 8:00-16:00 <code class="negy">4</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése négy- és ötévfolyamos képzésre jelentkezőknek</dd>
+
+<!-- <dt >2008. február 8. 14:00</dt>
+ <dd >Az írásbelit szervező 6 évfolyamos gimnáziumok, valamint a nyolcadik
+ évfolyamok számára a felvételi eljárást megelőző írásbeli vizsgát (<a href="http://www.om.hu/felveteli_2007_index.html">feladatlap</a>)
+ szervező középiskolákban (honlapjaikon keresztül és kifüggesztve)
+ értesítik az írásbeli eredményéről a tanulókat. Felhívjuk a figyelmet, hogy
+ írásban nem értesíjük a nálunk központi írásbelit írt diákokat.</dd>
+-->
+<!-- <dt >2007. február 9. (szerda) 8<sup>30</sup> - 16<sup>30</sup> <code class="negy">4</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a nyégyévfolymos képzésre
+ jelentkezők (nyolcadikosok és szüleik) számára. A hitelesített <i>értékelő lapot</i>
+ csatolni kell a jelentkezéshez.</dd>
+
+ <dt >2007. február 10. (csütörtök) 8<sup>30</sup> - 16<sup>30</sup> <code class="hat">6</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a hatévfolymos képzésre
+ jelentkezők (hatodikosok, hetedikesek és szüleik) számára. A hitelesített
+ <i>értékelő lapot</i> csatolni kell a jelentkezéshez.</dd>
+-->
+ <dt >2008. február 15.<code class="negy">4</code> <code class="ot">5</code> <code class="hat">6</code></dt>
+ <dd >A jelentkezési lapok leadási határideje (minden jelentkező számára!)</dd>
+
+ <dt>2008. február 18. - 2007. március 7.</dt>
+ <dd>Általános felvételi eljárás. Egyedi beosztás alapján.</dd>
+<!--
+ <dt>2007. március 19. - 2007. március 20.</dt>
+ <dd>Módosító Tanulói adatlapon a már megjelölt tagozatsorrend változtatható,
+ vagy a már megjelölt iskola új tagozata (a középiskolával való egyeztetés
+ után) vehető fel.</dd>
+
+ <dt>2007. március 16. (este) <code class="negy">4</code> <code class="hat">6</code></dt>
+ <dd>Ideiglenes felvételi jegyzék közzététele.</dd>
+-->
+
+<!--
+ <dt>2007. március 29.</dt>
+ <dd>A Felvételi Központ elektronikus formában megküldi a középfokú iskoláknak a hozzájuk jelentkezettek névsorát ABC sorrendben.</dd>
+ <dt>2007. április 8.</dt>
+ <dd>A Felvételi Központ a módosító tanulói adatlapok alapján kiegészíti az ideiglenes felvételi jegyzékben közzétett névsort.</dd>
+ <dt>2007. április 13.</dt>
+ <dd>A középfokú iskola igazgatója a végleges felvételi jegyzéket (rangsor, felvehető létszám, a biztosan fel nem veendők listája) megküldi a Felvételi Központnak (elektronikus úton és írásban).</dd>
+ <dt>2007. április 22.</dt>
+ <dd>A Felvételi Központ egyezteti az elektronikusan és levélben érkezett igazgatói döntéseket, kialakítja a végeredményt az igazgatói döntések és tanulói adatlapok egyeztetése alapján, és elküldi azt a középfokú iskoláknak (egyeztetett felvételi jegyzék).</dd>
+ <dt>2007. április 20-ig <img src="/skin/classic/module-portal/img/fjel.gif" alt="!" /></dt>
+ <dd>Webes felületen keresztül lekérdezhetik saját - nálunk elért - eredményüket az egyeztetett felvételi jegyzékből.</dd>
+ <dd>A felvételt hirdető középfokú iskolák megküldik a felvételről, vagy az elutasításról szóló értesítést a jelentkezőknek és az általános iskoláknak.</dd>
+-->
+</dl>
+
+
+<h3 id="kiemelt">Kiemelt adatok</h3>
+
+<dl>
+<dt>Az iskola rövid neve és címe:</dt>
+<dd>Városmajori Gimnázium<br/>
+ 1122. Budapest, Városmajor u. 71.<br/>
+ Tel: 214-1554; Fax: 214-1479<br/>
+</dd>
+<dt>A gimnázium központi azonosító kódja:</dt><dd>035242</dd>
+
+<dt>A 2008-2009-es tanévben indítandó tanulócsoportok azonosító számai:</dt>
+<dd>
+<table class="tagozatok">
+<tr><th>Az osztály jele</th><th>megnevezése</th><th>kódja</th></tr>
+<tr><td>7.A</td><td> általános egyedi tantervű osztály (angol)</td><td> 01</td></tr>
+<tr><td>7.B</td><td> általános egyedi tantervű osztály (német)</td><td> 02</td></tr>
+<tr><td>9.C</td><td> ének-zene speciális tantervű csoport (angol)</td><td> 03</td></tr>
+<tr><td>9.N</td><td> ének-zene, német nyelvi előkészítő évvel</td><td> 04</td></tr>
+<tr><td>9.C</td><td> humán egyedi tantervű csoport (angol)</td><td> 05</td></tr>
+<tr><td>9.N</td><td> magyar, német nyelvi előkészítő évvel</td><td> 06</td></tr>
+<tr><td>9.D</td><td> matematika egyedi tantervű csoport (angol)</td><td> 07</td></tr>
+<tr><td>9.N</td><td> matematika, német nyelvi előkészítő évvel</td><td> 08</td></tr>
+<tr><td>9.D</td><td> informatika egyedi tantervű csoport (angol)</td><td> 09</td></tr>
+<tr><td>9.N</td><td> biológia, német nyelvi előkészítő évvel</td><td> 10</td></tr>
+</table>
+</dd>
+
+</dl> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2009.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2009.html
new file mode 100644
index 00000000..28d3fdef
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2009.html
@@ -0,0 +1,116 @@
+<h1>Felvételi</h1>
+<h2>2009/2010-es tanév</h2>
+
+<div style="margin-top: 6px; text-align:center;"><a style="font-weight: bold; font-size: 16px; color: red;" href="http://mygren.vmg.sulinet.hu/dokumentumok/felveteli/FT2009.pdf">Felvételi tájékoztató letöltése...</a></div>
+
+<h3>Fontos dátumok</h3>
+
+<dl>
+<dt >2008. október vége</dt>
+<dd >
+<!--<a href="index.php?policy=public&amp;page=felveteli&amp;sub=tajekoztato/20092010&amp;f=1">A felvételi tájékoztató</a> megjelenése.-->
+A felvételi tájékoztató megjelenése. (<a href="http://mygren.vmg.sulinet.hu/dokumentumok/felveteli/FT2009.pdf">pdf</a>)
+</dd>
+
+
+ <dt >2008. november 24-28.</dt>
+ <dd>„Nyitott iskola” – óralátogatások, bemutatóórák (előzetes jelentkezés alapján)</dd>
+
+ <dt >2008. november 17. </dt>
+ <dd >Tájékoztató értekezletet tart Szebedy Tas igazgató a felvételi eljárás rendjéről.</dd>
+
+ <dt >2008. december 10.</dt>
+ <dd >Jelentkezési határidő az egységes követelmények szerint tartott
+ a felvételi eljárást megelőző írásbeli felvételi vizsgára. (Tanulói Jelentkezési Lap)
+ </dd>
+
+ <dt >2009. január 23. 14<sup>00</sup></dt>
+ <dd >Írásbeli felvételi vizsgák az érintett 6 évfolyamos gimnáziumokban. (2x45 perc)</dd>
+
+ <dt >2009. január 24. 10<sup>00</sup></dt>
+ <dd >Írásbeli felvételi a nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+<!--
+ <dt >2008. február 5.(kedd) 8:00-16:00 <code class="hat">6</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése hatévfolyamos képzésre jelentkezőknek</dd>
+
+ <dt >2008. február 6.(szerda) 8:00-16:00 <code class="negy">4</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése négy- és ötévfolyamos képzésre jelentkezőknek</dd>
+-->
+<!-- <dt >2008. február 8. 14:00</dt>
+ <dd >Az írásbelit szervező 6 évfolyamos gimnáziumok, valamint a nyolcadik
+ évfolyamok számára a felvételi eljárást megelőző írásbeli vizsgát (<a href="http://www.om.hu/felveteli_2007_index.html">feladatlap</a>)
+ szervező középiskolákban (honlapjaikon keresztül és kifüggesztve)
+ értesítik az írásbeli eredményéről a tanulókat. Felhívjuk a figyelmet, hogy
+ írásban nem értesíjük a nálunk központi írásbelit írt diákokat.</dd>
+-->
+<!-- <dt >2007. február 9. (szerda) 8<sup>30</sup> - 16<sup>30</sup> <code class="negy">4</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a nyégyévfolymos képzésre
+ jelentkezők (nyolcadikosok és szüleik) számára. A hitelesített <i>értékelő lapot</i>
+ csatolni kell a jelentkezéshez.</dd>
+
+ <dt >2007. február 10. (csütörtök) 8<sup>30</sup> - 16<sup>30</sup> <code class="hat">6</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a hatévfolymos képzésre
+ jelentkezők (hatodikosok, hetedikesek és szüleik) számára. A hitelesített
+ <i>értékelő lapot</i> csatolni kell a jelentkezéshez.</dd>
+-->
+ <dt >2009. február 20.<code class="negy">4</code> <code class="ot">5</code> <code class="hat">6</code></dt>
+ <dd >A jelentkezési lapok leadási határideje (minden jelentkező számára!)</dd>
+
+ <dt>2009. február 23. - 2007. március 13.</dt>
+ <dd>Általános felvételi eljárás. Egyedi beosztás alapján.</dd>
+<!--
+ <dt>2007. március 19. - 2007. március 20.</dt>
+ <dd>Módosító Tanulói adatlapon a már megjelölt tagozatsorrend változtatható,
+ vagy a már megjelölt iskola új tagozata (a középiskolával való egyeztetés
+ után) vehető fel.</dd>
+
+ <dt>2007. március 16. (este) <code class="negy">4</code> <code class="hat">6</code></dt>
+ <dd>Ideiglenes felvételi jegyzék közzététele.</dd>
+-->
+
+<!--
+ <dt>2007. március 29.</dt>
+ <dd>A Felvételi Központ elektronikus formában megküldi a középfokú iskoláknak a hozzájuk jelentkezettek névsorát ABC sorrendben.</dd>
+ <dt>2007. április 8.</dt>
+ <dd>A Felvételi Központ a módosító tanulói adatlapok alapján kiegészíti az ideiglenes felvételi jegyzékben közzétett névsort.</dd>
+ <dt>2007. április 13.</dt>
+ <dd>A középfokú iskola igazgatója a végleges felvételi jegyzéket (rangsor, felvehető létszám, a biztosan fel nem veendők listája) megküldi a Felvételi Központnak (elektronikus úton és írásban).</dd>
+ <dt>2007. április 22.</dt>
+ <dd>A Felvételi Központ egyezteti az elektronikusan és levélben érkezett igazgatói döntéseket, kialakítja a végeredményt az igazgatói döntések és tanulói adatlapok egyeztetése alapján, és elküldi azt a középfokú iskoláknak (egyeztetett felvételi jegyzék).</dd>
+ <dt>2007. április 20-ig <img src="/skin/classic/module-portal/img/fjel.gif" alt="!" /></dt>
+ <dd>Webes felületen keresztül lekérdezhetik saját - nálunk elért - eredményüket az egyeztetett felvételi jegyzékből.</dd>
+ <dd>A felvételt hirdető középfokú iskolák megküldik a felvételről, vagy az elutasításról szóló értesítést a jelentkezőknek és az általános iskoláknak.</dd>
+-->
+</dl>
+
+
+<h3 id="kiemelt">Kiemelt adatok</h3>
+
+<dl>
+<dt>Az iskola rövid neve és címe:</dt>
+<dd>Városmajori Gimnázium<br/>
+ 1122. Budapest, Városmajor u. 71.<br/>
+ Tel: 214-1554; Fax: 214-1479<br/>
+</dd>
+<dt>A gimnázium központi azonosító kódja:</dt><dd>035242</dd>
+
+<dt>A 2009-2010-es tanévben indítandó tanulócsoportok azonosító számai:</dt>
+<dd>
+<table class="tagozatok">
+<tr><th>Az osztály jele</th><th>megnevezése</th><th>kódja</th></tr>
+<tr><td>7.A</td><td>általános egyedi tantervű (angol)</td><td>01</td></tr>
+<tr><td>7.B</td><td>általános egyedi tantervű (német)</td><td>02</td></tr>
+<tr><td>9.C</td><td>ének-zene speciális tantervű (olasz)</td><td>03</td></tr>
+<tr><td>9.N</td><td>ének-zene, német nyelvi előkészítő évvel</td><td>04</td></tr>
+<tr><td>9.C</td><td>magyar egyedi tantervű (olasz)</td><td>05</td></tr>
+<tr><td>9.N</td><td>humán, német nyelvi előkészítő évvel</td><td>06</td></tr>
+<tr><td>9.D</td><td>matematika tehetséggondozó (angol)</td><td>07</td></tr>
+<tr><td>9.N</td><td>matematika, német nyelvi előkészítő évvel</td><td>08</td></tr>
+<tr><td>9.D</td><td>biológia egyedi tantervű (angol)</td><td>09</td></tr>
+<tr><td>9.N</td><td>informatika, német nyelvi előkészítő évvel</td><td>10</td></tr>
+</table>
+</dd>
+
+</dl> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2010.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2010.html
new file mode 100644
index 00000000..e547d302
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2010.html
@@ -0,0 +1,120 @@
+<h1>Felvételi</h1>
+<h2>2010/2011-es tanév</h2>
+
+<div style="margin-top: 6px; text-align:center;"><a style="font-weight: bold; font-size: 16px; color: red;" href="http://mygren.vmg.sulinet.hu/dokumentumok/felveteli/FT2010.pdf">Felvételi tájékoztató letöltése...</a></div>
+
+<h3>Fontos dátumok</h3>
+
+<dl>
+<dt >2009. október vége</dt>
+<dd >
+A felvételi tájékoztató megjelenése. (<a href="http://mygren.vmg.sulinet.hu/dokumentumok/felveteli/FT2010.pdf">pdf</a>)
+</dd>
+
+
+ <dt >2009. november 16. 18:00 </dt>
+ <dd >Tájékoztató értekezletet tart Szebedy Tas igazgató a felvételi eljárás rendjéről.</dd>
+
+ <dt >2009. november 23-27.</dt>
+ <dd>„Nyitott iskola” – óralátogatások, bemutatóórák (előzetes jelentkezés alapján)</dd>
+
+ <dt >2009. december 11.</dt>
+ <dd >Jelentkezési határidő az egységes követelmények szerint tartott
+ a felvételi eljárást megelőző írásbeli felvételi vizsgára. (Tanulói Jelentkezési Lap)
+ </dd>
+
+ <dt >2010. január 22. 14<sup>00</sup></dt>
+ <dd >Írásbeli felvételi vizsgák az érintett 6 évfolyamos gimnáziumokban. (2x45 perc)</dd>
+
+ <dt >2010. január 23. 10<sup>00</sup></dt>
+ <dd >Írásbeli felvételi a nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+ <dt >2010. január 30. 10<sup>00</sup></dt>
+ <dd >Írásbeli felvételi a tehettséggondozó tagozatra jelentkezők számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+<!--
+ <dt >2008. február 5.(kedd) 8:00-16:00 <code class="hat">6</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése hatévfolyamos képzésre jelentkezőknek</dd>
+
+ <dt >2008. február 6.(szerda) 8:00-16:00 <code class="negy">4</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése négy- és ötévfolyamos képzésre jelentkezőknek</dd>
+-->
+<!-- <dt >2008. február 8. 14:00</dt>
+ <dd >Az írásbelit szervező 6 évfolyamos gimnáziumok, valamint a nyolcadik
+ évfolyamok számára a felvételi eljárást megelőző írásbeli vizsgát (<a href="http://www.om.hu/felveteli_2007_index.html">feladatlap</a>)
+ szervező középiskolákban (honlapjaikon keresztül és kifüggesztve)
+ értesítik az írásbeli eredményéről a tanulókat. Felhívjuk a figyelmet, hogy
+ írásban nem értesíjük a nálunk központi írásbelit írt diákokat.</dd>
+-->
+<!-- <dt >2007. február 9. (szerda) 8<sup>30</sup> - 16<sup>30</sup> <code class="negy">4</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a nyégyévfolymos képzésre
+ jelentkezők (nyolcadikosok és szüleik) számára. A hitelesített <i>értékelő lapot</i>
+ csatolni kell a jelentkezéshez.</dd>
+
+ <dt >2007. február 10. (csütörtök) 8<sup>30</sup> - 16<sup>30</sup> <code class="hat">6</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a hatévfolymos képzésre
+ jelentkezők (hatodikosok, hetedikesek és szüleik) számára. A hitelesített
+ <i>értékelő lapot</i> csatolni kell a jelentkezéshez.</dd>
+-->
+ <dt >2010. február 19.<code class="negy">4</code> <code class="ot">5</code> <code class="hat">6</code></dt>
+ <dd >A jelentkezési lapok leadási határideje (minden jelentkező számára!)</dd>
+
+ <dt>2010. február 22. - 2007. március 12.</dt>
+ <dd>Általános felvételi eljárás. A weben lekérdezhető egyedi beosztás alapján.</dd>
+<!--
+ <dt>2007. március 19. - 2007. március 20.</dt>
+ <dd>Módosító Tanulói adatlapon a már megjelölt tagozatsorrend változtatható,
+ vagy a már megjelölt iskola új tagozata (a középiskolával való egyeztetés
+ után) vehető fel.</dd>
+
+ <dt>2007. március 16. (este) <code class="negy">4</code> <code class="hat">6</code></dt>
+ <dd>Ideiglenes felvételi jegyzék közzététele.</dd>
+-->
+
+<!--
+ <dt>2007. március 29.</dt>
+ <dd>A Felvételi Központ elektronikus formában megküldi a középfokú iskoláknak a hozzájuk jelentkezettek névsorát ABC sorrendben.</dd>
+ <dt>2007. április 8.</dt>
+ <dd>A Felvételi Központ a módosító tanulói adatlapok alapján kiegészíti az ideiglenes felvételi jegyzékben közzétett névsort.</dd>
+ <dt>2007. április 13.</dt>
+ <dd>A középfokú iskola igazgatója a végleges felvételi jegyzéket (rangsor, felvehető létszám, a biztosan fel nem veendők listája) megküldi a Felvételi Központnak (elektronikus úton és írásban).</dd>
+ <dt>2007. április 22.</dt>
+ <dd>A Felvételi Központ egyezteti az elektronikusan és levélben érkezett igazgatói döntéseket, kialakítja a végeredményt az igazgatói döntések és tanulói adatlapok egyeztetése alapján, és elküldi azt a középfokú iskoláknak (egyeztetett felvételi jegyzék).</dd>
+ <dt>2007. április 20-ig <img src="/skin/classic/module-portal/img/fjel.gif" alt="!" /></dt>
+ <dd>Webes felületen keresztül lekérdezhetik saját - nálunk elért - eredményüket az egyeztetett felvételi jegyzékből.</dd>
+ <dd>A felvételt hirdető középfokú iskolák megküldik a felvételről, vagy az elutasításról szóló értesítést a jelentkezőknek és az általános iskoláknak.</dd>
+-->
+</dl>
+
+
+<h3 id="kiemelt">Kiemelt adatok</h3>
+
+<dl>
+<dt>Az iskola rövid neve és címe:</dt>
+<dd>Városmajori Gimnázium és Kós Károly Általános Iskola<br/>
+ 1122. Budapest, Városmajor u. 71.<br/>
+ Tel: 214-1554; Fax: 214-1479<br/>
+</dd>
+<dt>A gimnázium központi azonosító kódja:</dt><dd style="font-family: monospace; font-size:20px">035242</dd>
+
+<dt>A 2010-2011-es tanévben indítandó tanulócsoportok azonosító számai:</dt>
+<dd>
+<table class="tagozatok">
+<tr><th>Az osztály jele</th><th>megnevezése</th><th>kódja</th></tr>
+<tr><td>7.A</td><td>általános egyedi tantervű (angol)</td><td>01</td></tr>
+<tr><td>7.B</td><td>általános egyedi tantervű (német)</td><td>02</td></tr>
+<tr><td>9.C</td><td>ének-zene speciális tantervű (olasz)</td><td>03</td></tr>
+<tr><td>9.N</td><td>ének-zene, német nyelvi előkészítő évvel</td><td>04</td></tr>
+<tr><td>9.C</td><td>humán egyedi tantervű (olasz)</td><td>05</td></tr>
+<tr><td>9.N</td><td>magyar, német nyelvi előkészítő évvel</td><td>06</td></tr>
+<tr><td>9.D</td><td>matematika tehetséggondozó (angol)</td><td>07</td></tr>
+<tr><td>9.N</td><td>matematika, német nyelvi előkészítő évvel</td><td>08</td></tr>
+<tr><td>9.D</td><td>informatika egyedi tantervű (angol)</td><td>09</td></tr>
+<tr><td>9.N</td><td>biológia, német nyelvi előkészítő évvel</td><td>10</td></tr>
+<tr><td>9.E</td><td>általános tantervű (12 évfolyamos) csoport (spanyol)</td><td>11*</td></tr>
+</table>
+</dd>
+
+</dl> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2011.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2011.html
new file mode 100644
index 00000000..fd5aaaec
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2011.html
@@ -0,0 +1,117 @@
+<h1>Felvételi</h1>
+<h2>2011/2012-es tanév</h2>
+
+<div style="margin-top: 6px; text-align:center;"><a style="font-weight: bold; font-size: 16px; color: red;" href="http://mygren.vmg.sulinet.hu/dokumentumok/felveteli/FT2011web.pdf">Felvételi tájékoztató letöltése...</a></div>
+
+<h3>Fontos dátumok</h3>
+
+<dl>
+<dt >2010. október 29.</dt>
+<dd >
+A felvételi tájékoztató megjelenése. (<a href="http://mygren.vmg.sulinet.hu/dokumentumok/felveteli/FT2011web.pdf">pdf</a>)
+</dd>
+
+
+ <dt >2010. november 22. 18:00 </dt>
+ <dd >Tájékoztató értekezletet tart Dr. Szebedy Tas igazgató a felvételi eljárás rendjéről.</dd>
+
+ <dt >2010. november 15-19.</dt>
+ <dd>„Nyitott iskola” – óralátogatások, bemutatóórák (előzetes jelentkezés alapján)</dd>
+
+ <dt >2010. december 10.</dt>
+ <dd >Jelentkezési határidő az egységes követelmények szerint tartott
+ a felvételi eljárást megelőző írásbeli felvételi vizsgára. (Tanulói Jelentkezési Lap)
+ </dd>
+
+ <dt >2011. január 21. 14<sup>00</sup></dt>
+ <dd >Írásbeli felvételi vizsgák az érintett 6 évfolyamos gimnáziumokban. (2x45 perc)</dd>
+
+ <dt >2011. január 22. 10<sup>00</sup></dt>
+ <dd >Írásbeli felvételi a nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+ <dt >2011. január 29. 10<sup>00</sup></dt>
+ <dd >Írásbeli felvételi a tehettséggondozó tagozatra jelentkezők számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+ <dt >2011. február 7.(hétfő) 8:00-16:00 <code class="hat">6</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése hatévfolyamos képzésre jelentkezőknek</dd>
+
+ <dt >2011. február 8.(kedd) 8:00-16:00 <code class="negy">4</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése négy- és ötévfolyamos képzésre jelentkezőknek</dd>
+<!--
+
+ <dt >2008. február 8. 14:00</dt>
+ <dd >Az írásbelit szervező 6 évfolyamos gimnáziumok, valamint a nyolcadik
+ évfolyamok számára a felvételi eljárást megelőző írásbeli vizsgát (<a href="http://www.om.hu/felveteli_2007_index.html">feladatlap</a>)
+ szervező középiskolákban (honlapjaikon keresztül és kifüggesztve)
+ értesítik az írásbeli eredményéről a tanulókat. Felhívjuk a figyelmet, hogy
+ írásban nem értesíjük a nálunk központi írásbelit írt diákokat.</dd>
+-->
+<!-- <dt >2007. február 9. (szerda) 8<sup>30</sup> - 16<sup>30</sup> <code class="negy">4</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a nyégyévfolymos képzésre
+ jelentkezők (nyolcadikosok és szüleik) számára. A hitelesített <i>értékelő lapot</i>
+ csatolni kell a jelentkezéshez.</dd>
+
+ <dt >2007. február 10. (csütörtök) 8<sup>30</sup> - 16<sup>30</sup> <code class="hat">6</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a hatévfolymos képzésre
+ jelentkezők (hatodikosok, hetedikesek és szüleik) számára. A hitelesített
+ <i>értékelő lapot</i> csatolni kell a jelentkezéshez.</dd>
+-->
+ <dt >2011. február 18.<code class="negy">4</code> <code class="ot">5</code> <code class="hat">6</code></dt>
+ <dd >A jelentkezési lapok leadási határideje (minden jelentkező számára!)</dd>
+
+ <dt>2011. február 21. - 2011. március 11.</dt>
+ <dd>Általános felvételi eljárás. A weben lekérdezhető egyedi beosztás alapján.</dd>
+<!--
+ <dt>2007. március 19. - 2007. március 20.</dt>
+ <dd>Módosító Tanulói adatlapon a már megjelölt tagozatsorrend változtatható,
+ vagy a már megjelölt iskola új tagozata (a középiskolával való egyeztetés
+ után) vehető fel.</dd>
+
+ <dt>2007. március 16. (este) <code class="negy">4</code> <code class="hat">6</code></dt>
+ <dd>Ideiglenes felvételi jegyzék közzététele.</dd>
+-->
+
+<!--
+ <dt>2007. március 29.</dt>
+ <dd>A Felvételi Központ elektronikus formában megküldi a középfokú iskoláknak a hozzájuk jelentkezettek névsorát ABC sorrendben.</dd>
+ <dt>2007. április 8.</dt>
+ <dd>A Felvételi Központ a módosító tanulói adatlapok alapján kiegészíti az ideiglenes felvételi jegyzékben közzétett névsort.</dd>
+ <dt>2007. április 13.</dt>
+ <dd>A középfokú iskola igazgatója a végleges felvételi jegyzéket (rangsor, felvehető létszám, a biztosan fel nem veendők listája) megküldi a Felvételi Központnak (elektronikus úton és írásban).</dd>
+ <dt>2007. április 22.</dt>
+ <dd>A Felvételi Központ egyezteti az elektronikusan és levélben érkezett igazgatói döntéseket, kialakítja a végeredményt az igazgatói döntések és tanulói adatlapok egyeztetése alapján, és elküldi azt a középfokú iskoláknak (egyeztetett felvételi jegyzék).</dd>
+ <dt>2007. április 20-ig <img src="/skin/classic/module-portal/img/fjel.gif" alt="!" /></dt>
+ <dd>Webes felületen keresztül lekérdezhetik saját - nálunk elért - eredményüket az egyeztetett felvételi jegyzékből.</dd>
+ <dd>A felvételt hirdető középfokú iskolák megküldik a felvételről, vagy az elutasításról szóló értesítést a jelentkezőknek és az általános iskoláknak.</dd>
+-->
+</dl>
+
+
+<h3 id="kiemelt">Kiemelt adatok</h3>
+
+<dl>
+<dt>Az iskola rövid neve és címe:</dt>
+<dd>Városmajori Gimnázium és Kós Károly Általános Iskola<br/>
+ 1122. Budapest, Városmajor u. 71.<br/>
+ Tel: 214-1554; Fax: 214-1479<br/>
+</dd>
+<dt>A gimnázium központi azonosító kódja:</dt><dd style="font-family: monospace; font-size:20px">035242</dd>
+
+<dt>A 2011-2012-es tanévben indítandó tanulócsoportok azonosító számai:</dt>
+<dd>
+<table class="tagozatok">
+<tr><th>Az osztály jele</th><th>megnevezése</th><th>kódja</th></tr>
+<tr><td>7.A</td><td>általános egyedi tantervű (angol)</td><td>01</td></tr>
+<tr><td>7.B</td><td>általános egyedi tantervű (német)</td><td>02</td></tr>
+<tr><td>9.C</td><td>ének-zene speciális tantervű (angol)</td><td>03</td></tr>
+<tr><td>9.C</td><td>magyar egyedi tantervű (angol)</td><td>04</td></tr>
+<tr><td>9.D</td><td>matematika tehetséggondozó (angol)</td><td>05</td></tr>
+<tr><td>9.D</td><td>biológia egyedi tantervű (angol)</td><td>06</td></tr>
+<tr><td>9.E</td><td>általános tantervű (5 évfolyamos) csoport (német)</td><td>07</td></tr>
+<tr><td>9.E</td><td>általános tantervű (5 évfolyamos) csoport (spanyol)</td><td>08</td></tr>
+</table>
+</dd>
+
+</dl> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2012.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2012.html
new file mode 100644
index 00000000..847fbf42
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2012.html
@@ -0,0 +1,139 @@
+<h1>Felvételi</h1>
+<h2>2012/2013-as tanév</h2>
+
+<!--// http://www.oh.gov.hu/kozoktatas/kozepfoku-beiskolazas/aktualis-beiskolazasi-idoszak //-->
+
+
+<div style="margin-top: 6px; text-align:center;">
+ <a style="font-weight: bold; font-size: 16px; color: red;" href="http://mygren.vmg.sulinet.hu/dokumentumok/felveteli/FT2012.pdf">
+ Felvételi Tájékoztató 2012/2013
+ </a>
+</div>
+
+<h3>Fontos dátumok</h3>
+
+<dl>
+<dt >2011. október 31.</dt>
+<dd >
+A felvételi tájékoztató megjelenése.
+</dd>
+
+
+ <dt >2011. november 21. 18:00 </dt>
+ <dd >Tájékoztató értekezletet tart Dr. Szebedy Tas igazgató a felvételi eljárás rendjéről.</dd>
+
+ <dt >2011. november 28. 2011. december 2.</dt>
+ <dd>„Nyitott iskola” – óralátogatások, bemutatóórák (előzetes jelentkezés várhatóan november 21-től)</dd>
+
+ <dt >2011. december 12.</dt>
+ <dd >Jelentkezési határidő az egységes követelmények szerint tartott
+ a felvételi eljárást megelőző írásbeli felvételi vizsgára. (Tanulói Jelentkezési Lap)
+ </dd>
+
+ <dt >2012. január 20. 14<sup>00</sup></dt>
+ <dd >Írásbeli felvételi vizsgák az érintett 6 évfolyamos gimnáziumokban. (2x45 perc)</dd>
+
+ <dt >2012. január 21. 10<sup>00</sup></dt>
+ <dd >Írásbeli felvételi a nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+<!--//
+ <dt >2012. január 26. 14<sup>00</sup></dt>
+ <dd >Pótló írásbeli felvételi a hatodik és nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+//-->
+
+ <dt >2012. január 28. 10<sup>00</sup></dt>
+ <dd >Írásbeli felvételi a tehettséggondozó tagozatra jelentkezők számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+<!--//
+ <dt >2012. február 2. 14<sup>00</sup></dt>
+ <dd >Pótló írásbeli felvételi a tehettséggondozó tagozatra jelentkezők számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+//-->
+
+ <dt >2012. február 6. (hétfő) 8:00-16:00 <code class="hat">6</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése hatévfolyamos képzésre jelentkezőknek</dd>
+
+ <dt >2012. február 8. (szerda) 8:00-16:00 <code class="negy">4</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése négy- és ötévfolyamos képzésre jelentkezőknek</dd>
+<!--
+
+ <dt >2008. február 8. 14:00</dt>
+ <dd >Az írásbelit szervező 6 évfolyamos gimnáziumok, valamint a nyolcadik
+ évfolyamok számára a felvételi eljárást megelőző írásbeli vizsgát (<a href="http://www.om.hu/felveteli_2007_index.html">feladatlap</a>)
+ szervező középiskolákban (honlapjaikon keresztül és kifüggesztve)
+ értesítik az írásbeli eredményéről a tanulókat. Felhívjuk a figyelmet, hogy
+ írásban nem értesíjük a nálunk központi írásbelit írt diákokat.</dd>
+-->
+<!-- <dt >2007. február 9. (szerda) 8<sup>30</sup> - 16<sup>30</sup> <code class="negy">4</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a nyégyévfolymos képzésre
+ jelentkezők (nyolcadikosok és szüleik) számára. A hitelesített <i>értékelő lapot</i>
+ csatolni kell a jelentkezéshez.</dd>
+
+ <dt >2007. február 10. (csütörtök) 8<sup>30</sup> - 16<sup>30</sup> <code class="hat">6</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a hatévfolymos képzésre
+ jelentkezők (hatodikosok, hetedikesek és szüleik) számára. A hitelesített
+ <i>értékelő lapot</i> csatolni kell a jelentkezéshez.</dd>
+
+ <dt >2011. február 18.<code class="negy">4</code> <code class="ot">5</code> <code class="hat">6</code></dt>
+ <dd >A jelentkezési lapok leadási határideje (minden jelentkező számára!)</dd>
+
+ <dt>2011. február 21. - 2011. március 11.</dt>
+ <dd>Általános felvételi eljárás. A weben lekérdezhető egyedi beosztás alapján.</dd>
+
+ <dt>2007. március 19. - 2007. március 20.</dt>
+ <dd>Módosító Tanulói adatlapon a már megjelölt tagozatsorrend változtatható,
+ vagy a már megjelölt iskola új tagozata (a középiskolával való egyeztetés
+ után) vehető fel.</dd>
+
+ <dt>2007. március 16. (este) <code class="negy">4</code> <code class="hat">6</code></dt>
+ <dd>Ideiglenes felvételi jegyzék közzététele.</dd>
+-->
+
+<!--
+ <dt>2007. március 29.</dt>
+ <dd>A Felvételi Központ elektronikus formában megküldi a középfokú iskoláknak a hozzájuk jelentkezettek névsorát ABC sorrendben.</dd>
+ <dt>2007. április 8.</dt>
+ <dd>A Felvételi Központ a módosító tanulói adatlapok alapján kiegészíti az ideiglenes felvételi jegyzékben közzétett névsort.</dd>
+ <dt>2007. április 13.</dt>
+ <dd>A középfokú iskola igazgatója a végleges felvételi jegyzéket (rangsor, felvehető létszám, a biztosan fel nem veendők listája) megküldi a Felvételi Központnak (elektronikus úton és írásban).</dd>
+ <dt>2007. április 22.</dt>
+ <dd>A Felvételi Központ egyezteti az elektronikusan és levélben érkezett igazgatói döntéseket, kialakítja a végeredményt az igazgatói döntések és tanulói adatlapok egyeztetése alapján, és elküldi azt a középfokú iskoláknak (egyeztetett felvételi jegyzék).</dd>
+ <dt>2007. április 20-ig <img src="/skin/classic/module-portal/img/fjel.gif" alt="!" /></dt>
+ <dd>Webes felületen keresztül lekérdezhetik saját - nálunk elért - eredményüket az egyeztetett felvételi jegyzékből.</dd>
+ <dd>A felvételt hirdető középfokú iskolák megküldik a felvételről, vagy az elutasításról szóló értesítést a jelentkezőknek és az általános iskoláknak.</dd>
+-->
+</dl>
+
+
+<h3 id="kiemelt">Kiemelt adatok</h3>
+
+<dl>
+<dt>Az iskola rövid neve és címe:</dt>
+<dd>Városmajori Gimnázium és Kós Károly Általános Iskola<br/>
+ 1122. Budapest, Városmajor u. 71.<br/>
+ Tel: 214-1554; Fax: 214-1479<br/>
+ Telephely kódja: 001<br/>
+</dd>
+<dt>A gimnázium központi azonosító kódja:</dt>
+<dd style="font-family: monospace; font-size:20px">035242</dd>
+
+<!--//
+<dt>A 2012-2013-es tanévben indítandó tanulócsoportok azonosító számai:</dt>
+<dd>
+<table class="tagozatok">
+<tr><th>Az osztály jele</th><th>megnevezése</th><th>kódja</th></tr>
+<tr><td>7.A</td><td>általános egyedi tantervű (angol)</td><td>01</td></tr>
+<tr><td>7.B</td><td>általános egyedi tantervű (német)</td><td>02</td></tr>
+<tr><td>9.C</td><td>ének-zene speciális tantervű (angol)</td><td>03</td></tr>
+<tr><td>9.C</td><td>magyar egyedi tantervű (angol)</td><td>04</td></tr>
+<tr><td>9.D</td><td>matematika tehetséggondozó (angol)</td><td>05</td></tr>
+<tr><td>9.D</td><td>biológia egyedi tantervű (angol)</td><td>06</td></tr>
+<tr><td>9.E</td><td>általános tantervű (5 évfolyamos) csoport (német)</td><td>07</td></tr>
+<tr><td>9.E</td><td>általános tantervű (5 évfolyamos) csoport (spanyol)</td><td>08</td></tr>
+</table>
+</dd>
+//-->
+</dl> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2013.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2013.html
new file mode 100644
index 00000000..f0c7dbb8
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2013.html
@@ -0,0 +1,150 @@
+<h1>Középiskolai felvételi</h1>
+<h2>2013/2014-as tanév</h2>
+
+<!--// http://www.oh.gov.hu/kozoktatas/kozepfoku-beiskolazas/aktualis-beiskolazasi-idoszak //-->
+
+
+<div style="margin-top: 6px; text-align:center;">
+ <a style="font-weight: bold; font-size: 16px; color: red;" href="http://mygren.vmg.sulinet.hu/dokumentumok/felveteli/FT2013b.pdf">
+ Felvételi Tájékoztató 2013/2014
+ </a>
+</div>
+
+<h3>Fontos dátumok</h3>
+
+<dl>
+<dt >2012. október 31.</dt>
+<dd >
+A felvételi tájékoztató megjelenése.
+</dd>
+
+
+ <dt >2012. november 19. 18:00 </dt>
+ <dd >Tájékoztató értekezletet tart Dr. Szebedy Tas igazgató a felvételi eljárás rendjéről.</dd>
+
+ <dt >2012. november 26-30.</dt>
+ <dd>„Nyitott iskola” – óralátogatások, bemutatóórák (előzetes jelentkezés várhatóan november 21-től)</dd>
+
+ <dt >2012. december 10.</dt>
+ <dd >Jelentkezési határidő az egységes követelmények szerint tartott
+ a felvételi eljárást megelőző írásbeli felvételi vizsgára. (Tanulói Jelentkezési Lap)
+ </dd>
+
+ <dt >2013. január 18. 14<sup>00</sup></dt>
+ <dd >Írásbeli felvételi vizsgák az érintett 6 évfolyamos gimnáziumokban. (2x45 perc)</dd>
+
+ <dt >2013. január 19. 10<sup>00</sup></dt>
+ <dd >Írásbeli felvételi a nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+<!--//
+ <dt >2012. január 26. 14<sup>00</sup></dt>
+ <dd >Pótló írásbeli felvételi a hatodik és nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+
+ <dt >2012. január 28. 10<sup>00</sup></dt>
+ <dd >Írásbeli felvételi a tehettséggondozó tagozatra jelentkezők számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+//-->
+<!--//
+ <dt >2012. február 2. 14<sup>00</sup></dt>
+ <dd >Pótló írásbeli felvételi a tehettséggondozó tagozatra jelentkezők számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+//-->
+
+ <dt >2013. február 6. (szerda) 8:00-16:00 <code class="negy">4-5</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése négyévfolyamos és a nyelvi előkészítős képzésre jelentkezőknek</dd>
+
+ <dt >2013. február 7. (csütörtök) 8:00-16:00 <code class="hat">6</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése hatévfolyamos képzésre jelentkezőknek</dd>
+<!--
+
+ <dt >2008. február 8. 14:00</dt>
+ <dd >Az írásbelit szervező 6 évfolyamos gimnáziumok, valamint a nyolcadik
+ évfolyamok számára a felvételi eljárást megelőző írásbeli vizsgát (<a href="http://www.om.hu/felveteli_2007_index.html">feladatlap</a>)
+ szervező középiskolákban (honlapjaikon keresztül és kifüggesztve)
+ értesítik az írásbeli eredményéről a tanulókat. Felhívjuk a figyelmet, hogy
+ írásban nem értesíjük a nálunk központi írásbelit írt diákokat.</dd>
+-->
+<!-- <dt >2007. február 9. (szerda) 8<sup>30</sup> - 16<sup>30</sup> <code class="negy">4</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a nyégyévfolymos képzésre
+ jelentkezők (nyolcadikosok és szüleik) számára. A hitelesített <i>értékelő lapot</i>
+ csatolni kell a jelentkezéshez.</dd>
+
+ <dt >2007. február 10. (csütörtök) 8<sup>30</sup> - 16<sup>30</sup> <code class="hat">6</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a hatévfolymos képzésre
+ jelentkezők (hatodikosok, hetedikesek és szüleik) számára. A hitelesített
+ <i>értékelő lapot</i> csatolni kell a jelentkezéshez.</dd>
+
+ <dt >2011. február 18.<code class="negy">4</code> <code class="ot">5</code> <code class="hat">6</code></dt>
+ <dd >A jelentkezési lapok leadási határideje (minden jelentkező számára!)</dd>
+
+ <dt>2011. február 21. - 2011. március 11.</dt>
+ <dd>Általános felvételi eljárás. A weben lekérdezhető egyedi beosztás alapján.</dd>
+
+ <dt>2007. március 19. - 2007. március 20.</dt>
+ <dd>Módosító Tanulói adatlapon a már megjelölt tagozatsorrend változtatható,
+ vagy a már megjelölt iskola új tagozata (a középiskolával való egyeztetés
+ után) vehető fel.</dd>
+-->
+ <dt>2013. március 13. <code class="negy">4-5</code> <code class="hat">6</code></dt>
+ <dd>Ideiglenes felvételi jegyzék közzététele.</dd>
+
+
+<!--
+ <dt>2007. március 29.</dt>
+ <dd>A Felvételi Központ elektronikus formában megküldi a középfokú iskoláknak a hozzájuk jelentkezettek névsorát ABC sorrendben.</dd>
+ <dt>2007. április 8.</dt>
+ <dd>A Felvételi Központ a módosító tanulói adatlapok alapján kiegészíti az ideiglenes felvételi jegyzékben közzétett névsort.</dd>
+ <dt>2007. április 13.</dt>
+ <dd>A középfokú iskola igazgatója a végleges felvételi jegyzéket (rangsor, felvehető létszám, a biztosan fel nem veendők listája) megküldi a Felvételi Központnak (elektronikus úton és írásban).</dd>
+ <dt>2007. április 22.</dt>
+ <dd>A Felvételi Központ egyezteti az elektronikusan és levélben érkezett igazgatói döntéseket, kialakítja a végeredményt az igazgatói döntések és tanulói adatlapok egyeztetése alapján, és elküldi azt a középfokú iskoláknak (egyeztetett felvételi jegyzék).</dd>
+ <dt>2007. április 20-ig <img src="/skin/classic/module-portal/img/fjel.gif" alt="!" /></dt>
+ <dd>Webes felületen keresztül lekérdezhetik saját - nálunk elért - eredményüket az egyeztetett felvételi jegyzékből.</dd>
+ <dd>A felvételt hirdető középfokú iskolák megküldik a felvételről, vagy az elutasításról szóló értesítést a jelentkezőknek és az általános iskoláknak.</dd>
+-->
+</dl>
+
+
+<h3 id="kiemelt">Kiemelt adatok</h3>
+
+<dl>
+<dt>Az iskola rövid neve és címe:</dt>
+<dd>Városmajori Gimnázium és Kós Károly Általános Iskola<br/>
+ 1122. Budapest, Városmajor u. 71.<br/>
+ Tel: 214-1554; Fax: 214-1479<br/>
+ Telephely kódja: 001<br/>
+</dd>
+<dt>A gimnázium központi azonosító kódja:</dt>
+<dd style="font-family: monospace; font-size:20px">035242</dd>
+
+
+<dt>A 2012-2013-es tanévben indítandó tanulócsoportok azonosító számai:</dt>
+<dd>
+
+<style type="text/css">
+<!--//
+ a {}
+ table.tagozatok td { height: 2em; }
+ table.tagozatok a:before { content: "☞ "; font-size: 1.4em; }
+ table.tagozatok a:hover { text-decoration: underline; }
+
+//-->
+</style>
+
+<table class="tagozatok">
+<tr><th>Az osztály jele</th><th>megnevezése</th><th>kódja</th></tr>
+<tr><td>7.A</td><td>általános egyedi tantervű (angol)</td><td>01</td></tr>
+<tr><td>7.B</td><td>általános egyedi tantervű (német)</td><td>02</td></tr>
+<tr><td>9.C</td><td><a href="index.php?page=felveteli&f=enek">ének-zene speciális tantervű (angol)</a></td><td>03</td></tr>
+<tr><td>9.C</td><td><a href="index.php?page=felveteli&f=biologia">biológia egyedi tantervű (angol)</a></td><td>04</td></tr>
+<tr><td>9.D</td><td><a href="index.php?page=felveteli&f=matematika">matematika tehetséggondozó (angol)</a></td><td>05</td></tr>
+<tr><td>9.D</td><td><a href="index.php?page=felveteli&f=informatika">informatika egyedi tantervű (angol)</a></td><td>06</td></tr>
+<tr><td>9.ENy</td><td>általános tantervű (nyelvi előkészítős, 1+4 évfolyamos) csoport (német)</td><td>07</td></tr>
+<tr><td>9.ENy</td><td>általános tantervű (nyelvi előkészítős, 1+4 évfolyamos) csoport (spanyol)</td><td>08</td></tr>
+</table>
+</dd>
+
+</dl> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2014.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2014.html
new file mode 100644
index 00000000..10ce10cb
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2014.html
@@ -0,0 +1,150 @@
+<h1>Középiskolai felvételi</h1>
+<h2>2014/2015-as tanév</h2>
+
+<!--// http://www.oh.gov.hu/kozoktatas/kozepfoku-beiskolazas/aktualis-beiskolazasi-idoszak //-->
+
+
+<div style="margin-top: 6px; text-align:center;">
+ <a style="font-weight: bold; font-size: 16px; color: red;" href="http://mygren.vmg.sulinet.hu/dokumentumok/felveteli/FT2014.pdf">
+ Felvételi Tájékoztató 2014/2015
+ </a>
+</div>
+
+<h3>Fontos dátumok</h3>
+
+<dl>
+<dt >2013. október 31.</dt>
+<dd >
+A felvételi tájékoztató megjelenése.
+</dd>
+
+
+ <dt >2013. november 25. 18:00 </dt>
+ <dd >Tájékoztató értekezletet tart Dr. Szebedy Tas igazgató a felvételi eljárás rendjéről.</dd>
+
+ <dt >2013. november 26-29.</dt>
+ <dd>„Nyitott iskola” – óralátogatások, bemutatóórák (előzetes jelentkezés várhatóan november 21-től)</dd>
+
+ <dt >2013. december 10. 14:00</dt>
+ <dd >Jelentkezési határidő az egységes követelmények szerint tartott
+ a felvételi eljárást megelőző írásbeli felvételi vizsgára. (Tanulói Jelentkezési Lap)
+ </dd>
+
+ <dt >2014. január 18. 10<sup>00</sup></dt>
+ <dd >Írásbeli felvételi vizsgák az érintett 6 évfolyamos gimnáziumokban. (2x45 perc)</dd>
+
+ <dt >2014. január 18. 10<sup>00</sup></dt>
+ <dd >Írásbeli felvételi a nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+<!--//
+ <dt >2012. január 26. 14<sup>00</sup></dt>
+ <dd >Pótló írásbeli felvételi a hatodik és nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+
+ <dt >2012. január 28. 10<sup>00</sup></dt>
+ <dd >Írásbeli felvételi a tehettséggondozó tagozatra jelentkezők számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+//-->
+<!--//
+ <dt >2012. február 2. 14<sup>00</sup></dt>
+ <dd >Pótló írásbeli felvételi a tehettséggondozó tagozatra jelentkezők számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+//-->
+
+ <dt >2014. január 29. 8:00-16:00 <code class="negy">4-5</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése négyévfolyamos és a nyelvi előkészítős képzésre jelentkezőknek</dd>
+
+ <dt >2014. január 30. 8:00-16:00 <code class="hat">6</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése hatévfolyamos képzésre jelentkezőknek</dd>
+<!--
+
+ <dt >2008. február 8. 14:00</dt>
+ <dd >Az írásbelit szervező 6 évfolyamos gimnáziumok, valamint a nyolcadik
+ évfolyamok számára a felvételi eljárást megelőző írásbeli vizsgát (<a href="http://www.om.hu/felveteli_2007_index.html">feladatlap</a>)
+ szervező középiskolákban (honlapjaikon keresztül és kifüggesztve)
+ értesítik az írásbeli eredményéről a tanulókat. Felhívjuk a figyelmet, hogy
+ írásban nem értesíjük a nálunk központi írásbelit írt diákokat.</dd>
+-->
+<!-- <dt >2007. február 9. (szerda) 8<sup>30</sup> - 16<sup>30</sup> <code class="negy">4</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a nyégyévfolymos képzésre
+ jelentkezők (nyolcadikosok és szüleik) számára. A hitelesített <i>értékelő lapot</i>
+ csatolni kell a jelentkezéshez.</dd>
+
+ <dt >2007. február 10. (csütörtök) 8<sup>30</sup> - 16<sup>30</sup> <code class="hat">6</code></dt>
+ <dd >A központi írásbeli felvételi dolgozatok megtekintésének időtartama a hatévfolymos képzésre
+ jelentkezők (hatodikosok, hetedikesek és szüleik) számára. A hitelesített
+ <i>értékelő lapot</i> csatolni kell a jelentkezéshez.</dd>
+
+ <dt >2011. február 18.<code class="negy">4</code> <code class="ot">5</code> <code class="hat">6</code></dt>
+ <dd >A jelentkezési lapok leadási határideje (minden jelentkező számára!)</dd>
+
+ <dt>2011. február 21. - 2011. március 11.</dt>
+ <dd>Általános felvételi eljárás. A weben lekérdezhető egyedi beosztás alapján.</dd>
+
+ <dt>2007. március 19. - 2007. március 20.</dt>
+ <dd>Módosító Tanulói adatlapon a már megjelölt tagozatsorrend változtatható,
+ vagy a már megjelölt iskola új tagozata (a középiskolával való egyeztetés
+ után) vehető fel.</dd>
+-->
+ <dt>2014. március 12. <code class="negy">4-5</code> <code class="hat">6</code></dt>
+ <dd>Ideiglenes felvételi jegyzék közzététele.</dd>
+
+
+<!--
+ <dt>2007. március 29.</dt>
+ <dd>A Felvételi Központ elektronikus formában megküldi a középfokú iskoláknak a hozzájuk jelentkezettek névsorát ABC sorrendben.</dd>
+ <dt>2007. április 8.</dt>
+ <dd>A Felvételi Központ a módosító tanulói adatlapok alapján kiegészíti az ideiglenes felvételi jegyzékben közzétett névsort.</dd>
+ <dt>2007. április 13.</dt>
+ <dd>A középfokú iskola igazgatója a végleges felvételi jegyzéket (rangsor, felvehető létszám, a biztosan fel nem veendők listája) megküldi a Felvételi Központnak (elektronikus úton és írásban).</dd>
+ <dt>2007. április 22.</dt>
+ <dd>A Felvételi Központ egyezteti az elektronikusan és levélben érkezett igazgatói döntéseket, kialakítja a végeredményt az igazgatói döntések és tanulói adatlapok egyeztetése alapján, és elküldi azt a középfokú iskoláknak (egyeztetett felvételi jegyzék).</dd>
+ <dt>2007. április 20-ig <img src="/skin/classic/module-portal/img/fjel.gif" alt="!" /></dt>
+ <dd>Webes felületen keresztül lekérdezhetik saját - nálunk elért - eredményüket az egyeztetett felvételi jegyzékből.</dd>
+ <dd>A felvételt hirdető középfokú iskolák megküldik a felvételről, vagy az elutasításról szóló értesítést a jelentkezőknek és az általános iskoláknak.</dd>
+-->
+</dl>
+
+
+<h3 id="kiemelt">Kiemelt adatok</h3>
+
+<dl>
+<dt>Az iskola rövid neve és címe:</dt>
+<dd>Városmajori Gimnázium és Kós Károly Általános Iskola<br/>
+ 1122. Budapest, Városmajor u. 71.<br/>
+ Tel: 214-1554; Fax: 214-1479<br/>
+ Telephely kódja: 001<br/>
+</dd>
+<dt>A gimnázium központi azonosító kódja:</dt>
+<dd style="font-family: monospace; font-size:20px">035242</dd>
+
+
+<dt>A 2013/2014-es tanévben indítandó tanulócsoportok azonosító számai:</dt>
+<dd>
+
+<style type="text/css">
+<!--//
+ a {}
+ table.tagozatok td { height: 2em; }
+ table.tagozatok a:before { content: "☞ "; font-size: 1.4em; }
+ table.tagozatok a:hover { text-decoration: underline; }
+
+//-->
+</style>
+
+<table class="tagozatok">
+<tr><th>Az osztály jele</th><th>megnevezése</th><th>kódja</th></tr>
+<tr><td>7.A</td><td>általános egyedi tantervű (angol)</td><td>01</td></tr>
+<tr><td>7.B</td><td>általános egyedi tantervű (német)</td><td>02</td></tr>
+<tr><td>9.C</td><td><a href="index.php?page=felveteli&f=enek">ének-zene speciális tantervű (angol)</a></td><td>03</td></tr>
+<tr><td>9.C</td><td><a href="index.php?page=felveteli&f=human">humán egyedi tantervű (angol)</a></td><td>04</td></tr>
+<tr><td>9.D</td><td><a href="index.php?page=felveteli&f=matematika">matematika tehetséggondozó (angol)</a></td><td>05</td></tr>
+<tr><td>9.D</td><td><a href="index.php?page=felveteli&f=fizika">fizika egyedi tantervű (angol)</a></td><td>06</td></tr>
+<tr><td>9.ENy</td><td>általános tantervű (nyelvi előkészítős, 1+4 évfolyamos) csoport (német)</td><td>07</td></tr>
+<tr><td>9.ENy</td><td>általános tantervű (nyelvi előkészítős, 1+4 évfolyamos) csoport (spanyol)</td><td>08</td></tr>
+</table>
+</dd>
+
+</dl> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2015.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2015.html
new file mode 100644
index 00000000..3649611c
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2015.html
@@ -0,0 +1,109 @@
+<h1>Középiskolai felvételi</h1>
+<h2>2015/2016-os tanév</h2>
+
+<div style="margin-top: 6px; text-align:center;">
+ <a style="font-weight: bold; font-size: 16px; color: #837389;" href="http://mygren.vmg.sulinet.hu/dokumentumok/felveteli/FT2015c.pdf">
+ Felvételi Tájékoztató 2015/2016 [PDF]
+ </a>
+</div>
+
+<h3>Gyakran Ismételt Kérdések</h3>
+<p>
+<a class="gyik" href="index.php?page=felveteli&f=felveteli-gyik">Gy.I.K.</a>
+</p>
+
+<h3>Letölthető dokumentumok</h3>
+
+<ul>
+<li>
+<a href="http://mygren.vmg.sulinet.hu/dokumentumok/felveteli/FT2015c.pdf">A Városmajori Gimnázium Felvételi Tájékoztatója 2015/2016</a> (.pdf)
+</li><li style="display:none">
+<a href="http://www.oktatas.hu/pub_bin/dload/kozoktatas/beiskolazas/vizsgaszervezo_intezmenyek2014_2015/kozfelvir_irasbeli_jellap968evf_2014_2015_v.pdf">
+Jelentkezési lap a központi írásbeli felvételihez
+</a> (.pdf)</li>
+<li>
+<a href="http://www.oktatas.hu/pub_bin/dload/kozoktatas/beiskolazas/tajekoztato_levelek/KIFIR_kiadvany_2014_2015_honlapra.pdf">Az Oktatási Hivatal tájékoztatója</a> (.pdf)
+</ul>
+
+<h3>Fontos dátumok</h3>
+
+<dl>
+<dt >2014. október 31.</dt>
+<dd >
+A felvételi tájékoztató megjelenése.
+</dd>
+
+ <dt >2014. november 17. 18:00 </dt>
+ <dd >Tájékoztató értekezletet tart Dr. Szebedy Tas igazgató a felvételi eljárás rendjéről.</dd>
+
+ <dt >2014. november 25-26.</dt>
+ <dd>Iskola bemutatkozás (előzetes jelentkezéssel!)</dd>
+
+ <dt >2014. december 9. 14:00 <code class="hatarido icon-time"></code></dt>
+ <dd >Jelentkezési határidő az egységes követelmények szerint tartott
+ a felvételi eljárást megelőző írásbeli felvételi vizsgára.
+ </dd>
+
+ <dt >2015. január 17. 10<sup>00</sup> <code class="icon-child"></code></dt>
+ <dd >Írásbeli felvételi vizsgák az érintett 6 évfolyamos gimnáziumokban. (2x45 perc) </dd>
+
+ <dt >2015. január 17. 10<sup>00</sup> <code class="icon-child"></code></dt>
+ <dd >Írásbeli felvételi a nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+ <dt >2015. január 27. 8:00-16:00 <code class="negy icon-camera"> 4-5</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése négyévfolyamos és a nyelvi előkészítős képzésre jelentkezőknek</dd>
+
+ <dt >2015. január 29. 8:00-16:00 <code class="hat icon-camera"> 6</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése hatévfolyamos képzésre jelentkezőknek</dd>
+
+ <dt>2015. február 13. <code class="hatarido icon-time"></code></dt>
+ <dd>Tanulói Jelentkezési Lapok és Tanulói Adatlapok leadási határideje </dd>
+
+ <dt>2015. március 11.</dt>
+ <dd>Ideiglenes felvételi jegyzék közzététele.</dd>
+
+</dl>
+
+
+<h3 id="kiemelt">Kiemelt adatok</h3>
+
+<dl>
+<dt>Az iskola rövid neve és címe:</dt>
+<dd>Városmajori Gimnázium és Kós Károly Általános Iskola<br/>
+ 1122. Budapest, Városmajor u. 71.<br/>
+ Tel: 214-1554; Fax: 214-1479<br/>
+ Telephely kódja: 001<br/>
+</dd>
+<dt>A gimnázium központi azonosító kódja:</dt>
+<dd style="font-family: monospace; font-size:20px">035242</dd>
+
+
+<dt>A 2014/2015-ös tanévben indítandó tanulócsoportok azonosító számai:</dt>
+<dd>
+
+<style type="text/css">
+<!--//
+ a {}
+ table.tagozatok td { height: 2em; }
+ table.tagozatok a:before { content: "☞ "; font-size: 1.4em; }
+ table.tagozatok a:hover { text-decoration: underline; }
+
+//-->
+</style>
+
+<table class="tagozatok">
+<tr><th>Az osztály jele</th><th>megnevezése</th><th>kódja</th></tr>
+<tr><td>7.&nbsp;A</td><td><a href="index.php?page=felveteli&f=hatevfolyamos">általános egyedi tantervű (angol)</a></td><td>01</td></tr>
+<tr><td>7.&nbsp;B</td><td><a href="index.php?page=felveteli&f=hatevfolyamos">általános egyedi tantervű (német)</a></td><td>02</td></tr>
+<tr><td>9.&nbsp;C</td><td><a href="index.php?page=felveteli&f=enek">ének-zene speciális tantervű (angol)</a></td><td>03</td></tr>
+<tr><td>9.&nbsp;C</td><td><a href="index.php?page=felveteli&f=human">biológia egyedi tantervű (angol)</a></td><td>04</td></tr>
+<tr><td>9.&nbsp;D</td><td><a href="index.php?page=felveteli&f=matematika">matematika tehetséggondozó (angol)</a></td><td>05</td></tr>
+<tr><td>9.&nbsp;D</td><td><a href="index.php?page=felveteli&f=informatika">informatika egyedi tantervű (angol)</a></td><td>06</td></tr>
+<tr><td>9Ny.&nbsp;E</td><td><a href="index.php?page=felveteli&f=otevfolyamos">általános tantervű (nyelvi előkészítős, 1+4 évfolyamos) csoport (német)</a></td><td>07</td></tr>
+<tr><td>9Ny.&nbsp;E</td><td><a href="index.php?page=felveteli&f=otevfolyamos">általános tantervű (nyelvi előkészítős, 1+4 évfolyamos) csoport (spanyol)</a></td><td>08</td></tr>
+</table>
+</dd>
+
+</dl>
+
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2016.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2016.html
new file mode 100644
index 00000000..b82d7644
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2016.html
@@ -0,0 +1,109 @@
+<h1>Középiskolai felvételi</h1>
+<h2>2016/2017-es tanév</h2>
+
+<div style="margin-top: 6px; text-align:center;">
+ <a style="font-weight: bold; font-size: 16px; color: #837389;" href="vmg/felveteli/FT2016.pdf">
+ Felvételi Tájékoztató 2016/2017 [PDF]
+ </a>
+</div>
+
+<h3>Gyakran Ismételt Kérdések</h3>
+<p>
+<a class="gyik" href="index.php?page=felveteli&f=felveteli-gyik">Gy.I.K.</a>
+</p>
+
+<h3>Letölthető dokumentumok</h3>
+<ul>
+<li>
+<a href="/vmg/felveteli/FT2016.pdf">A Városmajori Gimnázium Felvételi Tájékoztatója 2016/2017</a> (.pdf)
+</li><li style="">
+<a href="http://www.oktatas.hu/pub_bin/dload/kozoktatas/beiskolazas/2016/Kifir_szuloi_taj_2015_2016.pdf">
+Oktatási Hivatal Tájékoztatója és Jelentkezési lap a központi írásbeli felvételihez
+</a> (.pdf)</li>
+<li style="display:none">
+<a href="http://www.oktatas.hu/pub_bin/dload/kozoktatas/beiskolazas/tajekoztato_levelek/KIFIR_kiadvany_2015_2016_honlapra.pdf">Az Oktatási Hivatal tájékoztatója</a> (.pdf)
+</ul>
+
+<h3>Fontos dátumok</h3>
+
+<dl>
+<dt >2015. október 20.</dt>
+<dd >
+A felvételi tájékoztató megjelenése.
+</dd>
+
+ <dt >2015. november 23. 18:00 </dt>
+ <dd >Tájékoztató értekezletet a felvételi eljárás rendjéről, induló osztályokról</dd>
+
+ <dt >2015. november 25-27.</dt>
+ <dd>Iskola bemutatkozás (előzetes jelentkezéssel!)</dd>
+
+ <dt >2015. december 8. 14:00 <code class="hatarido icon-time"></code></dt>
+ <dd >Jelentkezési határidő az egységes követelmények szerint tartott
+ a felvételi eljárást megelőző írásbeli felvételi vizsgára.
+ </dd>
+
+ <dt >2016. január 16. 10<sup>00</sup> <code class="icon-child"></code></dt>
+ <dd >Írásbeli felvételi vizsgák az érintett 6 évfolyamos gimnáziumokban. (2x45 perc) </dd>
+
+ <dt >2016. január 16. 10<sup>00</sup> <code class="icon-child"></code></dt>
+ <dd >Írásbeli felvételi a nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+ <dt >2016. január <del>26</del> helyett <ins>28</ins>. 8:00-16:00 <code class="negy icon-camera"> 4-5</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése négyévfolyamos és a nyelvi előkészítős képzésre jelentkezőknek</dd>
+
+ <dt >2016. január <del>28</del> helyett <ins>26</ins>. 8:00-16:00 <code class="hat icon-camera"> 6</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése hatévfolyamos képzésre jelentkezőknek</dd>
+
+ <dt>2016. február 12. <code class="hatarido icon-time"></code></dt>
+ <dd>Tanulói Jelentkezési Lapok és Tanulói Adatlapok leadási határideje </dd>
+
+ <dt>2016. február 15. - 2016. március 4. <code class="icon-child"></code></dt>
+ <dd>Szóbeli beszélgetések a kiírás szerint.</dd>
+
+ <dt>2016. március 8.</dt>
+ <dd>Ideiglenes felvételi jegyzék közzététele.</dd>
+
+</dl>
+
+
+<h3 id="kiemelt">Kiemelt adatok</h3>
+
+<dl>
+<dt>Az iskola rövid neve és címe:</dt>
+<dd>Városmajori Gimnázium és Kós Károly Általános Iskola<br/>
+ 1122. Budapest, Városmajor u. 71.<br/>
+ Tel: 214-1554; Fax: 214-1479<br/>
+ Telephely kódja: 001<br/>
+</dd>
+<dt>A gimnázium központi azonosító kódja:</dt>
+<dd style="font-family: monospace; font-size:20px">035242</dd>
+
+
+<dt>A 2016/2017-es tanévben indítandó tanulócsoportok azonosító számai:</dt>
+<dd>
+<style type="text/css">
+ a {}
+ table.tagozatok td { height: 2em; }
+ table.tagozatok a:before { content: "☞ "; font-size: 1.4em; }
+ table.tagozatok a:hover { text-decoration: underline; }
+ table.tagozatok tr:hover td { color:cornflowerblue; }
+</style>
+
+<table class="tagozatok">
+<tr><th>Az osztály jele</th><th>megnevezése</th><th>kódja</th></tr>
+<tr><td>7.&nbsp;A</td><td><a href="index.php?page=felveteli&f=hatevfolyamos">általános egyedi tantervű osztály (angol)</a></td><td>01</td></tr>
+<tr><td>7.&nbsp;B</td><td><a href="index.php?page=felveteli&f=hatevfolyamos">általános egyedi tantervű osztály (német)</a></td><td>02</td></tr>
+<tr><td>9.&nbsp;C</td><td><a href="index.php?page=felveteli&f=enek">ének-zene speciális tantervű csoport (angol)</a></td><td>03</td></tr>
+<tr><td>9.&nbsp;C</td><td><a href="index.php?page=felveteli&f=human">humán csoport, egyedi tantervű magyar (angol)</a></td><td>04</td></tr>
+<tr><td>9.&nbsp;C</td><td><a href="index.php?page=felveteli&f=human">humán csoport, egyedi tantervű történelem (angol)</a></td><td>05</td></tr>
+<tr><td>9.&nbsp;D</td><td><a href="index.php?page=felveteli&f=matematika">matematika tehetséggondozó csoport (angol)</a></td><td>06</td></tr>
+<tr><td>9.&nbsp;D</td><td><a href="index.php?page=felveteli&f=fizika">fizika egyedi tantervű csoport (angol)</a></td><td>07</td></tr>
+<tr><td>9/Ny.&nbsp;E</td><td><a href="index.php?page=felveteli&f=otevfolyamos">általános tantervű (nyelvi előkészítős, 1+4 évfolyamos) csoport (német)</a></td><td>08</td></tr>
+<tr><td>9/Ny.&nbsp;E</td><td><a href="index.php?page=felveteli&f=otevfolyamos">általános tantervű (nyelvi előkészítős, 1+4 évfolyamos) csoport (spanyol)</a></td><td>09</td></tr>
+</table>
+</dd>
+
+</dl>
+
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2017.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2017.html
new file mode 100644
index 00000000..2d1e2b3d
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2017.html
@@ -0,0 +1,109 @@
+<div class="felveteli">
+<h1>Középiskolai felvételi</h1>
+<h2>2017/2018-as tanév</h2>
+
+<div style="margin-top: 6px; text-align:center;">
+ <a style="font-weight: bold; font-size: 16px; color: #837389;" href="vmg/felveteli/FT2017.pdf">
+ Felvételi Tájékoztató 2017/2018 [PDF]
+ </a>
+</div>
+
+<h3>Gyakran Ismételt Kérdések</h3>
+<p>
+<a class="gyik" href="index.php?page=felveteli&f=felveteli-gyik">Gy.I.K.</a>
+</p>
+
+<h3>Letölthető dokumentumok</h3>
+<ul>
+<li>
+<a href="/vmg/felveteli/FT2017.pdf">A Városmajori Gimnázium Felvételi Tájékoztatója 2017/2018</a> (.pdf)
+</li><li style="">
+<a href="http://www.oktatas.hu/pub_bin/dload/kozoktatas/beiskolazas/2017/kozepfoku_beiskolazas_idopontok_20160704.pdf">
+Oktatási Hivatal Tájékoztatója a középfokú beiskolázási határidőkről, időpontokról
+</a> (.pdf)</li>
+<li>
+<a href="http://www.oktatas.hu/pub_bin/dload/kozoktatas/beiskolazas/2017/felveteli_jogszabalyok_2016_2017_tanev.pdf">Az Oktatási Hivatal tájékoztatója a felvételi eljárás jogszabályi hátteréről</a> (.pdf)
+</ul>
+
+<h3>Fontos dátumok</h3>
+
+<dl>
+<dt >2016. október 20.</dt>
+<dd >
+A felvételi tájékoztató megjelenése.
+</dd>
+
+ <dt >2016. november 14. 18:00 </dt>
+ <dd >Tájékoztató értekezletet a felvételi eljárás rendjéről, induló osztályokról</dd>
+
+ <dt >2016. november 16-18.</dt>
+ <dd>Iskola bemutatkozás (előzetes jelentkezéssel!)</dd>
+
+ <dt >2016. december 9. 14:00 <code class="hatarido icon-time"></code></dt>
+ <dd >Jelentkezési határidő az egységes követelmények szerint tartott
+ a felvételi eljárást megelőző írásbeli felvételi vizsgára.
+ </dd>
+
+ <dt >2017. január 21. 10<sup>00</sup> <code class="icon-child"></code></dt>
+ <dd >Írásbeli felvételi vizsgák az érintett 6 évfolyamos gimnáziumokban. (2x45 perc) </dd>
+
+ <dt >2017. január 21. 10<sup>00</sup> <code class="icon-child"></code></dt>
+ <dd >Írásbeli felvételi a nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+ <dt >2017. február 7. 8:00-16:00 <code class="negy icon-camera"> 4-5</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése négyévfolyamos és a nyelvi előkészítős képzésre jelentkezőknek</dd>
+
+ <dt >2017. február 8. 8:00-16:00 <code class="hat icon-camera"> 6</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése hatévfolyamos képzésre jelentkezőknek</dd>
+
+ <dt>2017. február 15. <code class="hatarido icon-time"></code></dt>
+ <dd>Tanulói Jelentkezési Lapok és Tanulói Adatlapok leadási határideje </dd>
+
+ <dt>2017. február 20. - 2017. március 9. <code class="icon-child"></code></dt>
+ <dd>Szóbeli beszélgetések a kiírás szerint.</dd>
+
+ <dt>2017. március 10.</dt>
+ <dd>Ideiglenes felvételi jegyzék közzététele.</dd>
+
+</dl>
+
+
+<h3 id="kiemelt">Kiemelt adatok</h3>
+
+<dl>
+<dt>Az iskola rövid neve és címe:</dt>
+<dd>Városmajori Gimnázium és Kós Károly Általános Iskola<br/>
+ 1122. Budapest, Városmajor u. 71.<br/>
+ Tel: 214-1554; Fax: 214-1479<br/>
+ Telephely kódja: 001<br/>
+</dd>
+<dt>A gimnázium központi azonosító kódja:</dt>
+<dd style="font-family: monospace; font-size:20px">035242</dd>
+
+
+<dt>A 2017/2018-as tanévben indítandó tanulócsoportok azonosító számai:</dt>
+<dd>
+<style type="text/css">
+ a {}
+ table.tagozatok td { height: 2em; }
+ table.tagozatok a:before { content: "☞ "; font-size: 1.4em; }
+ table.tagozatok a:hover { text-decoration: underline; }
+ table.tagozatok tr:hover td { color:cornflowerblue; }
+</style>
+
+<table class="tagozatok">
+<tr><th>Az osztály jele</th><th>megnevezése</th><th>kódja</th></tr>
+<tr><td>7.&nbsp;A</td><td><a href="index.php?page=felveteli&f=hatevfolyamos">általános egyedi tantervű osztály (angol)</a></td><td>0001</td></tr>
+<tr><td>7.&nbsp;B</td><td><a href="index.php?page=felveteli&f=hatevfolyamos">általános egyedi tantervű osztály (német)</a></td><td>0002</td></tr>
+<tr><td>9.&nbsp;C</td><td><a href="index.php?page=felveteli&f=enek">ének-zene speciális tantervű csoport (angol)</a></td><td>0003</td></tr>
+<tr><td>9.&nbsp;C</td><td><a href="index.php?page=felveteli&f=biologia">biológia egyedi tantervű csoport (angol)</a></td><td>0004</td></tr>
+<tr><td>9.&nbsp;D</td><td><a href="index.php?page=felveteli&f=matematika">matematika tehetséggondozó csoport (angol)</a></td><td>0005</td></tr>
+<tr><td>9.&nbsp;D</td><td><a href="index.php?page=felveteli&f=informatika">informatika egyedi tantervű csoport (angol)</a></td><td>0006</td></tr>
+<tr><td>9/Ny.&nbsp;E</td><td><a href="index.php?page=felveteli&f=otevfolyamos">általános tantervű (nyelvi előkészítős, 1+4 évfolyamos) csoport (német)</a></td><td>0007</td></tr>
+<tr><td>9/Ny.&nbsp;E</td><td><a href="index.php?page=felveteli&f=otevfolyamos">általános tantervű (nyelvi előkészítős, 1+4 évfolyamos) csoport (spanyol)</a></td><td>0008</td></tr>
+</table>
+</dd>
+
+</dl>
+</div> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2018.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2018.html
new file mode 100644
index 00000000..9cd841db
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.2018.html
@@ -0,0 +1,114 @@
+<div class="felveteli">
+<h1>Középiskolai felvételi</h1>
+<h2>2018/2019-es tanév</h2>
+
+<div style="margin-top: 6px; text-align:center;">
+ <a style="font-weight: bold; font-size: 16px; color: #837389;" href="vmg/felveteli/FT2018k.pdf">
+ Felvételi Tájékoztató 2018/2019 [PDF]
+ </a>
+</div>
+
+<h3>Gyakran Ismételt Kérdések</h3>
+<p>
+<ul>
+<li><a class="gyik" href="index.php?page=felveteli&f=felveteli-gyik">Gy.I.K.</a></li>
+<li><a href="index.php?page=felveteli&f=pontszamito">Pontszámító Kalkulátor</a></li>
+</ul>
+</p>
+
+<h3>Letölthető dokumentumok</h3>
+<ul>
+<li>
+<a href="/vmg/felveteli/FT2018k.pdf">A Városmajori Gimnázium Felvételi Tájékoztatója 2018/2019</a> (.pdf)
+</li><li style="">
+<a href="http://www.oktatas.hu/pub_bin/dload/kozoktatas/beiskolazas/2018/kozepfoku_beiskolazas_idopontok_20160704.pdf">
+Oktatási Hivatal Tájékoztatója a középfokú beiskolázási határidőkről, időpontokról
+</a> (.pdf)</li>
+<li>
+<a href="http://www.oktatas.hu/pub_bin/dload/kozoktatas/beiskolazas/2018/felveteli_jogszabalyok_2016_2017_tanev.pdf">Az Oktatási Hivatal tájékoztatója a felvételi eljárás jogszabályi hátteréről</a> (.pdf)
+</ul>
+
+<h3>Fontos dátumok</h3>
+
+<dl>
+<dt >2017. október 5.</dt>
+<dd >
+A felvételi tájékoztató megjelenése.
+</dd>
+
+ <dt >2017. november 13. 18:00 </dt>
+ <dd >Tájékoztató értekezletet a felvételi eljárás rendjéről, induló osztályokról</dd>
+
+ <dt >2017. november 15-17.</dt>
+ <dd>Iskola bemutatkozás (előzetes jelentkezéssel!)</dd>
+
+ <dt >2017. december 8. 14:00 <code class="hatarido icon-time"></code></dt>
+ <dd >Jelentkezési határidő az egységes követelmények szerint tartott
+ a felvételi eljárást megelőző írásbeli felvételi vizsgára.
+ </dd>
+
+ <dt >2018. január 20. 10<sup>00</sup> <code class="icon-child"></code></dt>
+ <dd >Írásbeli felvételi vizsgák az érintett 6 évfolyamos gimnáziumokban. (2x45 perc) </dd>
+
+ <dt >2018. január 20. 10<sup>00</sup> <code class="icon-child"></code></dt>
+ <dd >Írásbeli felvételi a nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+ <dt >2018. január 29.* 8:00-16:00 <code class="negy icon-camera"> 4-5</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése négyévfolyamos és a nyelvi előkészítős képzésre jelentkezőknek</dd>
+
+ <dt >2018. január 30.* 8:00-16:00 <code class="hat icon-camera"> 6</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése hatévfolyamos képzésre jelentkezőknek</dd>
+
+ <dt>2018. február 19. <code class="hatarido icon-time"></code></dt>
+ <dd>Tanulói Jelentkezési Lapok és Tanulói Adatlapok leadási határideje </dd>
+
+ <dt>2018. február 22. - 2017. március 13. <code class="icon-child"></code></dt>
+ <dd>Szóbeli beszélgetések a kiírás szerint.</dd>
+
+ <dt>2018. március 14.</dt>
+ <dd>Ideiglenes felvételi jegyzék közzététele.</dd>
+
+</dl>
+
+<p>(*) 2018. január 21-én javítva.</p>
+
+<h3 id="kiemelt">Kiemelt adatok</h3>
+
+<dl>
+<dt>Az iskola rövid neve és címe:</dt>
+<dd>Városmajori Gimnázium és Kós Károly Általános Iskola<br/>
+ 1122. Budapest, Városmajor u. 71.<br/>
+ Tel: 214-1554; Fax: 214-1479<br/>
+ Telephely kódja: 001<br/>
+</dd>
+<dt>A gimnázium központi azonosító kódja:</dt>
+<dd style="font-family: monospace; font-size:20px">035242</dd>
+
+
+<dt>A 2018/2019-es tanévben indítandó tanulócsoportok azonosító számai:</dt>
+<dd>
+<style type="text/css">
+ a {}
+ table.tagozatok td { height: 2em; }
+ table.tagozatok a:before { content: "☞ "; font-size: 1.4em; }
+ table.tagozatok a:hover { text-decoration: underline; }
+ table.tagozatok tr:hover td { color:cornflowerblue; }
+</style>
+
+<table class="tagozatok">
+<tr><th>Az osztály jele</th><th>megnevezése</th><th>kódja</th></tr>
+<tr><td>7.&nbsp;A</td><td><a href="index.php?page=felveteli&f=hatevfolyamos">általános egyedi tantervű osztály (angol)</a></td><td>0001</td></tr>
+<tr><td>7.&nbsp;B</td><td><a href="index.php?page=felveteli&f=hatevfolyamos">általános egyedi tantervű osztály (német)</a></td><td>0002</td></tr>
+<tr><td>9.&nbsp;C</td><td><a href="index.php?page=felveteli&f=enek">ének-zene speciális tantervű csoport (angol)</a></td><td>0003</td></tr>
+<tr><td>9.&nbsp;C</td><td><a href="index.php?page=felveteli&f=human">humán egyedi tantervű magyar csoport (angol)</a></td><td>0004</td></tr>
+<tr><td>9.&nbsp;C</td><td><a href="index.php?page=felveteli&f=human">humán egyedi tantervű történelem csoport (angol)</a></td><td>0005</td></tr>
+<tr><td>9.&nbsp;D</td><td><a href="index.php?page=felveteli&f=matematika">matematika tehetséggondozó csoport (angol)</a></td><td>0006</td></tr>
+<tr><td>9.&nbsp;D</td><td><a href="index.php?page=felveteli&f=fizika">fizika egyedi tantervű csoport (angol)</a></td><td>0007</td></tr>
+<tr><td>9/Ny.&nbsp;E</td><td><a href="index.php?page=felveteli&f=otevfolyamos">általános tantervű (nyelvi előkészítős, 1+4 évfolyamos) csoport (német)</a></td><td>0008</td></tr>
+<tr><td>9/Ny.&nbsp;E</td><td><a href="index.php?page=felveteli&f=otevfolyamos">általános tantervű (nyelvi előkészítős, 1+4 évfolyamos) csoport (spanyol)</a></td><td>0009</td></tr>
+</table>
+</dd>
+
+</dl>
+</div> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.html
new file mode 100644
index 00000000..782ebc00
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/felveteli.html
@@ -0,0 +1,106 @@
+<div class="felveteli">
+<h1>Középiskolai felvételi</h1>
+<h2>2019/2020-es tanév</h2>
+
+<div style="margin-top: 6px; text-align:center;">
+ <a style="font-weight: bold; font-size: 16px; color: #837389;" href="https://goo.gl/gxV6VF">
+ Felvételi Tájékoztató 2019/2020 [PDF]
+ </a>
+</div>
+
+<h3>Gyakran Ismételt Kérdések</h3>
+<p>
+<ul>
+<li><a class="gyik" href="index.php?page=felveteli&f=felveteli-gyik">Gy.I.K.</a></li>
+<li><a href="index.php?page=felveteli&f=pontszamito">Pontszámító Kalkulátor</a></li>
+</ul>
+</p>
+
+<h3>Letölthető dokumentumok</h3>
+<ul>
+<li>
+<a href="https://goo.gl/gxV6VF">A Városmajori Gimnázium Felvételi Tájékoztatója 2019/2020</a> (.pdf)
+</li><li style="">
+<a href="https://www.oktatas.hu/kozneveles/kozepfoku_felveteli_eljaras/2018_2019beiskolazas">
+Oktatási Hivatal Tájékoztatója a középfokú beiskolázási határidőkről, időpontokról
+</a> (oktatas.hu)</li>
+</ul>
+
+<h3>Fontos dátumok</h3>
+
+<dl>
+<dt >2018. október 4.</dt>
+<dd >
+A felvételi tájékoztató megjelenése.
+</dd>
+
+ <dt >2018. november 12. 18:00 </dt>
+ <dd >Tájékoztató értekezletet a felvételi eljárás rendjéről, induló osztályokról</dd>
+
+ <dt >2018. november 13-15.</dt>
+ <dd>Iskola bemutatkozás (előzetes jelentkezéssel!)</dd>
+
+ <dt >2018. december 7.<code class="hatarido icon-time"></code></dt>
+ <dd >Jelentkezési határidő az egységes követelmények szerint tartott
+ a felvételi eljárást megelőző írásbeli felvételi vizsgára.
+ </dd>
+
+ <dt >2019. január 19. 10<sup>00</sup> <code class="icon-child"></code></dt>
+ <dd >Írásbeli felvételi vizsgák az érintett 6 évfolyamos gimnáziumokban. (2x45 perc) </dd>
+
+ <dt >2019. január 19. 10<sup>00</sup> <code class="icon-child"></code></dt>
+ <dd >Írásbeli felvételi a nyolcadik évfolyamok számára a felvételi eljárást
+ megelőző írásbeli vizsgát szervező középiskolákban. (2x45 perc)</dd>
+
+ <dt >2019. január 25. 8:00-16:00 <code class="hat icon-camera"> 6</code> <code class="negy icon-camera"> 4-5</code></dt>
+ <dd >A felvételi eljárást megelőző központi írásbeli dolgozatok megtekintése négyévfolyamos, hatévfolyamos és a nyelvi előkészítős képzésre jelentkezőknek</dd>
+
+ <dt>2019. február 18. <code class="hatarido icon-time"></code></dt>
+ <dd>Tanulói Jelentkezési Lapok és Tanulói Adatlapok leadási határideje </dd>
+
+ <dt>2019. február 21. - 2019. március 14. <code class="icon-child"></code></dt>
+ <dd>Szóbeli beszélgetések a kiírás szerint.</dd>
+
+ <dt>2019. március 18.</dt>
+ <dd>Ideiglenes felvételi jegyzék közzététele.</dd>
+
+</dl>
+
+<h3 id="kiemelt">Kiemelt adatok</h3>
+
+<dl>
+<dt>Az iskola rövid neve és címe:</dt>
+<dd>Városmajori Gimnázium és Kós Károly Általános Iskola<br/>
+ 1122. Budapest, Városmajor u. 71.<br/>
+ Tel: 214-1554; Fax: 214-1479<br/>
+ Telephely kódja: 001<br/>
+</dd>
+<dt>A gimnázium központi azonosító kódja:</dt>
+<dd style="font-family: monospace; font-size:20px">035242</dd>
+
+
+<dt>A 2019/2020-es tanévben indítandó tanulócsoportok azonosító számai:</dt>
+<dd>
+<style type="text/css">
+ a {}
+ table.tagozatok td { height: 2em; }
+ table.tagozatok a:before { content: "☞ "; font-size: 1.4em; }
+ table.tagozatok a:hover { text-decoration: underline; }
+ table.tagozatok tr:hover td { color:cornflowerblue; }
+</style>
+
+<table class="tagozatok">
+<tr><th>Az osztály jele</th><th>megnevezése</th><th>kódja</th></tr>
+<tr><td>7.&nbsp;A</td><td><a href="index.php?page=felveteli&f=hatevfolyamos">általános egyedi tantervű osztály (angol)</a></td><td>0001</td></tr>
+<tr><td>7.&nbsp;B</td><td><a href="index.php?page=felveteli&f=hatevfolyamos">általános egyedi tantervű osztály (német)</a></td><td>0002</td></tr>
+<tr><td>9.&nbsp;C</td><td><a href="index.php?page=felveteli&f=enek">ének-zene speciális tantervű csoport (angol)</a></td><td>0003</td></tr>
+<tr><td>9.&nbsp;C</td><td><a href="index.php?page=felveteli&f=biologia">biológia egyedi tantervű magyar csoport (angol)</a></td><td>0004</td></tr>
+<tr><td>9.&nbsp;D</td><td><a href="index.php?page=felveteli&f=matematika">matematika tehetséggondozó csoport (angol)</a></td><td>0005</td></tr>
+<tr><td>9.&nbsp;D</td><td><a href="index.php?page=felveteli&f=informatika">informatika egyedi tantervű csoport (angol)</a></td><td>0006</td></tr>
+<tr><td>9/Ny.&nbsp;E</td><td><a href="index.php?page=felveteli&f=otevfolyamos">általános tantervű (nyelvi előkészítős, 1+4 évfolyamos) csoport (német)</a></td><td>0007</td></tr>
+<tr><td>9/Ny.&nbsp;E</td><td><a href="index.php?page=felveteli&f=otevfolyamos">általános tantervű (nyelvi előkészítős, 1+4 évfolyamos) csoport (spanyol)</a></td><td>0008</td></tr>
+</table>
+</dd>
+
+</dl>
+</div>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/fizika.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/fizika.html
new file mode 100644
index 00000000..3211a9d5
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/fizika.html
@@ -0,0 +1,71 @@
+<h1 style="margin-top: 20px;">Fizika képzés</h1>
+<style type="text/css">
+ .tagozatok a:before { content: "☞ "; font-size: 1.4em; }
+</style>
+
+<div class="kepzesInfo">
+<p>
+A Városmajori Gimnázium 2012-ben indította az első emelt óraszámú és szintű, tehetséggondozó fizika képzését. Azóta minden második évben a D osztály felét kitevő csoportot indítunk. Az oktatás a 3.3.4. emelt fizika 9-12. kerettanterv alapján történik.
+</p>
+
+<p>
+A képzést elsősorban azoknak ajánljuk, akiknek valószínűleg majdani hivatásuk során fontos a fizika szemléletmódjának ismerete, pl.: mérnökök, kutatók, orvosok esetleg fizika tanárok lesznek.
+</p>
+<p>
+<img src="http://www.iflscience.com/sites/www.iflscience.com/files/blog/%5Bnid%5D/atom-68866_640.jpg" style="height:100px; padding:10px; float:right" alt="atom" />
+A mindenkori óraszámot heti két órával emeljük meg, ezt tananyag-bővítésre, tanulói mérésekre, feladatmegoldásra, versenyekre való készülésre, projektmunkákra, csoportos munkákra fordítjuk. Célunk, hogy az iskolában fizikából is jelenjenek meg kutató diákok, fontosnak tartjuk a versenyeken, pályázatokon, külső programokon (ELTE, KFKI, Csodák palotája, előadások, rendezvények, múzeumok, stb.) való részvételt. A fizika tagozatosok a „motorjai” és fő „célpontjai” az iskolánkban zajló fizika projekteknek, pályázatoknak, rendezvényeknek. A tantárgy tanulása során a diákjaink megismerkednek a természet tervszerű megfigyelésével, a kísérletezéssel, a megfigyelési és a kísérleti eredmények számszerű megjelenítésével, grafikus ábrázolásával, a kvalitatív összefüggések matematikai alakú megfogalmazásával. Célunk a korszerű természettudományos világkép alapjainak és a mindennapi élet szempontjából fontos gyakorlati fizikai ismeretek kellő mértékű elsajátítása. A tanuló érezze, hogy a fizikában tanultak segítséget adnak számára, hogy biztonságosabban közlekedjen, hogy majd energiatudatosan éljen, hogy a természeti jelenségeket megfelelően értse és tudja magyarázni, az áltudományos reklámok ígéreteit helyesen tudja kezelni stb.
+</p>
+<p>
+Természetesen a képzés felkészít az emelt és középszintű érettségire is, és reményeink szerint a felsőfokú tanulmányok sikeres folytatására is.
+</p>
+
+
+<h2>A szóbeli meghallgatás</h2>
+
+<p>A fizika szóbeli felvételin elsősorban azt szeretnénk látni, hogy milyen fokú a jelentkező diákok gondolkodásmódja, szövegértése, problémamegoldó képessége, kíváncsisága a természeti jelenségek iránt, hogyan kapcsolja össze a valóságot a fizikai modellel. A szükséges tantárgy ismeretek nem mutatnak túl egy általános iskola (heti 1,5-1,5) órás képzésén nyolcadik osztály első félévig tanult tananyagon.</p>
+
+<p>
+Az összefüggések és jelenségek az alábbi öt témából kerülnek ki:
+<ol style="margin-left:30px;"><li>Mozgások</li>
+<li>Dinamika, energia, munka</li>
+<li>Hidrosztatika</li>
+<li>Hőtan, halmazállapotok</li>
+<li>Elektromosságtan</li></ol>
+</p>
+
+<div class="minta" style="margin: 50px; background: #eeeeee; padding: 10px 20px 20px 20px;">
+<h3>Minta szóbeli</h3>
+
+<p>
+<ol>
+<li> Három különböző ellenállást sorosan kötöttünk. Fejezd be a mondatot!
+ Ha újabb ellenállást kötünk velük sorosan, akkor az eredő ellenállás
+<ul><li>a) nagyobb lesz.</li>
+<li>b) kisebb lesz.</li>
+<li>c) nem változik.</li>
+<li>d) attól függ, hogy mekkora ellenállást kapcsolunk be.</li>
+</ul>
+</li><li>Melyik megfigyelésnek nincs köze a fémek jó hővezető tulajdonságához?
+<ul>
+<li>a) Téli hidegben, ha leülünk egy fémpadra, könnyen felfázunk, míg a buszmegállók rácsos fémszékein nem fenyeget ez a veszély.</li>
+<li>b) A forró teában hagyott fém merőkanál nyelét később nem tudjuk megfogni szabad kézzel.</li>
+<li>c) A főzőedények többsége fémből készül.</li>
+<li>d) Az evőeszközök többsége fémből készül.</li>
+</ul>
+</li><li>Sorolj fel olyan helyzeteket, amikor fontos a közegellenállási erő növelése!
+</li>
+</ol>
+</p>
+</div>
+
+</div>
+
+<h3>További képzéseink</h3>
+<ul class="tagozatok">
+<li><a href="index.php?page=felveteli&f=enek">ének-zene speciális tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=biologia">biológia egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=informatika">informatika egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=human">humán egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=fizika">fizika egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=matematika">matematika tehetséggondozó csoport</a></li>
+</ul> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/hatevfolyamos.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/hatevfolyamos.html
new file mode 100644
index 00000000..3dee91b9
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/hatevfolyamos.html
@@ -0,0 +1,365 @@
+
+<h1 style="margin-top: 20px;">Hatévfolyamos csoportok</h1>
+
+<h2>szóbeli meghallgatás</h2>
+
+<h3>Általános információk</h3>
+
+<p>A hatévfolyamos szóbelire jelentkezők négy tantárgy közül választhatnak (egyet), melyet
+a Felvételi Jelentkezési Lap Megjegyzés rovatában kell feltüntetni.
+A témakörök a minisztériumi kerettantervek (ötödik és hatodik év első félévének) tananyagát ölelik fel.
+A választható tárgyak: <a href="#magyar">magyar</a>, <a href="#matek">matematika</a>, <a href="#term">természetismeret</a> vagy <a href="#tori">történelem</a>.
+</p>
+
+<p>
+A szóbeli felvételi beszélgetésre kérjük, hogy a jelentkezők hozzák magukkal:
+<ul>
+<li>2 db füzetüket, melyek közül az egyik a választott tantárgyé, a másik a tanuló által választott tetszőleges,</li>
+<li>(diák)igazolványt,</li>
+<li>ellenőrzőt, illetve</li>
+<li>bármilyen (arra érdemesnek ítélt) oklevelet, érmet, dícséretet stb.</li>
+</ul>
+</p>
+
+<p>A szóbeli felvételi beszélgetésen a tantárgyi kérdések mellett nagy hangsúlyt kap a jelentkező megjelenése, kommunikációja, nyitottsága, viselkedése, motiváltsága, egyéb iskolai és iskolán kívüli tevékenysége is.</p>
+
+<div class="hideShowContainer">
+<h3 id="matek" class="onClickHideShow">Matematika</h3>
+<p>A szóbeli felvételihez szükséges ismeretek az általános iskolai tananyag időarányos része. (A hatodik osztály félévig megtanított tananyag).
+Alapvetően a számolási készséget és a szövegértést mérjük. A tárgyi ismeretek mellett azonban fontos szerepet kap a gondolkodási képesség, az, hogy a tanuló hogyan fogadja a segítő kérdéseket, mennyire engedi magát „vezetni”.
+</p>
+<p>Kiemelten: <button class="onClickHideShow">részletekkel</button></p>
+<ul class="hatev">
+<li>Oszthatóság <span class="openable">(osztó, többszörös, oszthatósági szabályok, prímszám, összetett szám,
+ prímtényezős felbontás, legnagyobb közös osztó, legkisebb közös többszörös)</span></li>
+<li>Műveletek törtekkel és tizedes törtekkel; százalékszámítás <span class="openable">(törtek összeadása, kivonása, szorzása és osztása egész számmal; a 4 alapművelet elvégzése a tizedes törtek körében; műveleti sorrend, törtrész kiszámítása; százalékérték, alap, százalékláb kiszámítása; ellentett, abszolútérték)</span></li>
+<li>Arányosság <span class="openable">(egyenes és fordított arányosság, arány jelentése, arányos osztás)</span></li>
+<li>Szöveges feladatok megoldása <span class="openable">(következtetés visszafelé, ábrakészítés, mérlegelv, a szöveges feladatok megoldásának lépései)</span></li>
+<li>Síkidomok, szögek; tengelyes szimmetria <span class="openable">(háromszögek, négyszögek, sokszögek, kör, szögek fajtái, kerület és terület, tengelyesen szimmetrikus síkidomok)</span></li>
+<li>Testek <span class="openable">(kocka és téglatest, háló, felszín, térfogat)</span></li>
+</ul>
+<div class="minta" style="margin: 50px; background: #eeeeee; padding: 10px 20px 20px 20px;">
+<h3>Minta szóbeli feladat</h3>
+<ol>
+<li> Melyik nagyobb? <table style="display: inline"><tr><td style="border-bottom: solid 1px black">6</td></tr><tr><td>7</td></tr></table> (hatheted) és
+<table style="display: inline"><tr><td style="border-bottom: solid 1px black">4</td></tr><td>5</td></tr></table> (négyötöd) különbségének az ötszöröse, vagy
+<table style="display: inline"><tr><td style="border-bottom: solid 1px black">1</td></tr><td>5</td></tr></table> (egyötöd) és
+<table style="display: inline"><tr><td style="border-bottom: solid 1px black">1</td></tr><td>7</td></tr></table> (egyheted) összegének a negyedrésze?</li>
+<li> Van-e olyan egész szám, melyből kivonva az ellentettjét, majd az eredményt megfelezve, az eredeti számot kapjuk? Ha van, hány ilyen van?</li>
+<li> Andris kapott ajándékba egy zacskó cukrot. Miután egyet megevett, a maradék felét húgának adta. Ezután ismét megevett egy cukorkát, és a maradék felét a bátyjának adta.
+Így Andrisnak 5 szem cukra maradt. Hány cukor volt eredetileg a zacskóban?
+(Következtess visszafelé!)</li>
+</ol>
+</div>
+
+</div>
+
+
+
+
+<h3 id="tori">Történelem</h3>
+
+<p>Témakörök a hatévfolyamos szóbeli felvételire történelemből az általános iskola 5.-6. évfolyamára vonatkozó kerettanterv alapján</p>
+<ul class="hatev">
+<li>Az őskor és az ókori Kelet kultúrája</li>
+<li>Az ókori Hellász világa</li>
+<li>A Római birodalom</li>
+<li>A középkori Európa világa</li>
+<li>A magyarság történetének kezdetei, az Árpádok kora</li>
+<li>A Magyar Királyság virágkora (1526-ig)</li>
+</ul>
+
+<div class="hideShowContainer">
+<h3 id="magyar">Magyar nyelv és irodalom</h3>
+<p>A magyar nyelv és irodalom témakörök összeállításakor a Nemzeti Alaptantervre (NAT) épülő kerettanterv az általános iskola 5. és 6. osztályára vonatkozó kimeneti tananyagát vettük alapul. Szóbeli vizsgánkon az elméleti tudást mindig szövegeken, vagyis a szövegértési folyamat részeként vizsgáljuk. Az alábbi témakörök mindegyike apróbb feladatokra (tételekre) bomlik, ami azt jelenti, hogy a felvételiző kisdiák NEM a teljes témakörből, hanem annak egy szeletéből ad számot szövegértési kompetenciájáról, tudásáról, olvasottságáról, kreatív gondolkodásáról. Egy-egy tételben nyelvtani és irodalmi feladatok egyaránt helyet kapnak.</p>
+<p>Magyar nyelvi témakörök: <button class="onClickHideShow">részletekkel</button></p>
+<ul class="hatev">
+<li>Kommunikáció <span class="openable">→ a kommunikáció fogalma, tényezői, a nem nyelvi kommunikációs csatornák, a kommunikációs kapcsolat (köszönés, megszólítás, bemutatkozás)</span></li>
+<li>Hangok és betűk <span class="openable">→ betűrend, elválasztás</span></li>
+<li>Hangtan <span class="openable">→ a beszédhangok csoportosítása (magán- és mássalhangzók), hangtörvények (hangrend, illeszkedés, hiátus, részleges- és teljes hasonulások, összeolvadás, rövidülés, kiesés)</span></li>
+<li>Alaktan <span class="openable">→ egyszerű és összetett szavak, a toldalékok rendszere (képző, jel, rag); szerkezeti elemzés</span></li>
+<li>Helyesírási alapelvek <span class="openable">→ kiejtés elve, szóelemzés elve, hagyomány elve, egyszerűsítés elve</span></li>
+<li>Hangalak és jelentés kapcsolata <span class="openable">→ egy- és többjelentésű szavak, azonos- és hasonló alakú szavak, rokon értelmű szavak, ellentétes jelentésű szavak</span></li>
+<li>Szófajtan <span class="openable">→ a szófaji rendszer felépítése, igeidők, igemódok, határozott és általános ragozás, a köznév és a tulajdonnév fajtái, igenevek, határozószók; névmások kétféle csoportosítása, viszonyszók felismerése</span></li>
+</ul>
+
+</div>
+
+<div class="hideShowContainer">
+
+<p>Irodalom témakörök: <button class="onClickHideShow">részletekkel</button></p>
+<ul class="hatev">
+
+<li>
+ Tevékenységek; népköltészet – műköltészet
+ <ul class="hatev openable">
+ <li>Az epikus művek jellemzői, szerkezete (expozíció, bonyodalom, a cselekmény kibontása, tetőpont, megoldás) </li>
+ <li>Epikus műfajok felismerése: mese, mítosz, monda, elbeszélő költemény, regény, verses mese</li>
+ <li>Kapcsolódó művek: bármi, ami műfajában, tematikájában idetartozik</li>
+ </ul>
+</li>
+
+
+<li>
+Mesefajták(állatmese, valós mese, tündérmese, tréfás mese, állatmese, csali mese), mesei szerepkörök, valós és mesei elemek keveredése, a mese műfaji jellemzőinek ismerete
+<p class="openable">
+Művek: Az okos lány; A bolond falu; Tündérszép Ilona és Árgyélus; Gyűszű, Fésű, Hadd-el; Andersen: A teáskanna; Boldizsár Ildikó: A Nap és a Hold találkozása; Heltai Gáspár: A hollóról és a rókáról; La Fontaine: A holló meg a róka; Romhányi József: A róka és a holló
+</p>
+</li>
+
+<li>
+A mítosz és a monda műfaji jellemzői, típusai (eredetmonda, hiedelemmonda, történeti mondák)
+<p class="openable">Művek: Párisz ítélete; Daidalosz és Ikarosz; Prométheusz; A küklópsz barlangjában; A világ teremtése; Az özönvíz története; Dávid és Góliát; A csodaszarvas; A fehér ló mondája
+Mátyás király meg Markóp; Arany: Rege a csodaszarvasról</p>
+</li>
+
+<li>
+A ballada műfaji sajátosságai
+<p class="openable">Művek: Kőmíves Kelemenné; Vörösmarty: Buvár Kund; Arany: A walesi bárdok</p>
+</li>
+
+<li>
+A regény műfaji jellemzői, az ifjúsági és a történelmi regény
+<p class="openable">Művek pl. :J.K. Rowling: Harry Potter és a bölcsek köve; Molnár Ferenc: A Pál utcai fiúk; Gárdonyi Géza: Egri csillagok; Janikovszky Éva: Kire ütött ez a gyerek; Nógrádi Gábor: PetePite</p>
+</li>
+
+<li>
+A lírai művek jellemzői: költői nyelv, érzékletesség, hangulati-érzelmi-gondolati telítettség, a képi kifejezésmód eszközei (megszemélyesítés, hasonlat, metafora), nyelvi alakzatok (ellentét, párhuzam, megszólítás, kérdés, fokozás, ismétlés, halmozás, túlzás), zeneiség, rímfajták (páros rím, keresztrím, bokorrím), rímképletek; Az ütemhangsúlyos és az időmértékes verselés, ütem, felező 12-es
+
+<p class="openable">Művek: pl. Varró Dániel: SMS-versek; Tóth Krisztina: Lusták dala; Petőfi Sándor: Az alföld, Pató Pál úr; Arany János: Családi kör; Szabó Lőrinc: Ima a gyermekekért; Áprily Lajos: Erdei út - vagy egyéb szerzők versei ( Kányádi Sándor, Lackfi János, Szabó T. Anna, Weöres Sándor, Kiss Ottó)
+Petőfi Sándor: János vitéz
+Arany János: Toldi
+Fazekas Mihály: Lúdas Matyi
+</p>
+
+</li>
+
+</ul>
+
+</div>
+<div class="hideShowContainer">
+
+<h3 id="term">Természetismeret</h3>
+
+<p>A hatévfolyamos szóbeli felvételi témakörei természetismeretből</p>
+<ul class="hatev">
+<li>Élet a kertben</li>
+<li>Anyagok és változások a környezetünkben</li>
+<li>Tájékozódás a térképen és a természetben</li>
+<li>Az időjárás és az éghajlat</li>
+<li>A felszíni és a felszín alatti vizek</li>
+<li>Állatok a házban és a ház körül</li>
+<li>Az erdő életközössége</li>
+<li>Kölcsönhatások. Az energia</li>
+<li>A Föld bolygó </li>
+<li>A természet erői</li>
+<li>Hazai tájakon </li>
+<li>A füves területek életközössége. Termesztett növényeink </li>
+</ul>
+
+<p>
+A tételek összeállításánál az alábbi tankönyvek vonatkozó fejezetei az irányadók: <button type="button" class="onClickHideShow">mutasd</button>
+</p>
+<ul class="hatev openable"><li>Csákány Antalné, Hartdégenné Rieder Éva, Rugli Ilona: Természetismeret 5. NT-11543/T</li>
+<li>Horváth Miklós, Molnár László, Szentirmainé Brecsok Mária:Természetismeret 5. AP-051007</li>
+<li>Kropog Erzsébet, Láng György, Molnár Katalin, Mándics Dezső, Ütőné Visi Judit: Természetismeret 5. FI-505020501/1</li>
+<li>Molnár Katalin, Kropog Erzsébet, Láng György, Mándics Dezső, Ütőné Visi Judit: Természetismeret 6. FI-505020601</li>
+<li>Horváth Miklós, Molnár László, Szentirmainé Brecsok Mária: Természetismeret 6. AP-061009</li>
+<li>Csákány Antalné, Dombovári László, Hartdégenné Rieder Éva: Természetismeret 6. NT-11643/M</li>
+</ul>
+
+</div>
+<!--
+<h3>Elvárt ismeretek, tájékozottság mértékének felmérésekor figyelembe vett szempontok</h3>
+
+
+<ol>
+<li>Általános elvárások
+ <ul class="hatev">
+ <li>Beszédkészség, szóbeli szövegek megértése és alkotása
+ <li>Olvasás, az írott szöveg megértése. Olvasás, szövegértés</li>
+ <li>Olvasottság, kulturális tájékozottság</li>
+ <li>Kötelező olvasmányok ismerete (Petőfi Sándor: János vitéz; Arany János : Toldi; Molnár Ferenc: A Pál utcai fiúk, Gárdonyi Géza: Egri csillagok)</li>
+ <li>Tájékozottság a lakóhely, az iskola környezetének néhány kulturális sajátosságáról.</li>
+ </ul>
+</li>
+<li>Leíró nyelvtan
+ <ul class="hatev">
+ <li>A hangok, képzésük, kiejtésük, kapcsolódásuk. </li>
+ <li>A tanult szófajok felismerése és megnevezése szójelentés alapján toldalékos formában, mondatban és szövegben,
+ megfelelő használatuk írott és beszélt szövegben.</li>
+ <li>A szavak szerkezeti elemzése egyszerűbb esetekben: szótő, toldalékok, összetett szavak tagjai.</li>
+ <li>Az azonos alakú, többjelentésű és a rokon értelmű szavak megfelelő alkalmazása a beszélt és írott
+ szövegalkotásban; közmondások, szólások jelentésének értelmezése, eredeti funkciójuk ismerete.</li>
+ </ul>
+</li>
+<li>Irodalom
+ <ul class="hatev">
+ <li>Népmesék, műmesék. Verses és prózai formájú mesék. A mese műfaji változatai.</li>
+ <li>Mesehősök, meseformulák.</li>
+ <li>Mondák, legendák. Mitológiai történetek. </li>
+ <li>Verses kisepikai alkotások; a népköltészet és műköltészet megkülönböztetése. (ballada)</li>
+ <li>Epika, elbeszélő költemény; hasonlat, megszemélyesítés, metafora, ellentét, párhuzam; ütemhangsúlyos
+ verselés, verssor, ütem, felező 12-es sorfajta, páros rím.</li>
+ <li>Lírai alkotások jellemzői; költői nyelv, képek, alakzatok, zeneiség. Hangsúlyos verselés; rím</li>
+ </ul>
+</li>
+</ol>
+
+
+
+<h3>Minta szóbeli feladat</h3>
+
+<div class="minta" style="margin: 50px; background: #eeeeee; padding: 10px 20px 20px 20px;">
+<h4>I. Verses</h4>
+<p>
+Kiss Ottó: Használati útmutató
+<br/>
+<br/>Evés előtt moss kezet,
+<br/>este pedig használj tust,
+<br/>leázik majd a retek,
+<br/>nem okozol konfliktust.
+<br/>
+<br/>A késeket felejtsd el,
+<br/>ne lopóddzál lappangón,
+<br/>töröld meg a papucsod,
+<br/>ne lábnyomozz a padlón!
+<br/>
+<br/>Ülj szépen az asztalnál,
+<br/>ne kapcsolgasd a lámpát,
+<br/>nem vagyok én erőmű,
+<br/>fejezd már be a lármát!
+<br/>
+<br/>Ha csokid van, törd ketté,
+<br/>magyar vagy te, nem vagy skót
+<br/>- kínálj meg, és engedd el,
+<br/>ne rázd meg a villanydrót!
+</p>
+
+<p>
+Szövegértési kérdések:
+<ul class="hatev">
+<li>Milyen beszédhelyzet(ek)ben hangozhatnak el a versben lévő felszólítások?</li>
+<li>Vajon ki és miért mondja? Kinek?</li>
+<li>Szerinted miért gyűjtötte össze egy versben ezeket a szerző? Mit akarhat kifejezni vele?</li>
+</ul>
+</p>
+
+<p>
+Szókincsen alapuló feladatok:
+<ul class="hatev">
+<li>A vers melyik szavainak rokon értelmű kifejezési az alábbiak?
+ <ul class="hatev">
+ <li>koszt hord be</li>
+ <li>tisztálkodó szerda</li>
+ <li>lassan</li>
+ <li>kosz</li>
+ </ul>
+</li>
+<li>Mi a kétfajta jelentése a „nem vagy skót” kifejezésnek?</li>
+</ul>
+</p>
+
+<p>
+Nyelvtani ismeretekre vonatkozó feladatok:
+<ul class="hatev">
+<li>Gyűjtsd ki a szövegből a felszólító módú igéket!</li>
+<li>Melyek azok, amelyeknek a helyesírására ügyelni kell? Fogalmazd meg, hogy miért!</li>
+</ul>
+</p>
+
+<p>
+Nyelvi kreativitást mérő feladatok:
+
+<ul class="hatev">
+<li>A vers melyik szava szerepel „helytelenül”? Miért humoros ez nyelvileg?</li>
+<li>A retek szót a szövegben nem az alapjelentésében használja a szerző. </li>
+<li>Mondj még 2-3 olyan kettős jelentésű főnevet, mint a retek!</li>
+</ul>
+</p>
+
+
+<h4>II. Próza</h4>
+
+<p>
+<b>A csillogó tárgy</b>
+
+<p>
+A gyerekek futottak <b>át</b> a réten abba az irányba, amerre lezuhanni látták a kis csillogó tárgyat. A földbe csapódása
+előtti pillanatban tisztán kirajzolódott a körvonala a járó nap sugaraiban.
+</p>
+
+<p>Végre megérkeztek oda, ahol a tárgy feküdt. Közelről már nem is volt olyan kicsi, és csak nagy nehézség árán,
+minden erejüket összeszedve sikerült felemelniük és előbb egyik, majd másik oldalára fordítaniuk. Találtak rajta egy
+nyílást, amelyet sikerült is kitágítaniuk <b>egy</b> rögtönzött emelő segítségével. A becsapódás következtében minden
+összetört benne; a roncsok között néhány apró lényt fedeztek fel. Fejük kemény kagylónak tűnt, és bőrük színes,
+finom tapintású volt. Izgalmas lett volna kézbe <b>venni</b> őket, de úgy tűnt, hogy már mind elpusztult. De mégsem!
+Egyikük kellemetlen, sipító hangon felsírt. Amilyen óvatosan csak tudták, felemelték. Még élt, mozgott, és továbbra
+is furcsa hangokat hallatott. Elhatározták, hogy gondjaikba veszik, és megpróbálják megszelídíteni, beteszik egy kis
+ketrecbe a kert egyik csendes zugában, ahol jó helye lesz. <b>Jobb</b>, ha édesanyjuk nem tud róla, mert nem szereti az
+állatokat a ház körül.</p>
+
+<p>
+<b>Elhelyezték</b> a kis állatot a ketrecben. Felváltva hordták neki az ennivalót, de ő soha nem nyúlt az ételhez.
+Megpróbáltak néhány mozdulatot vagy szót tanítani neki, de a kis állat nem csinált mást, csak furcsa, monoton, egyre
+halkuló hangon ismételgetett valami olyasmit, hogy: „én, föld, én föld, föld, föld...". Valószínűleg így sírt.
+Négy nap múlva elpusztult. Kinyitották a ketrecét, és eltemették egy kőrakás alá, hogy édesanyjuk ne vegye észre.
+Majd nyolc, még gyermekien vékony lábukon szaladva és fejletlen farkukon ugrándozva visszatértek játékaikhoz.
+</p>
+
+</p>
+
+<p>
+Szövegértési feladatok:
+<ul class="hatev">
+<li>Hol és mikor játszódik a fenti történet? Kik a szereplők? </li>
+<li> Mi a probléma, amelyik megjelenik a történetben? Hogyan próbálják megoldani a szereplők? Mi a probléma megoldása?</li>
+</ul>
+</p>
+
+<p>
+Szókincsen alapuló feladat:
+
+<ul class="hatev">
+<li>A vers melyik szavainak rokon értelmű kifejezési az alábbiak?
+<ul class="hatev"><li> magas</li>
+<li>sarok, ficak</li>
+<li>egyhangú</li>
+</ul>
+</li>
+</ul>
+</p>
+
+<p>
+Nyelvtani ismeretekre vonatkozó feladat:
+Milyen szófajúak a szövegben kiemelt szavak?
+</p>
+
+<p>
+Kreativitást mérő feladat:
+Alkosd meg röviden azt a párbeszédet, ami az esti vacsoránál elhangozhatna a történetbeli gyerekek és édesanyjuk
+között!
+</p>
+
+
+</div>
+
+<!-- // -->
+
+<style type="text/css">
+ .tagozatok a:before { content: "☞ "; font-size: 1.4em; }
+
+ ul {margin-left:40px;}
+ ul.hatev li { padding-top:1em;}
+ p.openable, span.openable, ul.openable {display:none; color: cornflowerblue;}
+</style>
+<h3>További képzéseink</h3>
+<ul class="tagozatok">
+<li><a href="index.php?page=felveteli&f=hatevfolyamos">hatévfolyamos csoport</a></li>
+<li><a href="index.php?page=felveteli&f=otevfolyamos">ötévfolyamos csoport</a></li>
+<li><a href="index.php?page=felveteli&f=enek">ének-zene speciális tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=biologia">biológia egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=informatika">informatika egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=human">humán egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=fizika">fizika egyedi tantervű csoport</a></li>
+</ul>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/human.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/human.html
new file mode 100644
index 00000000..c04ba81a
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/human.html
@@ -0,0 +1,199 @@
+<h1 style="margin-top: 20px;">Humán képzések</h1>
+<style type="text/css">
+ .tagozatok a:before { content: "☞ "; font-size: 1.4em; }
+ h4 { padding-left:20px; }
+</style>
+<h3>Humán csoport</h3>
+<p>
+A tagozat legfontosabb célja a humán érdeklődésű diákok emelt szintű képzése magyar és
+történelem tantárgyakból. Kiemelt szempontnak tartjuk a gyerekek humán értelmiségivé
+nevelését, ami egyben az önálló gondolkodásra és kulturált vitára, kommunikációra való képesség
+fejlesztését is jelenti.
+</p>
+<p>
+A heti 4 (magyar nyelv és irodalom) és 2 (történelem) alapóra mellett a felvételikor választott
+irányultság alapján heti +2 órában bontott csoportban folyik a tanítás, melynek keretében
+lehetőség nyílik a művészetekről, irodalomról, történelemről való elmélyült beszélgetésre, vitára,
+egyénre szabott feladatokra, tehetséggondozásra, valamint a szaktárgyi versenyekre való
+felkészülésre. Tanórán kívüli tevékenységként múzeum- és színházlátogatásra, műhelymunkára is
+invitáljuk tanulóinkat.
+</p>
+<p>
+A humán képzésre évek óta sokszoros a túljelentkezés, ami arról győzött meg bennünket, hogy
+mai információs társadalmunkban is van helyük a sokoldalúan művelt, művészetkedvelő és a világ
+felé humanista nyitottsággal forduló embereknek.
+</p>
+
+
+<h4>Magyar nyelv és irodalom képzés</h4>
+<p>
+A képzést azoknak ajánljuk, akik magyar nyelv és irodalomból kívánnak emelt szintű érettségit tenni,
+s alapvetően humán területen (bölcsészettudomány, színház, jog, kommunikáció- és
+médiatudományok) szeretnének továbbtanulni, vagy csupán szeretnének irodalmi művekben jobban
+elmélyülni, mint amennyire az alapórák lehetőséget nyújtanak. A plusz két órában kiscsoportos
+formában, változatos módszerekkel (pl. dramatizálás, kreatív írás) van alkalom az irodalom
+határterületeinek és az általános képzésben nem érintett műveknek – így pl. a kortárs magyar- és
+világirodalom remekeinek – közelebbi megismerésére. Ugyanakkor magabiztosabban és nagyobb
+eséllyel indulhatnak diákjaink a tantárgyi versenyeken és pályázatokon is.
+</p>
+
+<h4>Humán magyar nyelv és irodalom szóbeli felvételi elvárások</h4>
+
+<ul><li>Irodalom:
+<ul>
+<li>műalkotások nyitott, kreatív befogadásának készsége</li>
+<li>vizuális művészetek, zene iránti érdeklődés</li>
+<li>szövegek értő olvasása</li>
+<li>választékos és tartalmas megnyilatkozás szóban és írásban</li>
+<li>önálló vélemény megfogalmazása</li>
+<li>a tanuló korának megfelelő tájékozottság magyar- és világirodalmi művekben</li>
+<li>a művészi nyelvhasználat kifejezőeszközeinek ismerete (pl. zenei kifejezőeszközök, költői képek, versformák, szerkezet stb.)</li>
+<li>műnemek, műfajok ismerete</li>
+<li>alap- és vándormotívumok, szövegek közti összefüggések felismerése (pl. évszakok a költészetben, az utazás mint vándormotívum)</li>
+<li>az irodalom határterületeivel (népszerű irodalom, film, színház) kapcsolatos élmények bemutatása</li>
+</ul>
+</li><li style="margin-top: 5px;">Anyanyelvi ismeretek:
+<ul>
+<li>leíró nyelvtani ismeretek (szófajok, szószerkezetek, az egyszerű mondat elemzése; szavak hangalakja és jelentése közötti viszonyok)</li>
+<li>ismeretek a szókészlettel kapcsolatban (rokon értelmű szavak; állandósult kapcsolatok; a szavak stílusértéke)</li>
+<li>stilisztikai és nyelvhelyességi igényesség szóban és írásban</li>
+<li>nyelvi és gondolkodásbeli kreativitás</li>
+</ul>
+</li></ul>
+
+
+<div class="minta" style="margin: 50px; background: #eeeeee; padding: 10px 20px 20px 0px;">
+<h3>Minta szóbeli tétel</h3>
+
+<p><strong>Feladatok:</strong></p>
+<ol>
+<li>Olvasd el a verseket!</li>
+<li>Ki a József Attila-vers beszélője? Mi a beszédhelyzet? Milyen érzéseket fogalmaz meg?</li>
+<li>Milyen költői eszközökkel él a vers szerzője?</li>
+<li>Milyen kapcsolatot fedezel fel a József Attila-vers és a másik kettő között?</li>
+<li>Mi a véleményed az ilyen és ehhez hasonló „újraköltésekről”?</li>
+<li>Meséld el egy színházi/regényolvasási élményedet!</li>
+</ol>
+
+<div style="background: #eeeeee; width: 300px; float: left; padding: 20px;">
+<h4>József Attila: Mama</h4>
+<p>
+Már egy hete csak a mamára<br />
+gondolok mindíg, meg-megállva.<br />
+Nyikorgó kosárral ölében,<br />
+ment a padlásra, ment serényen.
+</p><p>
+Én még őszinte ember voltam,<br />
+ordítottam, toporzékoltam.<br />
+Hagyja a dagadt ruhát másra.<br />
+Engem vigyen föl a padlásra.
+</p><p>
+Csak ment és teregetett némán,<br />
+nem szidott, nem is nézett énrám<br />
+s a ruhák fényesen, suhogva,<br />
+keringtek, szálltak a magosba.
+</p><p>
+Nem nyafognék, de most már késő,<br />
+most látom, milyen óriás ő -<br />
+szürke haja lebben az égen,<br />
+kékítőt old az ég vizében.
+</p>
+</div>
+
+<div style="background: #eeeeee; width: 300px; float: left; padding: 20px;">
+<h4>Lackfi János: Nyanya</h4>
+<p>
+Egy ideje csak a nyanyára<br />
+gondolok háza előtt járva.<br />
+Szél tépázza őt az erkélyen,<br />
+két pongyolát szárít szegényem.
+</p><p>
+Ruháját gyermek nem cibálja,<br />
+macskája is csak prüszköl rája.<br />
+Többet eszik nála a macska,<br />
+valaki bábunak itt hagyta.
+</p><p>
+Munkája sincs, hogy abba veszne,<br />
+ezért csak bámul egyre, messze.<br />
+Szemében felhők szekereznek,<br />
+az ég vizébe belevesznek.
+</p><p>
+Oda mennék, kicsit bosszantsam,<br />
+ne időzzön ott fenn hosszabban,<br />
+de a pongyolák szárnyra kapnak,<br />
+s repül velük, nem marad rabnak.
+</p>
+</div>
+
+<div style="padding: 20px;">
+<h4>Vörös István: Ma…</h4>
+<p>
+Már tíz perce csak a mamára<br />
+gondolok, lám, nem vagyok árva.<br />
+Nyikorgó bánattal a lelkében<br />
+megy a folyosón, megy szegényem.
+</p><p>
+Én már őszinte ember voltam,<br />
+nem a hazugság jön a sorban.<br />
+A mosógépből kitereget,<br />
+és nem mond rólam ítéletet.
+</p><p>
+Ahol most laknak, nincsen padlás,<br />
+és pince sincs, de persze van más.<br />
+Hagyja a vékony számlát másra,<br />
+engem képzeljen a szorzásba!
+</p><p>
+Nem nyafognék, és most se késő,<br />
+a lámpában kiég az égő,<br />
+a folyosó sötétbe borul.<br />
+Őtőle tanultam magyarul.
+</p>
+</div>
+
+</div>
+
+
+<h4>Történelem képzés</h4>
+<p>Ezt az emelt szintű képzési formát azoknak a tanulóknak javasoljuk,
+akik történelemből kívánnak továbbtanulni és ehhez kapcsolódóan emelt szintű
+érettségit kívánnak tenni. Természetesen a történelem iránt érdeklődő,
+a tantárgyat szerető diákokat is várjuk, akiknek még nem alakultak ki a
+továbbtanulási tervei. Az általános képzés óraszámát jelentősen meghaladó
+tantárgyi időkeret lehetőséget nyújt a tananyagban való sokrétűbb
+elmélyedésre, kiegészítő témakörök tanórai beemelésére, az ismeretanyag változatos
+módszerekkel való feldolgozására. Az emelt szintű képzés továbbá lehetőséget nyújt a
+tantárgyi tanulmányi versenyekre való hatékonyabb felkészülésre.</p>
+
+<h4>Szóbeli vizsga követelményei történelemből</h4>
+<p>A szóbeli meghallgatáson az egyetemes és a magyar történelem kulcskérdései kerülnek terítékre. Közismert és intézményünk honlapjára is felkerülő források alapján
+beszélgetünk el a jelentkező tanulókkal. A beszélgetés során az alapvető tárgyi felkészültség mellett hangsúlyt fektetünk a jelentkezők történelmi szövegértési
+képességeire és a szaknyelv korosztályának megfelelő használatára.</p>
+<p>A 2016. évi történelem felvételi beszélgetés témakörei:</p>
+<table style="margin-left: 50px">
+<tr><th style="text-align: left; padding-bottom: 5px;">Magyar történelem:</th><th style="text-align: left; padding-bottom: 5px;">Egyetemes történelem:</th></tr>
+<tr><td>Honfoglalás - Szent István kora</td><td>Ókori Kelet civilizációi</td></tr>
+<tr><td>IV. Béla és a tatárjárás</td><td>Antik görög-római mitológia és vallás</td></tr>
+<tr><td>Hunyadiak kora</td><td>Athéni demokrácia</td></tr>
+<tr><td>Három részre szakadt Magyarország</td><td>Feudális Európa kialakulása</td></tr>
+<tr><td>Rákóczi szabadságharc</td><td>Nagy földrajzi felfedezések kora</td></tr>
+<tr><td>Mária Terézia és II. József kora</td><td>Ipari forradalom</td></tr>
+<tr><td style="padding-right: 50px;">Reformkor és az 1848/49-es forradalom és szab.harc</td><td>Hatalmi vetélkedés és az I. világháború </td></tr>
+<tr><td>Dualizmus kora</td><td></td></tr>
+</table>
+<p>A felvételi beszélgetésen minden adott témakörhöz az általános iskolai követelményekhez igazodva történelmi forrásokat csatolunk.
+A jelentkezők történelmi szövegértési képességei mellett, az adott korszakban való jártasságát, tájékozottságát, alapvető tárgyi tudását igyekszünk felmérni.
+</p>
+
+<h3>További képzéseink</h3>
+<ul class="tagozatok">
+<li><a href="index.php?page=felveteli&f=enek">ének-zene speciális tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=biologia">biológia egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=informatika">informatika egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=human">humán egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=fizika">fizika egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=matematika">matematika tehetséggondozó csoport</a></li>
+</ul>
+
+<p>
+2015. október
+</p> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/informatika.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/informatika.html
new file mode 100644
index 00000000..08d1dcef
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/informatika.html
@@ -0,0 +1,193 @@
+
+<h1 style="margin-top: 20px;">Informatika</h1>
+<!--img style="float: left; margin-right: 10px;" src="skin/classic/module-felveteli/img/learn.jpg" alt="informatika" /-->
+<p>
+Az informatika "tagozat" régi hagyományokkal rendelkező, kétévente induló képzési formánk.
+Legközelebb a 2017/2018-as tanévben indul.
+</p><p>
+Azoknak a tanulóknak javasoljuk, akik
+</p>
+<ul>
+<li>nem elégednek meg az informatika készségszintű használatával;</li>
+<li>érdeklődnek az informatikai rendszerek, a számítógép hálózatok működése iránt;</li>
+<li>nem pusztán használni szeretnék az informatikai eszközöket, de kíváncsiak a "hogyan?"-ra is;</li>
+<li>szeretnének alapvető programozási ismeretekre szert tenni;</li>
+<li>műszaki pályára, tudományegyetemek, főiskolák matematika, fizika, informatika, illetve programozó szakjaira készülnek;</li>
+</ul>
+<p>
+Emelt szintű informatikaoktatásuk - a kerettantervi tananyagot 2x2 órás időkeretben programozói,
+algoritmuselméleti ismeretekkel kiagészítve - 9-10. évfolyamon zajlik, majd 11-12 évfolyamon fakultatív jelleggel folytatható.
+</p><p>
+A képzés eredményeként a 10-11. évfolyam végén <strong>előrehozott közép szintű informatika érettségi</strong> letételére van lehetősége tanulóinknak, mely
+jeles eredmény esetén <strong>ECDL vizsgának</strong> is megfelel. A programozási ismeretek elsajátítása ugyanakkor utat nyit az <strong>emelt szintű
+informatika érettségi</strong> felé is és jó alapot ad a felsőoktatási intézményekben folyó informatika és programozás témájú tárgyakhoz is.
+</p>
+
+<h2>Szóbeli meghallgatás</h2>
+
+<p>A szóbeli meghallgatáson elsősorban arra vagyunk kíváncsiak, hogy a jelentkező képes-e végigkövetni, értelmezni egyszerű algoritmusokat,
+megvan-e az ehhez szükséges precizitása, logikai készsége. A feladatmegoldás mellett kötetlen beszélgetés is helyet kap a meghallgatáson,
+ahol az informatikai témákon túl a jelentkező egyéb érdeklődési körétől, hobbiaitól a korábbi tanulmányokig sokmindenről szó kerülhet.
+
+
+<div class="minta" style="margin: 50px; background: #eeeeee; padding: 10px 20px 20px 20px;">
+<h3>Minta szóbeli tétel</h3>
+<p>Karesz, a robot egy egyszerű négyzetrácsos világban él. A zsebében köveket hordhat, amelyeket séta közben a négyzetrács
+mezőiről szedhet fel. Egy-egy követ az ábrákon egy-egy fekete pötty jelöl. Kezdetben a terület közepén, az ábrán K-val jelölt
+helyen áll, északi irányba néz és nincs nála kő.
+</p><p>
+Karesz az alábbi algoritmust hajtja végre:
+</p>
+<code><pre>
+ Ismételd, amíg nem érsz ki
+ Lépj előre!
+ Ha van ott kő akkor
+ Vegyél fel egy követ!
+ Különben
+ Ha van kő a zsebedben akkor
+ Tegyél le egy követ!
+ Fordulj balra!
+ Elágazás vége
+ Elágazás vége
+ Ismétlés vége
+</pre></code>
+<p>
+Az alábbi kezdőállapotok esetén add meg, hogy
+</p>
+<ol style="margin-left: 20px;">
+<li>hány lépés után lép ki Karesz a négyzetrácsról;</li>
+<li>kilépéskor hány kő van a zsebében;</li>
+<li>mely mezőkön jár a kilépésig?</li>
+</ol>
+
+<div style="margin-left: 50px; width: 150px; display: inline-block">
+<table border="1" style="border-spacing: 0;">
+ <tr>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ </tr>
+ <tr>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ </tr>
+ <tr>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px; text-align: center;"><strong>K</strong></td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px;"></td>
+ </tr>
+ <tr>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ </tr>
+ <tr>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ </tr>
+</table>
+</div>
+<div style="width: 150px; display: inline-block">
+<table border="1" style="border-spacing: 0;">
+ <tr>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px;"></td>
+ </tr>
+ <tr>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ </tr>
+ <tr>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px; text-align: center;"><strong>K</strong></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ </tr>
+ <tr>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ </tr>
+ <tr>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px;"></td>
+ </tr>
+</table>
+</div>
+<div style="width: 150px; display: inline-block">
+<table border="1" style="border-spacing: 0;">
+ <tr>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ </tr>
+ <tr>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ </tr>
+ <tr>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px; text-align: center;"><strong>K</strong></td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ </tr>
+ <tr>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px;"></td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ </tr>
+ <tr>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ <td style="height: 20px; width: 20px; text-align: center; vertical-align: center;">●</td>
+ </tr>
+</table>
+</div>
+
+</div>
+
+<style type="text/css">
+ .tagozatok a:before { content: "☞ "; font-size: 1.4em; }
+</style>
+<h3>További képzéseink</h3>
+<ul class="tagozatok">
+<li><a href="index.php?page=felveteli&f=enek">ének-zene speciális tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=biologia">biológia egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=matematika">matematika tehetséggondozó csoport</a></li>
+<li><a href="index.php?page=felveteli&f=human">humán egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=fizika">fizika egyedi tantervű csoport</a></li>
+</ul>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/kos/kos.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/kos/kos.html
new file mode 100644
index 00000000..b1bbdffb
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/kos/kos.html
@@ -0,0 +1,270 @@
+
+<h1>Általános iskolai felvételi</h1>
+
+<h2>2018/2019-es tanév</h2>
+
+<div style="text-align: center;">
+<a style="color: red; font-weight: bold; font-size: 1.3em;" href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-felveteli2018.pdf">Felvételi tájékoztató 2018/2019</a>
+</div>
+
+<!--//
+<span style="color: red; font-weight: bold; font-size: 1.3em;">A 2018/2019-es felvételi tájékoztatót hamarosan elérhetővé tesszük.</span>
+//-->
+<style type="text/css">
+table.kos { margin-left: 50px; border: 1px solid #888; }
+table.kos td { border: 1px solid #888; padding: 4px; }
+</style>
+
+
+<h3>Beiratkozás időpontja</h3>
+<p>A 2018/2019 tanévre vonatkozó általános iskolai beíratás az alábbi időpontokban lesz:</p>
+<ul><li>
+2018. április 12. (csütörtök), 8:00- 19:00
+</li><li>
+2018. április 13. (péntek), 8:00- 19:00
+</li></ul>
+
+<!--//
+<p>A beiratkozás dátumát még nem tudjuk, a későbbiekben fogjuk közzétenni.</p>
+//-->
+
+<h3>Felvételi körzethatárunk</h3>
+<p>
+
+<a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-beiskolazasiKorzet2018.pdf">Beiskolázási körzetünk utcáinak listája (.pdf)</a>
+</p>
+
+<!--//
+<h3>Felhívás beíratásra</h3>
+<p>
+<a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-tankotelesFelhivas.pdf">Itt</a>
+tölthetik le a Tankerületek tájékoztatását a beíratással kapcsolatban.
+</p>
+
+<h3>Felvételi tájékoztató</h3>
+<p>Március 1-én 17:00-18:30 között igazgatói tájékoztatót tartunk a szülők számára.</p>
+
+<h3>Játékdélután</h3>
+<p>Az igazgatói tájékoztatóval egy időben a leendő elsős gyerekek számára alsós tanítóink vezetésével játékdélutánt szervezünk.</p>
+
+<h3>Bemutató óráink a leendő elsősök szülei számára</h3>
+<p>
+A bemutató órák látogatása <strong>regisztrációhoz kötött</strong>. A regisztráció március 2-tól lesz lehetséges honlapunk felületén!
+</p><p>
+Kérjük a kedves szülőket, hogy a meglátogatni kívánt órákra időben érkezzenek, késéssel ne zavarják meg a tanórát! Ezen kívül felhívjuk a
+figyelmet arra, hogy a nyílt órákat a szülők számára tartjuk, a gyermekek számára külön játékdélutánt szervezünk. A tantermeink korlátozott
+befogadóképessége miatt kérjük, hogy családonként csak egy fő regisztráljon egy adott bemutató órára.
+A bemutató óráink időpontjait felvételi tájékoztatónkban olvashatják.
+</p>
+//-->
+<!--//
+<h3>Iskolalátogatás</h3>
+<p>
+Felvételivel kapcsolatos igazgatói tájékoztatónk, a kicsiknek szóló játékdélutánunk, illetve
+nyílt óráink márciusban lezajlottak. Leendő elsősöknek és szüleik számára külön
+óralátogatásra alkalmat biztosítani nem tudunk.
+</p>
+//-->
+
+<h3>Zenei meghallgatás</h3>
+<!--//
+<p>Az emelt szintű képzéssel működő ének-zenei osztályba jelentkezők számára zenei meghallgatást tartunk.</p>
+<p>A meghallgatás időpontjai:</p>
+<ul><li>
+2018. március 19. hétfő 15.00-18.00
+</li><li>
+2018. március 20. kedd 15.00-18.00
+</li><li>
+és a beiratkozás első napján, melynek pontos időpontját a honlapunkon olvashatják
+majd.
+</li></ul>
+//-->
+
+<p>
+Akik betegség miatt vagy más okból nem tudtak megjelenni a meghallgatáson, azok számára pótmeghallgatást tartunk 2018. április 9-én, 14:00- kor.
+</p>
+
+<p>
+A zenei meghallgatásra kérjük, hogy az
+<a href="http://www.koskaroly.sulinet.hu/index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-adatlapZeneiMeghallgatasra.pdf">itt
+letölthető adatlapot</a> legyenek szívesek kitöltve magukkal hozni.
+</p>
+
+<!--//
+<p>
+A zenei meghallgatásra az alábbi időpontokra lehet jelentkezni:
+</p><p>
+2018. március 19-ére és 20-ára:
+</p>
+<ul><li>
+15:00 és 15:30 között
+</li><li>
+15:30 és 16:00 között
+</li><li>
+16:00 és 16:30 között
+</li><li>
+16:30 és 17:00 között
+</li><li>
+17:00 és 17:30 között
+</li><li>
+17:30 és 18:00 között.
+</li></ul>
+//-->
+<p>
+Jelentkezéseket a <a href="koskaroly@koskaroly.sulinet.hu">koskaroly@koskaroly.sulinet.hu</a> e-mail címen tudunk fogadni.
+Jelentkezéskor kérjük, hogy adják meg a gyermek nevét, a várhatóan vele érkező felnőtt nevét
+és telefonszámát és a kért időpontot.
+</p><p>
+Felhívjuk a szülők figyelmét arra, hogy a meghallgatás utáni lista nem eredmény szerinti
+rangsor lesz, csak az ének-zene osztály követelményeinek való megfelelésről ad információt.
+A részvétel a listán nem jelent osztályba való felvételt!
+</p>
+<!--//
+<p>
+A pótmeghallgatásra nem kell előre bejelentkezni.
+
+A márciusban megtartott zenei meghallgatáson részt vett tanulók listáját, a meghallgatáson
+kapott kódszámmal április 6-án fogjuk honlapunkon és iskolánk bejáratánál közzé tenni.
+</p><p>
+Felhívjuk a szülők figyelmét arra, hogy a meghallgatás utáni lista nem eredmény szerinti rangsor lesz, csak az ének-zene osztály követelményeinek
+való megfelelésről ad információt. A részvétel a listán nem jelent osztályba való felvételt!
+</p>
+//-->
+<h3>Körzeten kívüli jelentkezőknek</h3>
+
+<p>
+Körzeten kívülről jelentkező tanulók jelentkezéséhez kérjük, hogy 2018. április 12-ig küldjék el titkárságunkra az alábbi két nyomtatványt a gyermek óvodai szakvéleményének
+másolati példányával együtt eredeti aláírt példányban. A későbbiekben, amikor a beiratkozások hivatalos dátumát nyilvánosságra hozzák, az utolsó beiratkozási napig adhatják
+be körzeten kívüli tanulók felvételi kérelmeit.
+</p>
+
+<ul>
+ <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-felvetelikerelem.pdf">Nyomtatvány (.pdf)</a></li>
+ <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-szuloiNyilatkozat.pdf">Szülői nyilatkozat a felügyeleti jogról (.pdf)</a></li>
+</ul>
+<!--//
+<p>Kerületen kívüli gyermek esetén a gyermek óvodai szakvéleményének másolati példányát is kérjük leadni.</p>
+
+<p>Amennyiben a tanuló és gondviselője lakcíme körzeten kívüli, de XII. kerületi, akkor kérjük,
+hogy az alábbi, életvitelszerű lakhelyre vonatkozó nyomtatványt is legyenek szívesek a két
+fenti nyomtatvánnyal együtt eljuttatni titkárságunkra.</p>
+
+<ul>
+ <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-nyilatkozatLakhelyrol.pdf">Szülői nyilatkozat életvitelszerű lakhelyről (.pdf)</a></li>
+</ul>
+
+<p>XII. kerületi, nem körzetes gyermek esetén iskolánkba való jelentkezéskor kérjük, hogy az
+óvodai szakvéleményük eredeti példányát adják le iskolánkba.</p>
+
+<h3>Iskolai előkészítő</h3>
+<p>
+Iskola előkészítő foglalkozásaink csoportjai megteltek, a jelentkezéseket lezártuk. Iskola előkészítő foglalkozásaink az alábbi időpontokban zajlanak:
+</p><p>
+Keddi foglalkozások március 8., (Nemzeti ünnep miatt szerdán) március 16., március 22., április 5., április 12., április 19., április 26., május 3., május 10., május 17.
+<br/>
+Csütörtöki foglalkozások: március 10., március 17., március 31., április 7., április 14., április 21., április 28., május 5., május 12., május 19.
+<br/>
+Hétfői foglalkozások: március 17. (Nemzeti ünnep miatt csütörtökön), március 21., március 31. (tavaszi szünet miatt csütörtökön), április 4., április 11., április 18., április 25., május 2., május 9., május 19. (Pünkösdhétfő miatt csütörtökön)
+</p><p>
+A foglalkozások 16:15-kor kezdődnek és 45 percesek.
+A kurzusok nem iskolánk tagozataira vagy iskolánkba való felvételre készítenek elő, hanem általános érvényű iskolai előkészítő tanfolyamok.
+A foglalkozásokon való részvétel nem befolyásolja a gyermekek beiskolázását.
+</p>
+//-->
+
+
+<h3>1.a osztály: emeltszintű ének-zenei osztály (sokirányú művészeti oktatással kiegészítve)</h3>
+
+<p>Bizonyított tény - és ezt saját tapasztalataink is megerősítik -, hogy a zene az egyik legalkalmasabb
+eszköz a kreatív gondolkodás fejlesztésére.
+Ebbe az osztályunkba a muzsika és a művészetek iránt érdeklődő tanulókat várjuk.
+Zenei nevelésünk Kodály Zoltán elvein alapszik. Szoros a kapcsolatunk a kerület Solti György
+Zeneiskolájával.
+Az énekkar és a hangszeres zene megismerése révén lehetőségük nyílik zenei tehetségük fejlesztésére
+és sokrétű kibontakoztatására. Iskolánkban alsó és felső tagozaton is működik kórus. Mindkettő magas
+minősítésekkel rendelkezik, nagy sikerrel szerepel versenyeken és fellépéseken, országos szinten is.
+Számos külföldi felkérésnek tett eleget a Kós Gyermekkar és a Kicsinyek Kórusa. Kórusaink két CD-
+felvételt készítettek.
+A zenei képzés előkészíti és lehetővé teszi az ének-zenei tanulmányok természetes folytatását a
+Városmajori Gimnázium zenei tagozatán.
+</p><p>
+Az ének-zenei emelt szintű képzésbe kötelezően beletartozik 1. és 2. évfolyamon a heti énekkari előkészítő,
+3. évfolyamtól pedig heti énekkari óra.
+Szoros a kapcsolatunk a kerület Solti György Zeneiskolájával.
+</p><p>
+Célunk, hogy a zenében jártas, énekelni szerető, az érzelmi nevelésre, művészeti értékekre fogékony
+tanulók hagyják el iskolánkat.
+</p>
+
+<h3>1.b osztály: matematika-természetismeret orientáltságú osztály</h3>
+
+<p>
+A matematika a reáltudományok alapja. A logikus, kreatív gondolkodást játékos feladatok
+megoldásával fejlesztjük.
+Ebben az osztályban a harmadik évtől kezdve a tehetséggondozás érdekében csoportbontásban tanítjuk
+a matematikát. Természetes átjárhatóságot biztosítunk a csoportok között évközi mérésekkel.
+Elsőtől kezdve emelt óraszámban tanítjuk a természetismeret tárgyat. Felső tagozaton is nagyobb
+óraszámban tanulnak természettudományos tárgyakat a b osztály tanulói.
+Célunk, hogy a tanulók az általános iskolából kikerülve problémamegoldó képességükkel eredményesen
+tanulhassanak a középiskolában, és készségszinten tudják kezelni a számítógépet és a különböző
+számítógépes programokat.
+</p>
+
+<h3>Hit- és erkölcstan oktatás</h3>
+
+<p>Iskolánkban jelenleg az alábbi egyházak szervezésében tartunk hit- és erkölcstan órákat:</p>
+<ul>
+<li>Magyar Katolikus Egyház</li>
+<li>Magyarországi Református Egyház</li>
+<li>Magyarországi Evangélikus Egyház</li>
+<li>Egységes Magyarországi Izraelita Hitközség</li>
+</ul>
+
+<h3>Érdeklődés, további információk kérése</h3>
+<p>
+Leendő első osztályosok beiratkozásával, következő tanévi osztályainkkal kapcsolatos kérdéseiket várjuk a
+<a href="mailto:koskaroly@koskaroly.sulinet.hu">koskaroly@koskaroly.sulinet.hu</a> e-mail címen.
+</p>
+
+<h3><!-- <span style="background: red; color: white; padding: 4px; border-radius 6px;">Változás!</span> //-->
+A beiratkozáshoz szükséges dokumentumok</h3>
+<ul>
+ <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-dokumentumlista.pdf">A szükséges dokumentumok listája (.pdf)</a></li>
+ <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-nyilatkozatErtesitesrol.pdf">Szülői nyilatkozat felvételi eredményről szóló értesítés módjáról (.pdf)</a></li>
+ <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-szuloiNyilatkozat.pdf">Szülői nyilatkozat a felügyeleti jogról (.pdf)</a></li>
+ <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-hitEsErkolcstanNyilatkozat.pdf">Nyilatkozat a hit- és erkölcstan oktatásról (.pdf)</a></li>
+ <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-nyilatkozatLakhelyrol.pdf">Szülői nyilatkozat életvitelszerű lakhelyről (.pdf)</a></li>
+ <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-normativKedvezmeny.pdf">Nyilatkozat normatív étkezési kedvezmény igényléséhez (.pdf)</a></li>
+ <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-igazolasBetegFogyatekosGyermek.pdf">Igazolás tartósan beteg, fogyatékos gyermekről (.pdf)</a></li>
+ <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-adatlap.doc">Adatlap a beiratkozáshoz (doc)</a></li>
+ <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-adatlapZeneiMeghallgatasra.pdf">Adatlap zenei meghallgatáshoz (.pdf)</a></li>
+</ul>
+
+<!--// <h3>Átvételi, felvételi kérelem</h3> //-->
+<h3>Átvételi kérelem</h3>
+<p>
+Tanulóátvételi időszakunk minden júniusban és augusztusban zajlik. Kérjük a kérelmüket május közepéig eljuttatni szíveskedjenek iskolánkba.
+</p><p>
+Tanulók átvételi kérelméhez kérjük csatolják a tanuló előző két év végi vagy félévi bizonyítvány másolatát és a szülői felügyeleti jogról szóló nyilatkozatukat.
+</p>
+<!--//
+<p><strong>
+Jövendő első osztályba jelentkező körzeten kívüliektől, a felvételi nyomtatványon kívül, az óvodai
+szakvélemény másolatát is kérjük csatolni, amelyet kérjük, hogy legkésőbb a körzetes beiratkozások napjáig juttassanak el iskolánkba.
+</p>
+//-->
+<ul>
+<!-- <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-felvetelikerelem.odt">Nyomtatvány (odt)</a></li>
+ <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-felvetelikerelem.doc">Nyomtatvány (doc)</a></li>
+//-->
+ <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-felvetelikerelem.pdf">Nyomtatvány (.pdf)</a></li>
+ <li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-szuloiNyilatkozat.pdf">Szülői nyilatkozat a felügyeleti jogról (.pdf)</a></li>
+</ul>
+
+<!--//
+<h3>A beiskolázás rendje</h3>
+
+<ul>
+<li><a href="index.php?page=session&f=download&download=true&dir=felveteli/kos&file=kos-beiskolazasRendje.docx">A beiskolázás rendje (.docx)</a></li>
+</ul>
+//--> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/matematika.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/matematika.html
new file mode 100644
index 00000000..0b087c60
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/matematika.html
@@ -0,0 +1,63 @@
+
+<h1 style="margin-top: 20px;">Emelt matematika tagozatú csoport</h1>
+<h2>az induló D osztály egyik fele</h2>
+<p>
+A Városmajori Gimnáziumban az intézmény megalakulása óta folyik emelt szintű oktatás matematikából. Emelt szintű
+(tehetséggondozó) matematika csoportot minden évben indítunk. A képzés eredményességét az emelt szintű érettségire
+jelentkező diákok magas száma, a kiváló érettségi eredmények és a kiemelkedő versenyeredmények is igazolják. (Az
+aktuális versenyeredmények a honlapunkon is megtekinthetők.)
+</p><p>
+<img src="http://belvarbcs.hu/matematika/picts/matematika.gif" alt="matematika" style="float: right; height:100px;" />
+
+Célja: tehetséggondozás, képességfejlesztés.
+</p><p>
+Ezen belül kiemelten:
+<ul style="margin-left:30px;">
+<li>az emelt szintű középiskolai tananyag széleskörű alkalmazása (a matematika szerepe más tudományágakban és a mindennapi életben);</li>
+<li>az emelt szintű érettségire való felkészítés mellett a tananyag elmélyítésével és kiegészítő anyagrészek
+ megtanításával a sikeres felsőfokú tanulmányokra való felkészítés;</li>
+<li>az önképzés igényének felkeltése;</li>
+<li>a matematikai gondolkodásmód, problémamegoldó képesség, modellalkotás kialakítása, fejlesztése;</li>
+<li>a koncentrált teljesítményre való képesség kialakítása versenyeken keresztül.</li>
+</ul>
+</p>
+<p>
+A fenti célok megvalósítása érdekében magasabb óraszámban tanítjuk a matematikát.
+</p><p>
+A jelentkezők óriási aránya évről évre visszaigazolja a képzés sikerességét.
+</p><p>
+Mindazoknak ajánljuk, akik azon kívül, hogy szívesen foglalkoznak a matematikával, megalapozott és magas szintű matematika
+tudással szeretnének jelentkezni természettudományos, műszaki, informatikai, közgazdász, kereskedelmi felsőoktatási intézményekbe.
+</p>
+
+<h2>A szóbeli meghallgatás</h2>
+<p>
+A matematika szóbeli felvételin elsősorban azt szeretnénk látni, hogy milyen fokú a jelentkező diákok matematikai gondolkodásmódja,
+szövegértése, problémamegoldó képessége, bizonyítási igénye. A feladatok az általános iskolai tananyagra épülnek.
+</p>
+
+<div class="minta" style="margin: 50px; background: #eeeeee; padding: 10px 20px 20px 20px;">
+<h3>Minta szóbeli tétel:</h3>
+<ol>
+<li>Egy kártyajátékos először elveszti a pénze felét, majd nyer 50 Ft-ot. Azután elveszti a
+ meglévő pénzének 20%-át, majd nyer 40 Ft-ot. Végül elveszti a meglevő pénzének 1/6-od
+ részét és még 50 Ft-ot, így 350 Ft-ja marad. Mennyi pénzzel ült le játszani?
+</li><li style="margin-top: 10px;">
+Egy szimmetrikus <i>ABCD</i> trapéz rövidebb <i>CD</i> alapja egyenlő a trapéz <i>BC</i> és <i>AD</i> szárával.
+ Az <i>ABC</i> szög 60°-os. Mekkora részekre bontja a <i>DAB</i> szöget az <i>AC</i> átló?
+ Bizonyítsd be, hogy a trapéz rövidebb alapja fele a hosszabb alapnak!
+</li>
+</ol>
+</div>
+
+<style type="text/css">
+ .tagozatok a:before { content: "☞ "; font-size: 1.4em; }
+</style>
+<h3>További képzéseink</h3>
+<ul class="tagozatok">
+<li><a href="index.php?page=felveteli&f=enek">ének-zene speciális tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=biologia">biológia egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=informatika">informatika egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=human">humán egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=fizika">fizika egyedi tantervű csoport</a></li>
+</ul>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2005.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2005.html
new file mode 100644
index 00000000..471ad14a
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2005.html
@@ -0,0 +1,20 @@
+<div id="tszulok">
+<h1>Kedves Szülők és Jelentkezők! </h1>
+<p>A 2005-ös felvételi vizsgák lassan minden iskolában véget érnek. A felvételi eljárás tovább folytatódik, ezért néhány fontos gondolatot szeretnénk megosztani Önökkel. 2005. március 16-18. között a jelentkezők módosíthatják az eredetileg megadott jelentkezési sorrendet. Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel, keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre: </p>
+<p style="text-align: right">Bärnkopf Péter igh. e-mail: barpeter@vmg.sulinet.hu </p>
+
+<h2>Javaslatunk, hogy kizárólag a vágyaik alapján adják meg a végső sorrendet! </h2>
+<p>A többéves tapasztalat azt mutatja, hogy a szülők/jelentkezők a bizonytalanabbnak ítélt iskolákat (tagozatokat) hátrébb, míg a biztosnak tűnő lehetőségeket előrébb sorolják. Ez a döntés - véleményünk szerint - mind a jelentkezőknek, mind az iskoláknak hátrányos, ráadásul nem is célszerű. </p>
+<p>Miután a tanulók párhuzamosan akárhány iskolába beadhatták a jelentkezésüket, minden iskola rangsora jelentősen - még az előző években megszokottaknál is nagyobb mértékben - le fog szűkülni. Ez azt jelenti, hogy a pillanatnyilag reménytelen helyzetűnek ítélt tanulók közül sokan be fognak kerülni a választott iskolákba. Tapasztalataink alapján akár a csoportlétszám két és fél- háromszorosáig is esélyesek a jelentkezők. </p>
+<p>Abban az esetben, ha a biztos lehetőséget választják az első helyre, éppen annak az esélyét zárják ki, hogy a bizonytalan lehetőség válhasson valóra; viszont, ha a bizonytalan helyzet marad az első helyen, akkor vagy sikerül :) vagy - a legrosszabb esetben - a biztos második helyre veszik föl a tanulót. Az első döntés a diákon kívül az iskolának is rossz, hiszen a megfelelő jelentkezők helyett (a tanuló/szülő bizonytalansága és ügyetlen döntése miatt) csak a rangsorban hátrébb lévők közül töltheti csak fel az osztályokat. </p>
+
+<p style="font-style: italic">Példa: ha egy tanuló az XY iskola rangsorában a 10. helyen áll, akkor ebbe az iskolába mindenképpen be fog jutni, függetlenül attól, hogy esetleg négy vagy öt egyéb iskolát is megjelölt az XY iskola előtt. Ha az előzőleg megjelölt egyéb iskolák valamelyikébe fölveszik, akkor oda járhat, ha ezek közül egyikbe sem, akkor is biztosan bejutott az XY iskolába.
+Ha azonban az XY iskolát írja az első helyre, akkor miután oda biztosan bejut, hiába ír mögé négy, öt vagy akár száz egyéb iskolát, a további iskolákba (az eredményeitől függetlenül!) nem juthat be. </p>
+<p>A fentiek alapján azt javasoljuk, hogy a komoly megfontolás után, kizárólag az óhajtott sorrend szerint adják meg a végleges jelentkezési sorrendet. Ezzel a módszerrel van egyedül esélyük, hogy a felvételi eljárás során az elérhető lehető legjobb eredményt érjék el. </p>
+<p>Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel, keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre. </p>
+<pre>
+Budapest, 2005. március
+Tisztelettel
+Bärnkopf Péter igh. e-mail: barpeter@vmg.sulinet.hu
+</pre>
+</div> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2006.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2006.html
new file mode 100644
index 00000000..8477de4c
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2006.html
@@ -0,0 +1,18 @@
+<div id="tszulok">
+<h1>Kedves Szülők és Jelentkezők! </h1>
+<p>A 2006-ös felvételi vizsgák lassan minden iskolában véget érnek. A felvételi eljárás tovább folytatódik, ezért néhány fontos gondolatot szeretnénk megosztani Önökkel. 2006. március 14-17. között a jelentkezők módosíthatják az eredetileg megadott jelentkezési sorrendet. Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel, keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre: </p>
+<p style="text-align: right">Bärnkopf Péter igh. e-mail: barpeter@vmg.sulinet.hu </p>
+
+<h2>Javaslatunk, hogy kizárólag a vágyaik alapján adják meg a végső sorrendet! </h2>
+<p>A többéves tapasztalat azt mutatja, hogy a szülők/jelentkezők a bizonytalanabbnak ítélt iskolákat (tagozatokat) hátrébb, míg a biztosnak tűnő lehetőségeket előrébb sorolják. Ez a döntés - véleményünk szerint - mind a jelentkezőknek, mind az iskoláknak hátrányos, ráadásul nem is célszerű. </p>
+<p>Miután a tanulók párhuzamosan akárhány iskolába beadhatták a jelentkezésüket, minden iskola rangsora jelentősen - még az előző években megszokottaknál is nagyobb mértékben - le fog szűkülni. Ez azt jelenti, hogy a pillanatnyilag reménytelen helyzetűnek ítélt tanulók közül sokan be fognak kerülni a választott iskolákba. Tapasztalataink alapján akár a csoportlétszám két és fél- háromszorosáig is esélyesek a jelentkezők. </p>
+<p>Abban az esetben, ha a biztos lehetőséget választják az első helyre, éppen annak az esélyét zárják ki, hogy a bizonytalan lehetőség válhasson valóra; viszont, ha a bizonytalan helyzet marad az első helyen, akkor vagy sikerül :) vagy - a legrosszabb esetben - a biztos második helyre veszik föl a tanulót. Az első döntés a diákon kívül az iskolának is rossz, hiszen a megfelelő jelentkezők helyett (a tanuló/szülő bizonytalansága és ügyetlen döntése miatt) csak a rangsorban hátrébb lévők közül töltheti csak fel az osztályokat. </p>
+
+<p style="font-style: italic">Példa: ha egy tanuló az XY iskola rangsorában a 10. helyen áll, akkor ebbe az iskolába mindenképpen be fog jutni, függetlenül attól, hogy esetleg négy vagy öt egyéb iskolát is megjelölt az XY iskola előtt. Ha az előzőleg megjelölt egyéb iskolák valamelyikébe fölveszik, akkor oda járhat, ha ezek közül egyikbe sem, akkor is biztosan bejutott az XY iskolába.
+Ha azonban az XY iskolát írja az első helyre, akkor miután oda biztosan bejut, hiába ír mögé négy, öt vagy akár száz egyéb iskolát, a további iskolákba (az eredményeitől függetlenül!) nem juthat be. </p>
+<p>A fentiek alapján azt javasoljuk, hogy a komoly megfontolás után, kizárólag az óhajtott sorrend szerint adják meg a végleges jelentkezési sorrendet. Ezzel a módszerrel van egyedül esélyük, hogy a felvételi eljárás során az elérhető lehető legjobb eredményt érjék el. </p>
+<p>Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel, keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre. </p>
+<p>Budapest, 2006. március </p>
+<p style="text-align: left; margin-left: 30%;">Tisztelettel </p>
+<p style="margin-right: 100px; text-align: right;">Bärnkopf Péter igh. e-mail: <a href="mailto:barpeter@vmg.sulinet.hu"> barpeter@vmg.sulinet.hu </a></p>
+</div> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2007.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2007.html
new file mode 100644
index 00000000..e4af3f9f
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2007.html
@@ -0,0 +1,42 @@
+<div id="tszulok">
+<h1>Kedves Szülők és Jelentkezők!</h1>
+<p>A 2007-es felvételi vizsgák lassan minden iskolában véget érnek. A felvételi eljárás
+viszont tovább folytatódik, ezért néhány fontos gondolatot szeretnénk megosztani Önökkel.
+2007. március 19-20. között a jelentkezők módosíthatják az eredetileg megadott jelentkezési sorrendet.
+Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre:</p>
+<p style="text-align: right">Bärnkopf Péter igh. e-mail: barpeter@vmg.sulinet.hu</p>
+
+<h2>Javaslatunk, hogy kizárólag a vágyaik alapján adják meg a végső sorrendet!</h2>
+<p>A többéves tapasztalat azt mutatja, hogy a szülők/jelentkezők a bizonytalanabbnak ítélt iskolákat (tagozatokat)
+hátrébb, míg a biztosnak tűnő lehetőségeket előrébb sorolják. Ez a döntés - véleményünk szerint - mind a
+jelentkezőknek, mind az iskoláknak hátrányos, ráadásul nem is célszerű.</p>
+
+<p>Miután a tanulók párhuzamosan akárhány iskolába beadhatták a jelentkezésüket, minden iskola rangsora
+jelentősen - még az előző években megszokottaknál is nagyobb mértékben - le fog szűkülni. Ez azt jelenti,
+hogy a pillanatnyilag reménytelen helyzetűnek ítélt tanulók közül sokan be fognak kerülni a választott iskolákba.
+Tapasztalataink alapján akár a csoportlétszám két és fél- háromszorosáig is esélyesek a jelentkezők.</p>
+
+<p>Abban az esetben, ha a biztos lehetőséget választják az első helyre, éppen annak az esélyét zárják ki,
+hogy a bizonytalan lehetőség válhasson valóra; viszont, ha a bizonytalan helyzet marad az első helyen, akkor vagy
+sikerül :) vagy - a legrosszabb esetben - a biztos második helyre veszik föl a tanulót. Az első döntés a diákon
+kívül az iskolának is rossz, hiszen a megfelelő jelentkezők helyett (a tanuló/szülő bizonytalansága és ügyetlen
+döntése miatt) csak a rangsorban hátrébb lévők közül töltheti csak fel az osztályokat.</p>
+
+<p style="font-style: italic">Példa: ha egy tanuló az XY iskola rangsorában a 6. helyen áll, akkor ebbe az iskolába
+mindenképpen be fog jutni, függetlenül attól, hogy esetleg négy vagy öt egyéb iskolát is megjelölt az XY iskola előtt.
+Ha az előzőleg megjelölt egyéb iskolák valamelyikébe fölveszik, akkor oda járhat, ha ezek közül egyikbe sem, akkor
+is biztosan bejutott az XY iskolába.
+Ha azonban az XY iskolát írja az első helyre, akkor miután oda biztosan bejut, hiába ír mögé négy, öt vagy akár
+száz egyéb iskolát, a további iskolákba (az eredményeitől függetlenül!) nem juthat be.</p>
+
+<p>A fentiek alapján azt javasoljuk, hogy a komoly megfontolás után, kizárólag az óhajtott sorrend szerint adják
+meg a végleges jelentkezési sorrendet. Ezzel a módszerrel van egyedül esélyük, hogy a felvételi eljárás során az
+elérhető lehető legjobb eredményt érjék el.</p>
+
+<p>Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre.</p>
+<p>Budapest, 2007. március</p>
+<p style="text-align: left; margin-left: 30%;">Tisztelettel:</p>
+<p style="margin-right: 100px; text-align: right;">Bärnkopf Péter igh. e-mail: <a href="mailto:barpeter@vmg.sulinet.hu"> barpeter@vmg.sulinet.hu</a></p>
+</div>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2008.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2008.html
new file mode 100644
index 00000000..ee062821
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2008.html
@@ -0,0 +1,42 @@
+<div id="tszulok">
+<h1>Kedves Szülők és Jelentkezők!</h1>
+<p>A 2008-as felvételi vizsgák lassan minden iskolában véget érnek. A felvételi eljárás
+viszont tovább folytatódik, ezért néhány fontos gondolatot szeretnénk megosztani Önökkel.
+2008. március 17-18. között a jelentkezők módosíthatják az eredetileg megadott jelentkezési sorrendet.
+Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre:</p>
+<p style="text-align: right">Bärnkopf Péter igh. e-mail: barpeter@vmg.sulinet.hu</p>
+
+<h2>Javaslatunk, hogy kizárólag a vágyaik alapján adják meg a végső sorrendet!</h2>
+<p>A többéves tapasztalat azt mutatja, hogy a szülők/jelentkezők a bizonytalanabbnak ítélt iskolákat (tagozatokat)
+hátrébb, míg a biztosnak tűnő lehetőségeket előrébb sorolják. Ez a döntés - véleményünk szerint - mind a
+jelentkezőknek, mind az iskoláknak hátrányos, ráadásul nem is célszerű.</p>
+
+<p>Miután a tanulók párhuzamosan akárhány iskolába beadhatták a jelentkezésüket, minden iskola rangsora
+jelentősen - még az előző években megszokottaknál is nagyobb mértékben - le fog szűkülni. Ez azt jelenti,
+hogy a pillanatnyilag reménytelen helyzetűnek ítélt tanulók közül sokan be fognak kerülni a választott iskolákba.
+Tapasztalataink alapján akár a csoportlétszám két és fél- háromszorosáig is esélyesek a jelentkezők.</p>
+
+<p>Abban az esetben, ha a biztos lehetőséget választják az első helyre, éppen annak az esélyét zárják ki,
+hogy a bizonytalan lehetőség válhasson valóra; viszont, ha a bizonytalan helyzet marad az első helyen, akkor vagy
+sikerül :) vagy - a legrosszabb esetben - a biztos második helyre veszik föl a tanulót. Az első döntés a diákon
+kívül az iskolának is rossz, hiszen a megfelelő jelentkezők helyett (a tanuló/szülő bizonytalansága és ügyetlen
+döntése miatt) csak a rangsorban hátrébb lévők közül töltheti csak fel az osztályokat.</p>
+
+<p style="font-style: italic">Példa: ha egy tanuló az XY iskola rangsorában a 6. helyen áll, akkor ebbe az iskolába
+mindenképpen be fog jutni, függetlenül attól, hogy esetleg négy vagy öt egyéb iskolát is megjelölt az XY iskola előtt.
+Ha az előzőleg megjelölt egyéb iskolák valamelyikébe fölveszik, akkor oda járhat, ha ezek közül egyikbe sem, akkor
+is biztosan bejutott az XY iskolába.
+Ha azonban az XY iskolát írja az első helyre, akkor miután oda biztosan bejut, hiába ír mögé négy, öt vagy akár
+száz egyéb iskolát, a további iskolákba (az eredményeitől függetlenül!) nem juthat be.</p>
+
+<p>A fentiek alapján azt javasoljuk, hogy a komoly megfontolás után, kizárólag az óhajtott sorrend szerint adják
+meg a végleges jelentkezési sorrendet. Ezzel a módszerrel van egyedül esélyük, hogy a felvételi eljárás során az
+elérhető lehető legjobb eredményt érjék el.</p>
+
+<p>Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre.</p>
+<p>Budapest, 2008. március</p>
+<p style="text-align: left; margin-left: 30%;">Tisztelettel:</p>
+<p style="margin-right: 100px; text-align: right;">Bärnkopf Péter igh. e-mail: <a href="mailto:barpeter@vmg.sulinet.hu"> barpeter@vmg.sulinet.hu</a></p>
+</div>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2009.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2009.html
new file mode 100644
index 00000000..4005a5d4
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2009.html
@@ -0,0 +1,42 @@
+<div id="tszulok">
+<h1>Kedves Szülők és Jelentkezők!</h1>
+<p>A 2009-as felvételi vizsgák lassan minden iskolában véget érnek. A felvételi eljárás
+viszont tovább folytatódik, ezért néhány fontos gondolatot szeretnénk megosztani Önökkel.
+2009. március 19-20. között a jelentkezők módosíthatják az eredetileg megadott jelentkezési sorrendet.
+Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre:</p>
+<p style="text-align: right">Bärnkopf Péter igh. e-mail: felveteli@vmg.sulinet.hu</p>
+
+<h2>Javaslatunk, hogy kizárólag a vágyaik alapján adják meg a végső sorrendet!</h2>
+<p>A többéves tapasztalat azt mutatja, hogy a szülők/jelentkezők a bizonytalanabbnak ítélt iskolákat (tagozatokat)
+hátrébb, míg a biztosnak tűnő lehetőségeket előrébb sorolják. Ez a döntés - véleményünk szerint - mind a
+jelentkezőknek, mind az iskoláknak hátrányos, ráadásul nem is célszerű.</p>
+
+<p>Miután a tanulók párhuzamosan akárhány iskolába beadhatták a jelentkezésüket, minden iskola rangsora
+jelentősen - még az előző években megszokottaknál is nagyobb mértékben - le fog szűkülni. Ez azt jelenti,
+hogy a pillanatnyilag reménytelen helyzetűnek ítélt tanulók közül sokan be fognak kerülni a választott iskolákba.
+Tapasztalataink alapján akár a csoportlétszám két és fél- háromszorosáig is esélyesek a jelentkezők.</p>
+
+<p>Abban az esetben, ha a biztos lehetőséget választják az első helyre, éppen annak az esélyét zárják ki,
+hogy a bizonytalan lehetőség válhasson valóra; viszont, ha a bizonytalan helyzet marad az első helyen, akkor vagy
+sikerül :) vagy - a legrosszabb esetben - a biztos második helyre veszik föl a tanulót. Az első döntés a diákon
+kívül az iskolának is rossz, hiszen a megfelelő jelentkezők helyett (a tanuló/szülő bizonytalansága és ügyetlen
+döntése miatt) csak a rangsorban hátrébb lévők közül töltheti csak fel az osztályokat.</p>
+
+<p style="font-style: italic">Példa: ha egy tanuló az XY iskola rangsorában a 6. helyen áll, akkor ebbe az iskolába
+mindenképpen be fog jutni, függetlenül attól, hogy esetleg négy vagy öt egyéb iskolát is megjelölt az XY iskola előtt.
+Ha az előzőleg megjelölt egyéb iskolák valamelyikébe fölveszik, akkor oda járhat, ha ezek közül egyikbe sem, akkor
+is biztosan bejutott az XY iskolába.
+Ha azonban az XY iskolát írja az első helyre, akkor miután oda biztosan bejut, hiába ír mögé négy, öt vagy akár
+száz egyéb iskolát, a további iskolákba (az eredményeitől függetlenül!) nem juthat be.</p>
+
+<p>A fentiek alapján azt javasoljuk, hogy a komoly megfontolás után, kizárólag az óhajtott sorrend szerint adják
+meg a végleges jelentkezési sorrendet. Ezzel a módszerrel van egyedül esélyük, hogy a felvételi eljárás során az
+elérhető lehető legjobb eredményt érjék el.</p>
+
+<p>Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre.</p>
+<p>Budapest, 2009. március</p>
+<p style="text-align: left; margin-left: 30%;">Tisztelettel:</p>
+<p style="margin-right: 100px; text-align: right;">Bärnkopf Péter igh. e-mail: <a href="mailto:felveteli@vmg.sulinet.hu">felveteli@vmg.sulinet.hu</a></p>
+</div>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2010.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2010.html
new file mode 100644
index 00000000..5bb2fc3c
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2010.html
@@ -0,0 +1,42 @@
+<div id="tszulok">
+<h1>Kedves Szülők és Jelentkezők!</h1>
+<p>A 2010-es felvételi vizsgák lassan minden iskolában véget érnek. A felvételi eljárás
+viszont tovább folytatódik, ezért néhány fontos gondolatot szeretnénk megosztani Önökkel.
+2010. március 18-19. között a jelentkezők módosíthatják az eredetileg megadott jelentkezési sorrendet.
+Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre:</p>
+<p style="text-align: right">Bärnkopf Péter igh. e-mail: felveteli@vmg.sulinet.hu</p>
+
+<h2>Javaslatunk, hogy kizárólag a vágyaik alapján adják meg a végső sorrendet!</h2>
+<p>A többéves tapasztalat azt mutatja, hogy a szülők/jelentkezők a bizonytalanabbnak ítélt iskolákat (tagozatokat)
+hátrébb, míg a biztosnak tűnő lehetőségeket előrébb sorolják. Ez a döntés - véleményünk szerint - mind a
+jelentkezőknek, mind az iskoláknak hátrányos, ráadásul nem is célszerű.</p>
+
+<p>Miután a tanulók párhuzamosan akárhány iskolába beadhatták a jelentkezésüket, minden iskola rangsora
+jelentősen - még az előző években megszokottaknál is nagyobb mértékben - le fog szűkülni. Ez azt jelenti,
+hogy a pillanatnyilag reménytelen helyzetűnek ítélt tanulók közül sokan be fognak kerülni a választott iskolákba.
+Tapasztalataink alapján akár a csoportlétszám két és fél- háromszorosáig is esélyesek a jelentkezők.</p>
+
+<p>Abban az esetben, ha a biztos lehetőséget választják az első helyre, éppen annak az esélyét zárják ki,
+hogy a bizonytalan lehetőség válhasson valóra; viszont, ha a bizonytalan helyzet marad az első helyen, akkor vagy
+sikerül :) vagy - a legrosszabb esetben - a biztos második helyre veszik föl a tanulót. Az első döntés a diákon
+kívül az iskolának is rossz, hiszen a megfelelő jelentkezők helyett (a tanuló/szülő bizonytalansága és ügyetlen
+döntése miatt) csak a rangsorban hátrébb lévők közül töltheti csak fel az osztályokat.</p>
+
+<p style="font-style: italic">Példa: ha egy tanuló az XY iskola rangsorában a 6. helyen áll, akkor ebbe az iskolába
+mindenképpen be fog jutni, függetlenül attól, hogy esetleg négy vagy öt egyéb iskolát is megjelölt az XY iskola előtt.
+Ha az előzőleg megjelölt egyéb iskolák valamelyikébe fölveszik, akkor oda járhat, ha ezek közül egyikbe sem, akkor
+is biztosan bejutott az XY iskolába.
+Ha azonban az XY iskolát írja az első helyre, akkor miután oda biztosan bejut, hiába ír mögé négy, öt vagy akár
+száz egyéb iskolát, a további iskolákba (az eredményeitől függetlenül!) nem juthat be.</p>
+
+<p>A fentiek alapján azt javasoljuk, hogy a komoly megfontolás után, kizárólag az óhajtott sorrend szerint adják
+meg a végleges jelentkezési sorrendet. Ezzel a módszerrel van egyedül esélyük, hogy a felvételi eljárás során az
+elérhető lehető legjobb eredményt érjék el.</p>
+
+<p>Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre.</p>
+<p>Budapest, 2010. március</p>
+<p style="text-align: left; margin-left: 30%;">Tisztelettel:</p>
+<p style="margin-right: 100px; text-align: right;">Bärnkopf Péter igh. e-mail: <a href="mailto:felveteli@vmg.sulinet.hu">felveteli@vmg.sulinet.hu</a></p>
+</div>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2011.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2011.html
new file mode 100644
index 00000000..44010266
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2011.html
@@ -0,0 +1,42 @@
+<div id="tszulok">
+<h1>Kedves Szülők és Jelentkezők!</h1>
+<p>A 2011-es felvételi vizsgák lassan minden iskolában véget érnek. A felvételi eljárás
+viszont tovább folytatódik, ezért néhány fontos gondolatot szeretnénk megosztani Önökkel.
+2011. március 17-18. között a jelentkezők módosíthatják az eredetileg megadott jelentkezési sorrendet.
+Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre:</p>
+<p style="text-align: right">Bärnkopf Péter igh. e-mail: felveteli@vmg.sulinet.hu</p>
+
+<h2>Javaslatunk, hogy kizárólag a vágyaik alapján adják meg a végső sorrendet!</h2>
+<p>A többéves tapasztalat azt mutatja, hogy a szülők/jelentkezők a bizonytalanabbnak ítélt iskolákat (tagozatokat)
+hátrébb, míg a biztosnak tűnő lehetőségeket előrébb sorolják. Ez a döntés - véleményünk szerint - mind a
+jelentkezőknek, mind az iskoláknak hátrányos, ráadásul nem is célszerű.</p>
+
+<p>Miután a tanulók párhuzamosan akárhány iskolába beadhatták a jelentkezésüket, minden iskola rangsora
+jelentősen - még az előző években megszokottaknál is nagyobb mértékben - le fog szűkülni. Ez azt jelenti,
+hogy a pillanatnyilag reménytelen helyzetűnek ítélt tanulók közül sokan be fognak kerülni a választott iskolákba.
+Tapasztalataink alapján akár a csoportlétszám két és fél- háromszorosáig is esélyesek a jelentkezők.</p>
+
+<p>Abban az esetben, ha a biztos lehetőséget választják az első helyre, éppen annak az esélyét zárják ki,
+hogy a bizonytalan lehetőség válhasson valóra; viszont, ha a bizonytalan helyzet marad az első helyen, akkor vagy
+sikerül :) vagy - a legrosszabb esetben - a biztos második helyre veszik föl a tanulót. Az első döntés a diákon
+kívül az iskolának is rossz, hiszen a megfelelő jelentkezők helyett (a tanuló/szülő bizonytalansága és ügyetlen
+döntése miatt) csak a rangsorban hátrébb lévők közül töltheti csak fel az osztályokat.</p>
+
+<p style="font-style: italic">Példa: ha egy tanuló az XY iskola rangsorában a 6. helyen áll, akkor ebbe az iskolába
+mindenképpen be fog jutni, függetlenül attól, hogy esetleg négy vagy öt egyéb iskolát is megjelölt az XY iskola előtt.
+Ha az előzőleg megjelölt egyéb iskolák valamelyikébe fölveszik, akkor oda járhat, ha ezek közül egyikbe sem, akkor
+is biztosan bejutott az XY iskolába.
+Ha azonban az XY iskolát írja az első helyre, akkor miután oda biztosan bejut, hiába ír mögé négy, öt vagy akár
+száz egyéb iskolát, a további iskolákba (az eredményeitől függetlenül!) nem juthat be.</p>
+
+<p>A fentiek alapján azt javasoljuk, hogy a komoly megfontolás után, kizárólag az óhajtott sorrend szerint adják
+meg a végleges jelentkezési sorrendet. Ezzel a módszerrel van egyedül esélyük, hogy a felvételi eljárás során az
+elérhető lehető legjobb eredményt érjék el.</p>
+
+<p>Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre.</p>
+<p>Budapest, 2011. március</p>
+<p style="text-align: left; margin-left: 30%;">Tisztelettel:</p>
+<p style="margin-right: 100px; text-align: right;">Bärnkopf Péter igh. e-mail: <a href="mailto:felveteli@vmg.sulinet.hu">felveteli@vmg.sulinet.hu</a></p>
+</div>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2013.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2013.html
new file mode 100644
index 00000000..7c81ae67
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2013.html
@@ -0,0 +1,41 @@
+<div id="tszulok">
+<h1>Kedves Szülők és Jelentkezők!</h1>
+<p>A 2013-as felvételi vizsgák lassan minden iskolában véget érnek. A felvételi eljárás
+viszont tovább folytatódik, ezért néhány fontos gondolatot szeretnénk megosztani Önökkel.
+2013. március 18-19. között a jelentkezők módosíthatják az eredetileg megadott jelentkezési sorrendet.
+Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre:</p>
+
+<h2>Javaslatunk, hogy kizárólag a vágyaik alapján adják meg a végső sorrendet!</h2>
+<p>A többéves tapasztalat azt mutatja, hogy a szülők/jelentkezők a bizonytalanabbnak ítélt iskolákat (tagozatokat)
+hátrébb, míg a biztosnak tűnő lehetőségeket előrébb sorolják. Ez a döntés - véleményünk szerint - mind a
+jelentkezőknek, mind az iskoláknak hátrányos, ráadásul nem is célszerű.</p>
+
+<p>Miután a tanulók párhuzamosan akárhány iskolába beadhatták a jelentkezésüket, minden iskola rangsora
+jelentősen - még az előző években megszokottaknál is nagyobb mértékben - le fog szűkülni. Ez azt jelenti,
+hogy a pillanatnyilag reménytelen helyzetűnek ítélt tanulók közül sokan be fognak kerülni a választott iskolákba.
+Tapasztalataink alapján akár a csoportlétszám háromszorosáig is esélyesek a jelentkezők.</p>
+
+<p>Abban az esetben, ha a biztos lehetőséget választják az első helyre, éppen annak az esélyét zárják ki,
+hogy a bizonytalan lehetőség válhasson valóra; viszont, ha a bizonytalan helyzet marad az első helyen, akkor vagy
+sikerül :) vagy - a legrosszabb esetben - a biztos második helyre veszik föl a tanulót. Az első döntés a diákon
+kívül az iskolának is rossz, hiszen a megfelelő jelentkezők helyett (a tanuló/szülő bizonytalansága és ügyetlen
+döntése miatt) csak a rangsorban hátrébb lévők közül töltheti csak fel az osztályokat.</p>
+
+<p style="font-style: italic">Példa: ha egy tanuló az XY iskola rangsorában a 6. helyen áll, akkor ebbe az iskolába
+mindenképpen be fog jutni, függetlenül attól, hogy esetleg négy vagy öt egyéb iskolát is megjelölt az XY iskola előtt.
+Ha az előzőleg megjelölt egyéb iskolák valamelyikébe fölveszik, akkor oda járhat, ha ezek közül egyikbe sem, akkor
+is biztosan bejutott az XY iskolába.
+Ha azonban az XY iskolát írja az első helyre, akkor miután oda biztosan bejut, hiába ír mögé négy, öt vagy akár
+száz egyéb iskolát, a további iskolákba (az eredményeitől függetlenül!) nem juthat be.</p>
+
+<p>A fentiek alapján azt javasoljuk, hogy a komoly megfontolás után, kizárólag az óhajtott sorrend szerint adják
+meg a végleges jelentkezési sorrendet. Ezzel a módszerrel van egyedül esélyük, hogy a felvételi eljárás során az
+elérhető lehető legjobb eredményt érjék el.</p>
+
+<p>Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre.</p>
+<p>Budapest, 2013. március</p>
+<p style="text-align: left; margin-left: 30%;">Tisztelettel:</p>
+<p style="margin-right: 100px; text-align: right;">Bärnkopf Péter igh. e-mail: <a href="mailto:felveteli@vmg.sulinet.hu">felveteli@vmg.sulinet.hu</a></p>
+</div>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2014.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2014.html
new file mode 100644
index 00000000..15b9049b
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2014.html
@@ -0,0 +1,41 @@
+<div id="tszulok">
+<h1>Kedves Szülők és Jelentkezők!</h1>
+<p>A 2014-es felvételi vizsgák lassan minden iskolában véget érnek. A felvételi eljárás
+viszont tovább folytatódik, ezért néhány fontos gondolatot szeretnénk megosztani Önökkel.
+2014. március 17-18. között a jelentkezők módosíthatják az eredetileg megadott jelentkezési sorrendet.
+Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre:</p>
+
+<h2>Javaslatunk, hogy kizárólag a vágyaik alapján adják meg a végső sorrendet!</h2>
+<p>A többéves tapasztalat azt mutatja, hogy a szülők/jelentkezők a bizonytalanabbnak ítélt iskolákat (tagozatokat)
+hátrébb, míg a biztosnak tűnő lehetőségeket előrébb sorolják. Ez a döntés - véleményünk szerint - mind a
+jelentkezőknek, mind az iskoláknak hátrányos, ráadásul nem is célszerű.</p>
+
+<p>Miután a tanulók párhuzamosan akárhány iskolába beadhatták a jelentkezésüket, minden iskola rangsora
+jelentősen - még az előző években megszokottaknál is nagyobb mértékben - le fog szűkülni. Ez azt jelenti,
+hogy a pillanatnyilag reménytelen helyzetűnek ítélt tanulók közül sokan be fognak kerülni a választott iskolákba.
+Tapasztalataink alapján akár a csoportlétszám háromszorosáig is esélyesek a jelentkezők.</p>
+
+<p>Abban az esetben, ha a biztos lehetőséget választják az első helyre, éppen annak az esélyét zárják ki,
+hogy a bizonytalan lehetőség válhasson valóra; viszont, ha a bizonytalan helyzet marad az első helyen, akkor vagy
+sikerül :) vagy - a legrosszabb esetben - a biztos második helyre veszik föl a tanulót. Az első döntés a diákon
+kívül az iskolának is rossz, hiszen a megfelelő jelentkezők helyett (a tanuló/szülő bizonytalansága és ügyetlen
+döntése miatt) csak a rangsorban hátrébb lévők közül töltheti csak fel az osztályokat.</p>
+
+<p style="font-style: italic">Példa: ha egy tanuló az XY iskola rangsorában a 6. helyen áll, akkor ebbe az iskolába
+mindenképpen be fog jutni, függetlenül attól, hogy esetleg négy vagy öt egyéb iskolát is megjelölt az XY iskola előtt.
+Ha az előzőleg megjelölt egyéb iskolák valamelyikébe fölveszik, akkor oda járhat, ha ezek közül egyikbe sem, akkor
+is biztosan bejutott az XY iskolába.
+Ha azonban az XY iskolát írja az első helyre, akkor miután oda biztosan bejut, hiába ír mögé négy, öt vagy akár
+száz egyéb iskolát, a további iskolákba (az eredményeitől függetlenül!) nem juthat be.</p>
+
+<p>A fentiek alapján azt javasoljuk, hogy a komoly megfontolás után, kizárólag az óhajtott sorrend szerint adják
+meg a végleges jelentkezési sorrendet. Ezzel a módszerrel van egyedül esélyük, hogy a felvételi eljárás során az
+elérhető lehető legjobb eredményt érjék el.</p>
+
+<p>Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre.</p>
+<p>Budapest, 2014. március</p>
+<p style="text-align: left; margin-left: 30%;">Tisztelettel:</p>
+<p style="margin-right: 100px; text-align: right;">Bärnkopf Péter igh. e-mail: <a href="mailto:felveteli@vmg.sulinet.hu">felveteli@vmg.sulinet.hu</a></p>
+</div>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2015.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2015.html
new file mode 100644
index 00000000..ee2c9ddc
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/nyiltlevel2015.html
@@ -0,0 +1,41 @@
+<div id="tszulok">
+<h1>Kedves Szülők és Jelentkezők!</h1>
+<p>A 2015-ös felvételi vizsgák lassan minden iskolában véget érnek. A felvételi eljárás
+viszont tovább folytatódik, ezért néhány fontos gondolatot szeretnénk megosztani Önökkel.
+2015. március 16-17. között a jelentkezők módosíthatják az eredetileg megadott jelentkezési sorrendet.
+Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre:</p>
+
+<h2>Javaslatunk, hogy kizárólag a vágyaik alapján adják meg a végső sorrendet!</h2>
+<p>A többéves tapasztalat azt mutatja, hogy a szülők/jelentkezők a bizonytalanabbnak ítélt iskolákat (tagozatokat)
+hátrébb, míg a biztosnak tűnő lehetőségeket előrébb sorolják. Ez a döntés - véleményünk szerint - mind a
+jelentkezőknek, mind az iskoláknak hátrányos, ráadásul nem is célszerű.</p>
+
+<p>Miután a tanulók párhuzamosan akárhány iskolába beadhatták a jelentkezésüket, minden iskola rangsora
+jelentősen - még az előző években megszokottaknál is nagyobb mértékben - le fog szűkülni. Ez azt jelenti,
+hogy a pillanatnyilag reménytelen helyzetűnek ítélt tanulók közül sokan be fognak kerülni a választott iskolákba.
+Tapasztalataink alapján akár a csoportlétszám háromszorosáig is esélyesek a jelentkezők.</p>
+
+<p>Abban az esetben, ha a biztos lehetőséget választják az első helyre, éppen annak az esélyét zárják ki,
+hogy a bizonytalan lehetőség válhasson valóra; viszont, ha a bizonytalan helyzet marad az első helyen, akkor vagy
+sikerül :) vagy - a legrosszabb esetben - a biztos második helyre veszik föl a tanulót. Az első döntés a diákon
+kívül az iskolának is rossz, hiszen a megfelelő jelentkezők helyett (a tanuló/szülő bizonytalansága és ügyetlen
+döntése miatt) csak a rangsorban hátrébb lévők közül töltheti csak fel az osztályokat.</p>
+
+<p style="font-style: italic">Példa: ha egy tanuló az XY iskola rangsorában a 6. helyen áll, akkor ebbe az iskolába
+mindenképpen be fog jutni, függetlenül attól, hogy esetleg négy vagy öt egyéb iskolát is megjelölt az XY iskola előtt.
+Ha az előzőleg megjelölt egyéb iskolák valamelyikébe fölveszik, akkor oda járhat, ha ezek közül egyikbe sem, akkor
+is biztosan bejutott az XY iskolába.
+Ha azonban az XY iskolát írja az első helyre, akkor miután oda biztosan bejut, hiába ír mögé négy, öt vagy akár
+száz egyéb iskolát, a további iskolákba (az eredményeitől függetlenül!) nem juthat be.</p>
+
+<p>A fentiek alapján azt javasoljuk, hogy a komoly megfontolás után, kizárólag az óhajtott sorrend szerint adják
+meg a végleges jelentkezési sorrendet. Ezzel a módszerrel van egyedül esélyük, hogy a felvételi eljárás során az
+elérhető lehető legjobb eredményt érjék el.</p>
+
+<p>Ha a rendszerrel általában vagy gyermekük konkrét esélyeivel kapcsolatban kérdésük merülne fel,
+keressenek meg minket és igyekszünk megnyugtató választ adni a kérdéseikre.</p>
+<p>Budapest, 2015. március</p>
+<p style="text-align: left; margin-left: 30%;">Tisztelettel:</p>
+<p style="margin-right: 100px; text-align: right;">Bärnkopf Péter igh. e-mail: <a href="mailto:felveteli@vmg.sulinet.hu">felveteli@vmg.sulinet.hu</a></p>
+</div>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/otevfolyamos.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/otevfolyamos.html
new file mode 100644
index 00000000..4755b8ff
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/otevfolyamos.html
@@ -0,0 +1,148 @@
+
+<h1 style="margin-top: 20px;">Nyelvi előkészítő csoport</h1>
+<h2>A szóbeli meghallgatás</h2>
+
+<h3>Elvárt ismeretek, tájékozottság mértékének felmérésekor figyelembe vett szempontok</h3>
+
+<ol>
+<li>Leíró nyelvtan
+ <ul>
+ <li>Alapvető helyesírási szabályok (kiejtés elve, szóelemzés eleve, hagyomány elve, egyszerűsítés)</li>
+ <li>Szótő, toldalék: képző, jel, rag, összetett szók; alapszófajok: ige, főnév, melléknév, számnév, határozószó,
+névmások, igenevek: főnévi, melléknévi, határozószói igenév.</li>
+ <li>Mondatfajták típusai, használatuk.</li>
+ <li>Szószerkezetek típusai, fajtái: mellérendelés, alárendelés.</li>
+ <li>Mondatrészek szerepe, funkciója és fajtái, mondatbeli viszonyaik, vonzatok.</li>
+ <li>A szóösszetételek típusai, jelentésük változása, helyesírási szabályai. A szóösszetétel, a szóképzés és a
+jelentés összefüggésének elemzése szépirodalmi és nem irodalmi szövegekben; szógyűjtés és játékos
+szóalkotás-képzéssel, összetétellel. </li>
+ <li>Szóösszetétel, alapszó, képzett szó, szókapcsolat megkülönböztetése.</li>
+ </ul>
+</li>
+<li>Irodalom
+ <ul>
+ <li>Epikai műnem. Verses és prózaepika (néhány, már tanult műfajjal). </li>
+ <li>Mese, monda, mitológiai történet, bibliai elbeszélés. </li>
+ <li>Cselekmény, idő, helyszínek, fordulat, szereplő; szerkezet; elbeszélés, párbeszéd, leírás; magatartásformák
+értékelése</li>
+ <li>Nagyepikai művek jellemzői: szerkezet, idő- és térviszonyok, cselekmény, fordulat, epizód, kitérő,
+késleltetés, előreutalás; szereplők rendszere; magatartásformák értékelése</li>
+ <li>Nagyepikai alkotás – egy regény sok szempontú megközelítése.</li>
+ <li>Pl. Tamási Áron: Ábel a rengetegben vagy Szabó Magda: Abigél vagy Móricz Zsigmond: Légy jó
+mindhalálig vagy Gárdonyi Géza: A láthatatlan ember vagy egy kortárs magyar vagy világirodalmi alkotás</li>
+ <li>Kisepikai alkotások prózai és verses, pl. novella, elbeszélés, kisregény, anekdota, karcolat, komikus eposz,
+ballada</li>
+ <li>Lírai műnem. Népköltészet, műköltészet. Dal, tájleíró költemény, életkép. </li>
+ <li>Óda, himnusz, elégia, dal, epigramma </li>
+ <li>Alakzatok: ismétlés, párhuzam, ellentét, fokozás, szórendcsere</li>
+ <li>Műismeret: Ady Endre, Arany János, Csokonai Vitéz Mihály, Janus Pannonius, József Attila, Kölcsey
+Ferenc, Petőfi Sándor, Radnóti Miklós, Szabó Lőrinc, Vörösmarty Mihály, Weöres Sándor műveiből</li>
+ <li>Drámai műfajok, dramatikus játék, dialógus, szerepjáték, színház.</li>
+ <li>Komédia, tragédia, komikum, tragikum, dialógus, konfliktus, alapszituáció, drámai nyelv, drámai jellem.</li>
+ </ul>
+</li>
+</ol>
+
+<h3>Minta szóbeli feladat</h3>
+<div class="minta" style="margin: 50px; background: #eeeeee; padding: 10px 20px 20px 20px;">
+<b>Két keréken</b>
+
+<p>Ugye, milyen jó biciklire pattanni és teljes erőből tekerve száguldozni, vagy csak alig hajtani és gurulni, nézelődni – máskor meg
+egy hirtelen fékezéssel kifarolni, lejtőn ugratni? Eszünkbe se jut közben, mennyi fejtörést okozott egy emberi erővel mozgásba
+hozható jármű feltalálása.
+</p><p>
+Már az 1600-as évek végén fölbukkantak négykerekűek, amelyeknek vezetője elöl csak kormányzott, hátul meg valaki nem kis
+munkával, lábbal hajtotta a kerekeket bonyolult szerkezeten keresztül. Egy német erdész kétkerekű járműje 1817-ben ugyan nagy
+figyelmet kapott az egész világon, de inkább csak gúnyolták, futó-gépnek nevezték a fából készült, mintegy 22 kilós szerkentyűt.
+A két fakereket összekötő vázon ültek, és lábbal lökve, futva hajtották. Vicces látvány lehetett, de azért érzékeltette a közlekedés
+megújításának vágyát.
+</p><p>
+A pedál felfedezése hozta az igazi áttörést. Bár rögzítésére különböző megoldások születtek, az első kerékre szerelt változat lett
+népszerű. A pedál együtt forgott az akkor már vasabronccsal megerősített fakerékkel, ami lejtőn lefelé igen gyors lábmozgást
+kényszerített a biciklistára, és nehéz volt kormányozni. Az első kerék könnyen kacsázott, ezért leginkább nekifutásból ültek
+nyeregbe. A többnyire egyenetlen, kockaköves utakon erősen rázott, ezért „csontrázónak” is hívták.
+</p><p>
+Aztán a favázat felváltotta a kovácsoltvas, majd a sokkal könnyebb, belül üreges fémváz, és megjelentek a tömör gumikerekek is.
+A sebesség növeléséhez azonban vad iramban kellett tekerni. Ezen az első kerék átmérőjének növelésével segítettek. Mindenki
+olyan nagy kerekű biciklit vehetett, amilyet a lába hossza engedett – készültek 1,5 m-es kerekek is, de ezek már drótküllős
+fémkerekek voltak. A bicikli hosszát a hátsó kerék méretének csökkentésével korlátozták. Az ülés szinte az első kerék tetején volt,
+emiatt akár egy hirtelen fékezésnél is könnyen lerepülhetett a biciklista.
+</p><p>
+Próbálkoztak a kerekek megcserélésével, de ez sem eredményezett biztonságos megoldást. Így leginkább merész úrfiak
+kerekeztek, már csak azért is, mert a méregdrága biciklit munkások nem tudták megfizetni.
+</p><p>
+1885-ben egy angol mester forgalomba hozta a hátsó fogaskerekes, lánc meghajtású, egyforma kerékméretű biciklit, ami azonnal
+világsiker lett. Mivel a pedál lekerült az első kerékről, a szerkezetet jobban lehetett irányítani. A vezető súlypontja, vagyis az ülés
+is visszakerült a kerekeket összekötő vázra. Három évvel később egy skót állatorvos kifejlesztette a felfújható gumikereket, a váz
+elnyerte mai formáját, s így végre a kényelem párosult a biztonsággal.
+</p><p>
+Az 1890-es évektől a fejlődő gyártási technológiának köszönhetően egyre olcsóbb lett a bicikli, és fontos közlekedési eszközként
+terjedt el az egész világon. A nők is biztonsággal használhatták – nagyobb szabadságot nyerve mindennapi életükben. A bicikli
+hatására rövidültek a szoknyák, sőt, megjelentek a női nadrágok. A találmány nagyszerűségét mi sem bizonyítja jobban, mint hogy
+napjainkban közel 1 milliárd bicikli van forgalomban.
+</p><p>
+Az idők folyamán a fejlődő és kifinomult technológiának és anyagoknak köszönhetően igényeink szerint, különböző változatok
+közül választhatunk, attól függően, milyen terepen, hogyan akarunk kerekezni. De akármilyen is a biciklink, folyamatosan karban
+kell tartani, olajozni a láncot, ellenőrizni a kerekeket, a világítást. Jó, ha megtanuljátok a gumibelső foltozását, cseréjét is. Ahol
+lehet, bicikliúton közlekedjetek, erdőben is csak a kijelölt úton, hogy ne okozzatok kárt az amúgy is sérülékeny élővilágban.
+Biciklizni nagyon jó, de bármilyen varázslatos is, a közlekedési és biztonsági szabályokról ilyenkor se feledkezzetek meg!
+</p>
+
+<p>Szövegértési kérdések:
+<ul>
+<li>a) Mennyi idő telt el a kerékpár első ősváltozata és a mai bicikli között?</li>
+<li>b) Mi volt a baj az első modellel?</li>
+<li>c) Mikből készült az idők során biciklikerék?</li>
+<li>d) Miért gyártották a maihoz képest óriási kerekekkel a kerékpárokat?</li>
+<li>e) Mit eredményezett a szöveg szerint a bicikli tömeggyártása?</li>
+</ul>
+</p>
+
+<p>Szókincsen alapuló feladatok:
+<ul>
+<li>Keress rokon értelmű szavakat, kifejezéseket a szövegben kiemelt szavakra!</li>
+<li>A „bicikli” szó jelentése két kerék. A magyar nyelvben is sok szó kezdődik a KÉT előtaggal vagy kezdettel. </li>
+<li>Ilyen megfejtéseket keress az alábbi meghatározásokra:
+ nem őszinte, nem egyenes; ügyetlen; vízben és szárazföldön is megél; azt sem tudja, mit tegyen;
+ megkérdőjelezhető
+</li>
+</ul>
+</p>
+
+
+<p>Nyelvi kreativitást mérő feladat:
+<ul>
+<li>
+Találd meg az alábbi mondatokban elrejtett bicikli alkatrészeket, a biciklizés kellékeit! Egy mondatban több is
+lehet!
+<ul>
+<li>Tudtad- e hogy az elefántok ormánya nem csupán evésre-ivásra szolgál?</li>
+<li>Tavasszal minden kizöldül és vidáman csicseregni kezdenek a madarak.</li>
+<li>Este csörögj rám, akkor Orsi sakktábláját is megmondom, hol találod.</li>
+<li>Képed álmos, nem aludtál? Szeretnéd kapum parkolóként használni? No lám! Panaszkodsz is?</li>
+<li>Iskolai büfékben dolgozott, de elege lett. Lassan minden ellenségével kibékül, lődörög a városban és nyilakat rajzolgat
+krétával a járdára.</li>
+</ul>
+</li>
+</ul>
+
+
+(Megtaláltad mind a nyolcat?)
+</p>
+
+</div>
+<!-- minta vége -->
+
+<style type="text/css">
+ .tagozatok a:before { content: "☞ "; font-size: 1.4em; }
+</style>
+<h3>További képzéseink</h3>
+<ul class="tagozatok">
+<li><a href="index.php?page=felveteli&f=hatevfolyamos">hatévfolyamos csoport</a></li>
+<li><a href="index.php?page=felveteli&f=otevfolyamos">ötévfolyamos csoport</a></li>
+<li><a href="index.php?page=felveteli&f=enek">ének-zene speciális tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=biologia">biológia egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=informatika">informatika egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=human">humán egyedi tantervű csoport</a></li>
+<li><a href="index.php?page=felveteli&f=fizika">fizika egyedi tantervű csoport</a></li>
+</ul>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/1.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/1.html
new file mode 100644
index 00000000..9b83c539
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/1.html
@@ -0,0 +1,40 @@
+<h1>1. Ajnls</h1>
+
+<h2>Tisztelt Szlk!<br/>Kedves Leend Vrosmajori Dikok!</h2>
+<p>Szeretnm nhny szval figyelmkbe ajnlani iskolnkat. A Vrosmajori Gimnzium fiatal
+ iskola, mgis az elmlt tizent v alatt szp eredmnyeivel, kedvez lehetsgeivel
+ npszer, keresett intzmnny fejldtt. Mi, akik sokat munklkodtunk a gimnzium
+ jelenlegi sznvonalnak kialaktsban, nagyon szerencssnek rezzk magunkat.
+ Nhny fontos tnyez biztosan segtsgnkre van helyzetnk megszilrdtsban.
+ Egy park veszi krl az iskolnkat, kellemes krnyezetet biztostva. Az pletnk
+ korszer, ltvnyos s ugyanakkor arnyait tekintve bartsgos mret. Munknkat az
+ orszgos tlagot meghalad taneszkz felszereltsg segti. Tantestletnk vegyes
+ korosztly, tlagt tekintve mgis fiatal vagy kzpkor. Tanraink tbbsge
+ szakmailag jl felkszlt, szemlletk gyermekkzpont, a dikok gondjaival
+ szemben megrt. A soksznsg az iskola programjnak megfogalmazsakor kzponti
+ szervezelv volt. </p>
+<p>Szeretnnk megoldani azt, hogy a mi iskolnkba jr tanulk ne csupn hasznos
+ ismeretekkel gazdagodva tltsk el gimnziumi veiket, hanem esemnyekben, diklmnyekben,
+ programokban gazdag dikkort is maguknak mondhassanak. Szeretnnk, ha
+ hasonl ragaszkodssal, bszkesggel gondolnnak itteni veikre, mint ahogy mi
+ ktdnk ehhez az iskolhoz, s bszklkednk eredmnyeinkkel.</p>
+<p>Kvncsiak vagyunk arra, hogy tanulink hogyan vlekednek iskolnkrl,
+ kpzsi rendszernk mennyiben nyjt szmukra hasznosthat s a tovbbtanuls tekintetben
+ is lnyeges ismereteket.</p>
+<p>Mr az idei tanvtl hangslyozzuk a ktszint rettsgire trtn sszpontostst.
+ Clunk, hogy - a tanulk ignyeivel sszhangban - minl tbb tantrgybl
+ emeltszint felksztst nyjthassunk; elkpzelsnk szerint vizsgakzpontknt: a
+ kzelben lv tbbi kzpiskola dikjai, mint vendghallgatk szmra is. Erre mr a
+ foly tanvben is van tbb konkrt plda.</p>
+<p>Mi nem tartjuk fontosnak azt, hogy rtkeink rszletes bemutatsval ajnljuk a
+ Vrosmajori Gimnziumot az ide plyzknak, hanem arra krnk mindenkit, hogy dikjainkat
+ krdezzk, s tlk szerezzenek informcit rlunk. Ha tanulink tbbsge negatv kpet
+ fest iskolnkrl, mindenkppen vltoztatnunk kell mkdsnkn.</p>
+<p>Felfogsunk alapja a partneri viszony, s szeretnnk, hogy aki minket vlaszt, egyben
+ mondjon iskolnk jvjnek alaktsra is igent. Szmtunk az irntunk rdekldk
+ vlemnyre.</p>
+<p>Ksznjk rdekldsket.</p>
+
+<p> Szebedy Tas
+ igazgat</p>
+ \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/2.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/2.html
new file mode 100644
index 00000000..17b4c16a
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/2.html
@@ -0,0 +1,6 @@
+<h1>2. Bevezet. A meghirdetett osztlyok</h1>
+<h2>Bevezets</h2>
+<p>Iskolnk, a Vrosmajori Gimnzium negyedik ve vegyes kpzsi rendben vgzi a dikok oktatst. Ahogy mr vek ta, a 2005-2006-os tanvben is kt-kt prhuzamos osztlyt indtunk a hatosztlyos s a ngyosztlyos kpzsben rsztvevk szmra. Iskolnkba teht az ltalnos iskolk hatodik, illetve nyolcadik osztlyt vgz tanulk jelentkezst vrjuk.
+ <b>A jelentkezs felttele</b>, hogy a megjellt v vgi s flvi bizonytvnyok alapjn
+ - az ltalunk krt tantrgyakbl - a tanul tanulmnyi tlaga elrje az elrt minimumot, azaz a jelentkez hatodikosoknl legalbb 4,2 a nyolcadikosoknl legalbb 4,0 legyen, mivel az elmlt idszak tapasztalatai alapjn, a gyengbb bizonytvnnyal rkez tanulk felvtelre minimlis eslyt ltunk.</p>
+<p>A Vrosmajori Gimnzium programjnak nem szerves rsze a tizedik vfolyam vgi alapvizsga. Alapvizsgt csak abban az esetben szervez az iskola, ha valamely tanul a tovbbtanulsa rdekben, a trvnyben elrt mdon jelzi, hogy alapvizsgt kvn tenni.</p>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/3.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/3.html
new file mode 100644
index 00000000..4af0236e
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/3.html
@@ -0,0 +1,45 @@
+<h1>3. A hat vfolyamos kpzs</h1>
+<p>A Vrosmajori Gimnzium a 2005-2006-s tanvben az ltalnos iskolk 6. osztlyos tanuli szmra felvtelt hirdet.</p>
+
+<h2>3.1. ltalnos tudnivalk</h2>
+<p>
+Ebben a rendszerben kt osztly fog indulni a kvetkez tanvben:
+<table class="tagozat" align="center" cellpadding="5">
+<tr><th>Az osztly jele</th><th>Kdja</th><th>tpusa</th><th>1. idegen nyelv</th><th>2. idegen nyelv</th></tr>
+<tr><td>7.A</td><td>01</td><td>Kerettantervi egyedi</td><td>angol nyelv<br />4ra/ht</td><td>latin</td></tr>
+<tr><td>7.B</td><td>02</td><td>Kerettantervi egyedi</td><td>nmet nyelv<br/>4ra/ht</td><td>latin</td></tr>
+</table>
+</p>
+
+<p>A latin nyelvi alapozs 7-8. vfolyamon ktelez, majd a harmadik vtl vlaszthatnak msodik idegen nyelvet. A msodik idegen nyelv tantsa . br igyeksznk a tanuli s szli ignyeket kielgteni . az iskola lehetsgei, ajnlata s beosztsa szerint trtnik. (Eddigi gyakorlatunk szerint angol, francia, japn, latin, nmet, olasz, orosz??? nyelvek kzl vlaszthattak a dikok). A kpzs ismertetse (A Vrosmajori Gimnzium Sokprofil Pedaggiai programja) rszletesen olvashat a .Vrosmajori Gimnzium rtestje. cm kiadvnyunkban, mely az iskola knyvtrban tekinthet meg. s honlapunkon.
+</p>
+<p>A hatves kpzs tdik vtl a tanulk vlasztsi lehetsge kitgul, azaz megtehetik, hogy a vrhat egyetemi felvteli trgyaikat, illetve az ket legjobban rdekl fakultatv rkat ltogassk a ktelezen tanuland tanrk mellett. Nyolc vlaszthat ra szabad svban a fels szint rettsgi kvetelmnyei szerint lesz vlaszthat, az 1997-ben elfogadott s 2000-ben mdostott GV (Gimnziumi rettsgi Vizsgaszablyzat) elrsainak megfelelen.
+</p>
+<p>Az 1995-ben, valamint az 1996-ban, 1998-ban, 2002-ben vgl 2003-ban mdostott 1993. vi XXXIII. Kzoktatsi Trvny, tovbb a 11/1994.(VI.8.) MKM rendelet (20.) alapjn a vlasztott trgyakat a vlaszts utn ugyangy kell kezelni, mint a ktelezen elrtakat, teht osztlyzat szerzse s az rk ltogatsa ktelez.
+</p>
+<p>Az elmlt vekben a hat vfolyamos kpzs vgre nmet nyelvbl a programunkban komoly tanulssal rszt vev tanulinkat felksztettk a Tartomnyi Kultuszminiszterek Konferencija ltal szervezett Nmet Nyelvi Diplomavizsgra, amely a nmet nyelvterleten folytatand felsfok tanulmnyok vgzshez alapfelttel. Honosts utn ez a vizsga megfelel a magyarorszgi .C. tpus felsfok llami nyelvvizsgnak.
+</p>
+<p>Az iskola igazgatja 2004. november 22-n 18.00 rakor tjkoztat rtekezletet tart a felvteli eljrs rendjrl.
+</p>
+
+
+<h2>3.2. A felvteli eljrs rendje</h2>
+<p>A felvteli eljrs szablyait az Oktatsi Minisztrium rendelete szablyozta.</p>
+<p>A rendelet (12/2003. (V.23.) OM rendelet) tiltja a felvteli rendeletben meghatrozott mdon kvl, az sszes egyb felvteli formt. A kilencedik vfolyamnl alacsonyabb vfolyamokra rsbeli felvteli vizsga csak a kzponti szervezs vizsga lehet, mgpedig csak azokban az iskolkban, ahol . a tljelentkezs magas arnya miatt . ms mdon csak igen nehezen lehetne felvteli dntst hozni. rsbeli vizsgt abban az iskolban lehet szervezni, ahol az elmlt hrom vben legalbb 1,5-szeres tljelentkezst regisztrltak s az intzmny fenntartja az rsbeli vizsgt engedlyezi.</p>
+<p>Mivel az elmlt hrom vben az iskolnkba felvtelizni kvn tanulk szma tlagosan tbb mint tszrs volt, rszt fogunk venni a kzpontilag szervezett rsbeli vizsgval trtn felvteliztetsben.</p>
+<p>A miniszteri rendelet szerint az rsbeli vizsgra a plyz tanulnak 2004. december 10-ig az iskolban kell kzvetlenl jelentkeznie, melyhez a jelentkezsi lap november 30-tl az iskola portjn tvehet. A minisztrium ltal elksztett, kzponti vizsgateszttel elltott gimnziumokban a felvteli vizsga egy idben trtnik, egysgesen 2005. janur 28-n 1400 rai kezdettel. A felvteli vizsgk idpontjrl kln rtestst nem kldnk! Mivel a felvteli feladatlapok azonosak s a feladatlapok javtsa is egysgesen trtnik, iskolnk az eredmnyek kihirdetse utn ugyangy mrlegeli a mshol rt, de hozznk jelentkez tanulk eredmnyeit, mint azokt, akik gimnziumunkban vizsgztak.</p>
+<p>A rendelet lehetv teszi, hogy aki (betegsg vagy egyb, a tanul hibjn kvl ll, mltnyolhat okbl) nem tudott rszt venni a kzponti felvtelin, 2005. februr 3-n, ugyancsak kzponti, ptllagos dolgozat megrsval tegyen felvteli vizsgt. Egy jelentkez azonban semmikppen sem rhat ktszer felvteli feladatsort.</p>
+<p>ppen a ktszeri vizsgzs elkerlsnek cljbl, a rendelet szerint, a ptdolgozatot is csak abban az iskolban rhatjk meg a tanulk, ahov decemberben az rsbeli vizsgra bejelentkeztek.</p>
+<p>A dolgozatot r felvtelizk mg a jelentkezsi hatrid eltt, 2004. februr 9-ig megtudjk az rsbeli vizsga eredmnyeit a gimnzium auljban kifggesztett sszestsekbl. A tanul, illetve a szl krsre, az iskola hivatalos igazolst ad ki a plyz elrt pontszmrl, amely igazolssal az esetleges msik gimnziumokban is fogadni tudjk a felvteliz jelentkezst.</p>
+<p>Egy tanul tbb klnbz helyre adhatja be jelentkezsi lapjt, de nem felttlenl az ltalnos iskoln keresztl; az egyni gyintzs ebben az esetben lehetsges!</p>
+<p>A gimnziumi jelentkezs hatridejt a Fvrosi nkormnyzat Polgrmesteri Hivatal Mveldsi Fosztlynak iskolztatsi tjkoztatja tartalmazza. A rendes felvteli eljrsra trtn jelentkezs hatrideje: 2005. februr 10.</p>
+
+<h2>3.3. A felvteli eljrs szablyai</h2>
+<p>Mivel a rendelet (7. (1) bekezds) a felvtelt elssorban a tanulmnyi eredmnyek vizsglathoz kti, a felvteli dntsnl . az ltalunk megjellt tantrgyakbl . a 4,2 tlagot elr tanulkat rangsoroljuk.</p>
+<p>Az ltalunk figyelembe vett t tantrgy: magyar irodalom, nyelvtan, trtnelem, matematika, s egy idegen nyelv. Az tlagszmtst az 5. vgn s 6. flvkor megszerzett rdemjegyekkel vgezzk el.</p>
+<p>Minden hozznk jelentkez diknak rszt kell vennie a kzponti szervezs, rsbeli vizsgn. Az rsbeli dolgozatok eredmnye s a kezdeti rangsor egyttesen hatrozzk meg a vgleges sorrendet. A felvteli eljrst szksg esetn szbeli meghallgats is kiegsztheti. A szbeli szksgessgrl s mdjrl az iskola igazgatja dnt. Amennyiben kt jelentkez sszestett eredmnye kzel azonos (maximum 2% a klnbsg), az iskola elnyben rszestheti a XII. kerleti lland lakcmmel rendelkez plyzt.</p>
+<p>A tanulk felvtele az igazgat hatskre, minden egyes tanul felvtelrl az igazgat dnt.</p>
+<p>Az iskola 2005. prilis 13-ig tovbbtja az Orszgos Kzoktatsi rtkelsi s Vizsgakzponthoz (OKV) a felvteli sorn kialakult rangsort tartalmaz kimutatst. Az OKV visszajelzse alapjn az iskola igazgatja 2005. prilis vgig ad tjkoztatst a felvteli dntsrl.</p>
+<p>A dnts ellen . a jelentkez kiskor lvn . a szl a Kzoktatsi trvny 83.-nak (2) bekezdse szerint jogorvoslati krelemmel lhet.</p>
+<h2>3.4. Kvetelmnyek</h2>
+<p>Az rsbeli feladatok . az elz vek tapasztalatai alapjn . nem az ltalnos iskolai tananyag lexiklis tudst, hanem a szvegrtst, fantzit, kombincis kszsget, koncentrl kpessget, tletessget kvnjk mrni.</p>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/4.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/4.html
new file mode 100644
index 00000000..087d5cdf
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/4.html
@@ -0,0 +1,142 @@
+<h1>4. A ngy vfolyamos kpzs</h1>
+<p> A Vrosmajori Gimnzium a 2005-2006-os tanvben az ltalnos iskolk 8. osztlyos tanuli szmra felvtelt hirdet.
+</p>
+
+<h2>4.1. ltalnos tudnivalk</h2>
+<p>Ebben a rendszerben kt osztly fog indulni a kvetkez tanvben:
+
+<table align="center" class="tagozat">
+<tr><th>Az osztly jele</th><th>Kdja</th><th>Tpusa</th><th>1. idegen nyelv</th><th>2. idegen nyelv</th></tr>
+<tr>
+ <td>9.C fl osztly nek</td>
+ <td>03</td>
+ <td>Spec. s kerettanterv szerinti</td>
+ <td>nmet nyelv 4ra/ht</td>
+ <td rowspan="2">angol, nmet, francia, olasz latin, japn 3 ra/ht</td>
+</tr>
+<tr>
+ <td>9.C fl osztly magyar</td>
+ <td>04</td>
+ <td>egyedi kerettanterv szerinti</td>
+ <td>olasz nyelv
+ 4ra/ht</td>
+</tr>
+<tr>
+ <td>9.D fl osztly matematika</td>
+ <td>05</td>
+ <td>egyedi kerettanterv szerinti</td>
+ <td>angol nyelv 4ra/ht </td>
+ <td rowspan="2">nmet, francia, latin, olasz, japn 3 ra/ht</td>
+</tr>
+<tr>
+ <td>9.D fl osztly biolgia</td>
+ <td>06</td>
+ <td>egyedi kerettanterv szerinti</td>
+ <td>angol nyelv 4ra/ht</td>
+</tr>
+</table>
+
+</p>
+
+<h3> nek-zene</h3>
+<p> Az nek-zene kpzs programjban arnyosan szerepel a szolfzs, npzene, zenetrtnet s sszhangzattan. A zenei kpzs clkitzse, hogy a tanulk . a zenei rs-olvass tkletestse mellett . dallamrst is tanuljanak, tbbszlam idzeteket tudjanak lerni s a ngy v alatt szznl is tbb npdalt legyenek kpesek kifejezen eladni. Zenetrtneti tanulmnyaik sorn keresztmetszetet kapnak az si zentl egszen a XX. Szzadi zenig.
+</p><p> Iskolnk elvrsa, hogy a zenei kpzsben rsztvev tanulk valamelyik iskolai krusban aktvan rszt vegyenek. A legkivlbb hangkpzssel rendelkez lnyok lehetsget kaphatnak az Angelica lenykarban val szereplsre.
+</p>
+
+<h3> Magyar</h3>
+<p>
+ A magyar tagozat legfontosabb clja az emelt szint rettsgire val felkszts. Kiemelt szempontnak tartjuk a gyerekek humn rtelmisgi nevelst. Mivel az rk kis csoportban folynak, lehetsg nylik a mvszetekrl, irodalomrl val elmlylt beszlgetsre, vitra, egynre szabott feladatokra, tehetsggondozsra.
+</p>
+
+<h3> Matematika</h3>
+
+<p>
+ Matematika emeltszint csoportot minden vben indtunk. A jelentkezk risi arnya vrl-vre visszaigazolja a kpzs npszersgt. Sz sincs a hagyomnyos matematika tagozatrl (br szhasznlatunkban sokszor gy fejezzk ki magunkat): a tananyag gyakorlatilag megegyezik a tbbi csoportval, de a 9-10. vfolyamon kapott kt-kt tbbletra nagyobb elmlylsre, tbb gyakorlsra s rdekes rszterletek bemutatsra is lehetsget biztost. Mindazoknak ajnljuk, akik ugyan nem .matekzsenik., de szvesen foglalkoznak ezzel a ktsgkvl fontos tantrggyal.
+</p>
+
+<h3> Biolgia</h3>
+
+<p> Ez a tagozat nagy hagyomnyokkal rendelkez kpzsi forma. Azoknak a tanulknak javasoljuk, akik biolgibl szeretnnek tovbbtanulni. A ngy v sorn lehetv vlik minden tmakr rszletes megismerse, az egyes tmakrkhz kapcsold boncolsi, biokmiai s kolgiai gyakorlatok elvgzse. Vgzett dikjaink nagyobb rsze az orvosi egyetemen folytatta tanulmnyait, de sokan vannak gygyszerszek, biolgusok s llatorvosok is.
+</p><p> Az iskolnkba felvett 8. osztlyt vgzett tanulk az els kt vben az adott egyedi tanterv osztlyban folytatjk tanulmnyaikat. A harmadik s a negyedik vben azonban lehetsgk nylik arra, hogy vagy az eredeti egyedi tanterv osztlyos kpzst folytassk, vagy az iskola ltal meghirdetett tantervi program alapjn, vlaszthassanak tovbbi tantrgyakat rdekldsk alakulsa szerint. gy megtehetik, hogy a vrhat egyetemi felvteli trgyakat, illetve az azokhoz kapcsold fakultatv rkat ltogatjk. Az 1995-ben, 1996-ban, 1998-ban, 2002-ben vgl 2003-ban mdostott 1993. vi XXXIII. Kzoktatsi Trvny, tovbb a 11/1994.(VI.8.) MKM rendelet (20.) alapjn a vlasztott trgyakat a vlaszts utn ugyangy kell kezelni, mint a ktelezen elrtakat, teht osztlyzat szerzse s az rk ltogatsa ktelez.
+</p><p> A kerettanterv szerinti egyedi tanterv kpzsben az idegen nyelvek kzl az els az egyedi tantervvel meghatrozott, a msodik nyelv tantsa beoszts alapjn, az iskola lehetsgei szerint trtnik. Ez azt jelenti, hogy krjk, sajt rdekkben tbb nyelvet jelljenek meg a jelentkezk, lehetleg olyan sorrendben, amilyen sorrendben szeretnk, hogy figyelembe vegyk kvnsgukat. Ennek szem eltt tartsval igyeksznk a csoportokat elosztani. Mivel tanraink ltszma kttt, elfordulhat, hogy minden krs kielgtsre nem lesz mdunk. Aki sajt beltsa alapjn csak egyetlen idegen nyelvet jell meg msodik nyelvknt, azt a kockzatot vllalja, hogy krse csoportszervezsi nehzsg esetn nem teljesl. A kpzs ismertetse (A Vrosmajori Gimnzium Sokprofil Pedaggiai Programja) rszletesen olvashat a .Vrosmajori Gimnzium rtestje. cm kiadvnyunkban, mely az iskola knyvtrban megtekinthet.
+</p><p> Az iskola igazgatja 2004. november 22-n 18.00 rakor tjkoztat rtekezletet tart a felvteli eljrs rendjrl.
+</p>
+
+<h2> 4.2. A felvteli eljrs rendje</h2>
+<p> A felvteli eljrs szablyait az Oktatsi Minisztrium rendelete szablyozta.
+</p><p> A rendelet (12/2003. (V.23.) OM rendelet) tiltja a felvteli rendeletben meghatrozott mdon kvl, az sszes egyb felvteli formt. Az rsbeli felvteli vizsga csak a kzponti szervezs vizsga lehet, mgpedig csak azokban az iskolkban, ahol . a tljelentkezs magas arnya miatt . ms mdon csak igen nehezen lehetne felvteli dntst hozni. rsbeli vizsgt abban az iskolban lehet szervezni, ahol az elmlt hrom vben legalbb 1,5-szeres tljelentkezst regisztrltak s az intzmny fenntartja az rsbeli vizsgt engedlyezi.
+</p><p> Mivel az elmlt hrom vben az iskolnkba felvtelizni kvn tanulk szma tlagosan tbb mint hromszoros volt, rszt fogunk venni a kzpontilag szervezett rsbeli vizsgval trtn felvteliztetsben.
+</p><p> A miniszteri rendelet szerint az rsbeli vizsgra a plyz tanulnak 2004. december 10-ig az iskolban kell kzvetlenl jelentkeznie, melyhez a jelentkezsi lap november 30-tl az iskola portjn tvehet. A minisztrium ltal elksztett, kzponti vizsgateszttel elltott gimnziumokban a felvteli vizsga egy idben trtnik, egysgesen 2005. janur 29-n 1000 rai kezdettel. A felvteli vizsgk idpontjrl kln rtestst nem kldnk! Mivel a felvteli feladatlapok azonosak s a feladatlapok javtsa is egysgesen trtnik, iskolnk az eredmnyek kihirdetse utn ugyangy mrlegeli a mshol rt, de hozznk jelentkez tanulk eredmnyeit, mint azokt, akik gimnziumunkban vizsgztak.
+</p><p> A rendelet lehetv teszi, hogy aki (betegsg vagy egyb, a tanul hibjn kvl ll, mltnyolhat okbl) nem tudott rszt venni a kzponti felvtelin, 2005. februr 3-n, ugyancsak kzponti, ptllagos dolgozat megrsval tegyen felvteli vizsgt. Egy jelentkez azonban semmikppen sem rhat ktszer felvteli feladatsort.
+</p><p> ppen a ktszeri vizsgzs elkerlsnek cljbl, a rendelet szerint, a ptdolgozatot is csak abban az iskolban rhatjk meg a tanulk, ahov decemberben az rsbeli vizsgra bejelentkeztek.
+</p><p> A dolgozatot r felvtelizk mg a jelentkezsi hatrid eltt, 2005. februr 9-ig megtudjk az rsbeli vizsga eredmnyeit a gimnzium auljban kifggesztett sszestsekbl. A tanul, illetve a szl krsre, az iskola hivatalos igazolst ad ki a plyz elrt pontszmrl, amely igazolssal az esetleges msik gimnziumokban is fogadni tudjk a felvteliz jelentkezst.
+</p><p> Egy tanul tbb klnbz helyre adhatja be jelentkezsi lapjt, az ltalnos iskoln keresztl.
+</p><p> A gimnziumi jelentkezs hatridejt a Fvrosi nkormnyzat Polgrmesteri Hivatal Mveldsi Fosztlynak iskolztatsi tjkoztatja tartalmazza. A rendes felvteli eljrsra trtn jelentkezs hatrideje: 2005. februr 10.
+</p><p> Azoknak a tanulknak kpessgvizsgt is kell tennie, akik az nek-zene tagozatot brmelyik helyen megjelltk.
+</p><p> A felvteli eljrst szksg esetn szbeli meghallgats is kiegsztheti. A szbeli szksgessgrl s mdjrl az iskola igazgatja dnt.
+</p><p> Az iskola 2005. prilis 13-ig tovbbtja az Orszgos Kzoktatsi rtkelsi s Vizsgakzponthoz (OKV) a felvteli sorn kialakult rangsort tartalmaz kimutatst. Az OKV visszajelzse alapjn az iskola igazgatja 2005. prilis vgig ad tjkoztatst a felvteli dntsrl.
+</p>
+
+<h2> 4.3. A felvteli eljrs szablyai</h2>
+<p> Mivel a rendelet (7. (1) bekezds) a felvtelt elssorban a tanulmnyi eredmnyek vizsglathoz kti, a felvteli dntsnl . az ltalunk megjellt tantrgyakbl . a 4,0 tlagot elr vagy azt meghalad tlag tanulkat rangsoroljuk.
+</p><p> Az ltalunk figyelembe vett hat tantrgy: magyar irodalom, nyelvtan, trtnelem, matematika, fizika s egy idegen nyelv. Az tlagszmtst az tdik, hatodik, hetedik osztly vgn s a nyolcadik osztlyban flvkor megszerzett rdemjegyekkel vgezzk el.
+</p><p> A gimnziumi felvtelket kr tanulk elbrlsa az elrt tlageredmny s az iskola ltal szervezett (magyar, matematika) rsbeli felvteli vizsga s a kpessgvizsga (nek-zene) alapjn trtnik. Amennyiben kt jelentkez sszestett eredmnye kzel azonos (maximum 2% a klnbsg), az iskola elnyben rszestheti a XII. kerleti lland lakcmmel rendelkez plyzt.
+</p><p> A felvtelre jelentkez tanul gondviseljvel az iskola a felvteli eredmnyt rsban kzli, egyben az iskola portjn, hirdettbln a rangsort nyilvnoss teszi. Az eredmnyek vgleges kihirdetse eltt sem rsban, sem szban, sem telefonon az eredmnyekrl tjkoztatst nem adunk.
+</p><p> A nvsor vrhatan 2005. prilis vgig kerl nyilvnossgra.
+</p><p> A tanulk felvtele az igazgat hatskre, minden egyes tanul felvtelrl az igazgat dnt.
+</p><p> A dnts ellen a felvteliz vagy . kiskor jelentkez esetn . a szl a Kzoktatsi Trvny 83.-nak (2) bekezdse szerint jogorvoslati krelemmel lhet.
+</p>
+
+<h2> 4.4. Kvetelmnyek</h2>
+<h3>Minden jelentkez rszre</h3>
+<p> Az rsbeli felvteli vizsga a magyar nyelvi s irodalmi, illetve a matematika tanulmnyokhoz kapcsolhat feladatokbl ll. A feladatok, amelyeket a tanulknak meg kell oldaniuk, vrhatan nem az ltalnos iskola ltal tantott anyag ismeretnek fellvizsglatt szolgljk.
+</p><p> Az ismeretek szintjt s mennyisgt megnyugtat mdon igazoljk az ltalnos iskolai osztlyzatok.
+</p><p> A felvteli vizsga keretben megoldand feladatok a tanul gondolkodsmdjnak fejlettsgt s a kifejezkszsgt vizsgljk. Azt szeretnnk megtudni, mennyire kpes a tanultakat nllan alkalmazni, mennyire tud s mer kvetkeztetseket levonni, mennyire tudja a levont kvetkeztetseket rsban megfogalmazni, s mindezt milyen pontosan s helyesen.
+</p><p> Idegen nyelvi felvteli nincs. A nyelvi egyedi tanterv osztlyokra val beosztsnl a szintek szerinti bontst utlagos szintmrssel dntjk el.
+</p>
+
+<h3> nek- zene (specilis tanterv) tanulcsoport</h3>
+<pre>
+ A kpessgvizsga rsbeli s szbeli rszbl ll.
+ 1. Az rsbeli vizsga kvetelmnyei:
+ 1.1. Diktand: Peridusnyi dallam halls utn trtn lejegyzse
+ 1.2. Tz hrmashangzat (dr-moll s fordtsai) diktls utni lejegyzse
+ 1.3. Ismert npdal valamely sornak emlkezetbl, adott hangmagassgon trtn lejegyzse
+ 2. A szbeli vizsga kvetelmnyei:
+ 2.1. Tanult hangszeren kt egymstl eltr stlus m bemutatsa
+ 2.2. Blattols (8 temes klasszikus idzet)
+ 2.3. t npdal kifejez neklse (legyenek ms-ms karakterek: parlando-giusto)
+</pre>
+
+<h3> Magyar tanulcsoport</h3>
+<p> Klns figyelmet fordtunk az rt szvegolvassra, a kritikus gondolkodsra, a szbeli s rsbeli kommunikci fejlesztsre.
+</p>
+
+<h3> Biolgia tanulcsoport</h3>
+<p> A meghallgatson elssorban nem lexiklis ismereteket krnk szmon, hanem a tanul biolgia irnti rdekldst, a tanult ismeretek integrlst, alkalmazst rtkeljk a feladatok megoldsakor.
+</p>
+<pre>
+ A meghallgats tmakrei:
+ 1.1. llattan
+ 1.2. Nvnytan
+ 1.3. Az ember szervezetnek felptse s mkdse
+ 1.4. kolgiai ismeretek
+ 4.5. A felvteli pontrendszer
+</pre>
+<p> Minden felvteliz 100 pontot rhet el a felvteli eljrs sorn.
+</p><p> Hsz pontot kaphat a jelentkez a hozott tanulmnyi tlagra (4,0 = 0 pont, 5,0 = 20 pont . linerisan)
+</p>
+<pre>
+ 1. nek-zene
+ . max. 20 pont a magyar dolgozat
+ . max. 20 pont a matematika dolgozat
+ . max. 16 pont a szbeli meghallgats
+ . max. 24 pont az rsbeli
+ 2. Magyar, matematika, biolgia
+ . max. 40 pont a magyar dolgozat
+ . max. 40 pont a matematika dolgozat
+ szbeli esetn
+ . max. 30 pont a magyar dolgozat
+ . max. 30 pont a matematika dolgozat
+ . max. 20 pont a szbeli meghallgats
+</pre> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/5.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/5.html
new file mode 100644
index 00000000..1de8d821
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/5.html
@@ -0,0 +1,13 @@
+<h1>5. A jelentkezsi lapok kitltse</h1>
+<p>A Vrosmajori Gimnzium azonost szma: 035242
+</p><p>Az iskola (Vrosmajori Gimnzium) megjellse mellett azt az egyedi tanterv osztlyt is fel kell tntetni, amelyikre a tanul felvtelt kri gy, hogy alhzssal jellje az rdekldshez kzelebb ll egyedi tanterv osztly nevt, tantrgyt s kdjt.
+</p><p>Msodik idegen nyelvknt krjk, . sorrendben . tbb nyelvet is jelljenek meg. A nyelvi csoportbeoszts mrlegelst a tbb idegen nyelvet megjellkkel kezdjk. Ha egyetlen nyelvet jellnek meg, akkor a tanult, a ltszmkeret lehetsgei szerint, egyszeren beosztjuk.
+</p><p>A tanulk nyelvi csoportokba val beosztsa . a trvnyi elrs szerint . az iskola feladata. A pontosan kitlttt jelentkezsi lappal segthetik a beosztst, azonban a krs teljestsre garancit nem vllalhatunk.
+</p><p>A gondvisel elnevezsnl s cmnl nagyon krjk, hogy azt a nevet s cmet adjk meg, ahova a felvteli eredmny postzst krik, mert szmos flrertst, felesleges kltsget elzhetnek meg ezzel.
+</p><p>A tavalyi tapasztalatok alapjn, kln felhvjuk a figyelmet, hogy a jelentkezsi lapon . a megfelel sorrendben . az sszes tagozatot jelljk meg, amelyet el tudnnak fogadni a gimnzium knlatbl, mert gyermekket esetleg . mg ha meg is felel a felvteli kvetelmnyeknek . ennek elmulasztsa miatt nem tudjuk ms tagozatra tirnytani.
+</p><p>Felhvjuk a figyelmet arra is, hogy csak szablyosan kitlttt jelentkezsi lapot tudunk elfogadni.
+</p><p>Tisztban vagyunk azzal, hogy a szlk szmra nagy gondot jelent annak eldntse, hogy hova adjk be els helyen jelentkezsket. Az elz vekben iskolnk irnt nagy rdekldst mutattak a jelentkezk, a 2004. vi felvtelin kzel tszrs volt a tljelentkezs.
+</p><p>A 4,0 alatti tlageredmnnyel jelentkezket krjk, ne hozznk adjk be lapjukat, mert nem ll mdunkban felvtelket biztostani.
+</p><p>Felhvjuk a figyelmket arra a tnyre, hogy a kerettantervek kvetkez tanvi bevezetse miatt a jelenlegi tantervek, ill. raszmok mdosulhatnak.
+</p><p>A titkrsg gyintzsi ideje htkznaponknt 1330-1530. <del>Az gyintzsi idn kvl, illetve 2005. ??? februr 13. dlutn 1530 utn tovbbi jelentkezst nem ll mdunkban elfogadni.</del>
+</p> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/tartalom.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/tartalom.html
new file mode 100644
index 00000000..9a7442c7
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20052006/tartalom.html
@@ -0,0 +1,24 @@
+<h1>A Vrosmajori Gimnzium felvteli tjkoztatja</h1>
+<h2>a 2005-2006-os tanvben indul
+ktszint rettsgire felkszt kpzseirl</h2>
+
+<ol>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=1">Ajnls</a></li>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=2">Bevezet: A meghirdetett osztlyok</a></li>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=3">A hat vfolyamos kpzs</a></li>
+ <ol>
+ <li>ltalnos tudnivalk</li>
+ <li>A felvteli eljrs rendje</li>
+ <li>A felvteli eljrs szablyai</li>
+ <li>Kvetelmnyek</li>
+ </ol>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=4">A ngy vfolyamos kpzs</a></li>
+ <ol>
+ <li>ltalnos tudnivalk</li>
+ <li>A felvteli eljrs rendje</li>
+ <li>A felvteli eljrs szablyai</li>
+ <li>Kvetelmnyek</li>
+ </ol>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=5">A jelentkezsi lapok kitltse</a></li>
+ <li>Fggelk: <a href="/print/FT2004.pdf">az egsz tjkoztat PDF formtumban (nyomtatshoz)</a></li>
+</ul> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/1.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/1.html
new file mode 100644
index 00000000..91031f44
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/1.html
@@ -0,0 +1,14 @@
+<h1>1. Ajnls</h1>
+<h2>Tisztelt Szlk!<br/>Kedves Leend Vrosmajori Dikok!</h2>
+
+<p>Szeretnm nhny szval figyelmkbe ajnlani iskolnkat. A Vrosmajori Gimnzium fiatal iskola, mgis az elmlt tizent v alatt szp eredmnyeivel, kedvez lehetsgeivel npszer, kere-sett intzmnny fejldtt. Mi, akik sokat munklkodtunk a gimnzium jelenlegi sznvonalnak kialaktsban, nagyon szerencssnek rezzk magunkat. Nhny fontos tnyez hozzjrul helyze-tnk megszilrdtshoz. Egy park veszi krl az iskolnkat, kellemes krnyezetet biztostva. pletnk korszer, ltvnyos s ugyanakkor arnyait tekintve bartsgos mret. Munknkat az orszgos tlagot meghalad taneszkz felszereltsg segti. Tantestletnk vegyes korosztly, tlagt tekintve mgis fiatal vagy kzpkor. Tanraink tbbsge szakmailag jl felkszlt, szemlletk gyermekkzpont, a dikok gondjaival szemben megrt. A soksznsg az iskola programjnak megfogalmazsakor kzponti szervezelv volt.</p>
+<p>Szeretnnk megoldani azt, hogy a mi iskolnkba jr tanulk ne csupn hasznos ismeretek-kel gazdagodva tltsk el gimnziumi veiket, hanem esemnyekben, diklmnyekben, programokban gazdag dikkort is maguknak mondhassanak. Szeretnnk, ha hasonl ragaszkodssal, bszkesggel gondolnnak itteni veikre, mint ahogy mi ktdnk ehhez az iskolhoz, s bszklkednk eredmnyeinkkel.</p>
+<p>Kvncsiak vagyunk arra, hogy tanulink hogyan vlekednek iskolnkrl, kpzsi rendsze-rnk mennyiben nyjt szmukra hasznosthat s a tovbbtanuls tekintetben is lnyeges ismereteket.</p>
+<p>Mr vek ta a figyelmnk kzppontjban ll a ktszint rettsgire trtn felkszts. C-lunk, hogy . a tanulk ignyeivel sszhangban . minl tbb tantrgybl emeltszint felksztst nyjthassunk; elkpzelsnk szerint vizsgakzpontknt: ms kzpiskola dikjai, valamint vendghallgatk szmra is. Ez mr a tavalyi tanvben is gy mkdtt.</p>
+<p>Nem azt tartjuk fontosnak, hogy rtkeink rszletes bemutatsval ajnljuk a Vrosmajori Gimnziumot az ide plyzknak, hanem arra krnk mindenkit, hogy dikjainkat krdezzk, s t-lk szerezzenek informcit rlunk. (Ha tanulink tbbsge negatv kpet festene iskolnkrl, min-denkppen vltoztatnunk kell mkdsnkn.)</p>
+<p>Felfogsunk alapja a partneri viszony, s szeretnnk, hogy aki minket vlaszt, egyben isko-lnk jvjnek alaktsra is igent mondjon. Szmtunk az irntunk rdekldk vlemnyre.</p>
+<p>Ksznjk rdekldsket!</p>
+<p>Budapest, 2005. oktber 29.</p>
+<p> Szebedy Tas
+ igazgat</p>
+ \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/2.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/2.html
new file mode 100644
index 00000000..cd46216a
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/2.html
@@ -0,0 +1,5 @@
+<h1>2. Bevezet. A meghirdetett osztlyok</h1>
+<h2>Bevezets</h2>
+
+<p>Iskolnk, a Vrosmajori Gimnzium kilencedik ve vegyes kpzsi rendben vgzi a dikok oktat-st. Ahogy mr vek ta, a 2006-2007-es tanvben is kt-kt prhuzamos osztlyt indtunk a hatosz-tlyos s a ngyosztlyos kpzsben rsztvevk szmra. Iskolnkba teht az ltalnos iskolk hato-dik, illetve nyolcadik osztlyt vgz tanulk jelentkezst vrjuk. A jelentkezsnek nem felttele, mgis elssorban azok jelentkezst vrjuk (s javasoljuk), akiknek a megjellt vvgi s flvi bizonytvnyok alapjn . az ltalunk krt tantrgyakbl . a tanulmnyi tlaga elri az elrt mini-mumot, azaz a jelentkez hatodikosoknl legalbb 4,2-t a nyolcadikosoknl legalbb 4,0-t. Az el-mlt idszak tapasztalatai alapjn, a gyengbb bizonytvnnyal rkez tanulk felvtelre minimlis eslyt ltunk.</p>
+<p>A Vrosmajori Gimnzium programjnak nem szerves rsze a tizedik vfolyam vgi alapvizsga. Alapvizsgt csak abban az esetben szervez az iskola, ha valamely tanul a tovbbtanulsa rdek-ben, a trvnyben elrt mdon jelzi, hogy alapvizsgt kvn tenni.</p>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/3.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/3.html
new file mode 100644
index 00000000..e1e16389
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/3.html
@@ -0,0 +1,28 @@
+<h1>3. A hat vfolyamos kpzs</h1>
+<p>A Vrosmajori Gimnzium a 2006-2007-es tanvben az ltalnos iskolk 6. osztlyos tanuli szmra felvtelt hirdet.</p>
+
+<h2>3.1. ltalnos tudnivalk</h2>
+<p>
+Ebben a rendszerben kt osztly fog indulni a kvetkez tanvben:
+<table class="tagozat" align="center" cellpadding="5">
+<tr><th>Az osztly jele</th><th>Kdja</th><th>tpusa</th><th>1. idegen nyelv</th><th>2. idegen nyelv</th></tr>
+<tr><td>7.A</td><td>01</td><td>Kerettantervi egyedi</td><td>angol nyelv<br />4ra/ht</td><td>latin</td></tr>
+<tr><td>7.B</td><td>02</td><td>Kerettantervi egyedi</td><td>nmet nyelv<br/>4ra/ht</td><td>latin</td></tr>
+</table>
+</p>
+
+<p>A latin nyelvi alapozs 7-8. vfolyamon ktelez, majd a tanulk a harmadik vtl vlaszthatnak msodik idegen nyelvet. A msodik idegen nyelv tantsa . br igyeksznk a tanuli s szli ignyeket kielgteni . az iskola lehetsgei, ajnlata s beosztsa szerint trtnik. (Eddigi gyakorlatunk szerint angol, francia, japn, latin, nmet, olasz, orosz nyelvek kzl vlaszthattak a dikok). A kpzs ismertetse (A Vrosmajori Gimnzium Sokprofil Pedaggiai programja) rszletesen olvashat a .Vrosmajori Gimnzium rtestje. cm kiadvnyunkban, mely az iskola knyvtrban tekinthet meg.</p>
+<p>A 11. vfolyamtl a tanulk vlasztsi lehetsge kitgul, azaz megtehetik, hogy a vrhat egyetemi felvteli trgyaikat, illetve az ket legjobban rdekl fakultatv rkat ltogassk a ktelezen tanuland tanrk mellett. Nyolc vlaszthat ra szabad svban az emeltszint rettsgi kvetelmnyei szerint vlaszthat ekkor, az 1997-ben elfogadott s 2000-ben mdostott GV (Gimnziumi rettsgi Vizsgaszablyzat) elrsainak megfelelen.</p>
+<p>A tbbszr mdostott 1993. vi XXXIII. Kzoktatsi Trvny, tovbb a 11/1994.(VI.8.) MKM rendelet (20.) alapjn a vlasztott trgyakat a vlaszts utn ugyangy kell kezelni, mint a ktelezen elrtakat, teht osztlyzat szerzse s az rk ltogatsa ktelez.</p>
+<p>Az elmlt vekben a hat vfolyamos kpzs vgre nmet nyelvbl a programunkban komoly tanulssal rszt vev tanulinkat felksztettk a Tartomnyi Kultuszminiszterek Konferencija ltal szervezett Nmet Nyelvi Diplomavizsgra (DSD), amely a nmet nyelvterleten folytatand felsfok tanulmnyok vgzshez alapfelttel. Honosts utn ez a vizsga megfelel a magyarorszgi .C. tpus felsfok llami nyelvvizsgnak.</p>
+
+<h2>3.2. A hatosztlyos felvteli eljrs egyedi szablyai</h2>
+<p>A minisztrium ltal elksztett, kzponti vizsgateszttel elltott gimnziumokban a felvteli vizsga egy idben trtnik, egysgesen 2006. janur 27-n 1400 rai kezdettel.</p>
+<p>Egy tanul tbb klnbz helyre adhatja be jelentkezsi lapjt. Az gyintzsbe nem felttlenl szksges az ltalnos iskola bevonsa; az egyni gyintzs ebben az esetben lehetsges!</p>
+<p>Mivel a felvtelt elssorban a tanulmnyi eredmnyek vizsglathoz kell ktnnk, a felvteli dntsnl els lpsknt . az ltalunk megjellt tantrgyakbl szmtott . tanulmnyi tlag alapjn rangsoroljuk a tanulkat.</p>
+<p>Az ltalunk figyelembe vett t tantrgy: magyar irodalom, nyelvtan, trtnelem, matematika s egy idegen nyelv. Az tlagszmtst az 5. vgn s 6. flvkor megszerzett rdemjegyekkel vgezzk el.</p>
+<p>Minden hozznk jelentkez hatodikosnak rszt kell vennie a kzponti szervezs, rsbeli vizsgn. Az rsbeli dolgozatok eredmnye s a kezdeti rangsor egyttesen hatrozzk meg a sorrendet. A felvteli eljrst szksg esetn szbeli meghallgats is kiegsztheti.</p>
+
+<h2>3.3. Kvetelmnyek</h2>
+<p>A kzponti rsbeli feladatok - az elz vek tapasztalatai alapjn - nem az ltalnos iskolai tananyag lexiklis tudst, hanem a szvegrtst, fantzit, kombincis kszsget, koncentrl kpessget, tletessget kvnjk mrni.</p>
+<p>Az (esetleges) szbeli matematikbl a matematikai gondolkodsmd vizsglatt clozza; kiemelten a j szmolsi kszsget s a logikai, gondolkoztat feladatok tlagos megoldst vizsgljuk s vrjuk el.</p>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/4.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/4.html
new file mode 100644
index 00000000..d80cda4b
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/4.html
@@ -0,0 +1,94 @@
+<h1>4. A ngy vfolyamos kpzs</h1>
+
+<p> A Vrosmajori Gimnzium a 2006-2007-es tanvben az ltalnos iskolk 8. osztlyos tanuli szmra felvtelt hirdet.</p>
+
+<h2>4.1. ltalnos tudnivalk</h2>
+<p>Ebben a rendszerben kt osztly fog indulni a kvetkez tanvben:
+
+<table align="center" class="tagozat" style="width:80%">
+<tr><th>Az osztly jele</th><th>Kdja</th><th>Tpusa</th><th>1. idegen nyelv</th><th>2. idegen nyelv</th></tr>
+<tr>
+ <td>9.C fl osztly nek</td>
+ <td>03</td>
+ <td>Kerettanterv specilis</td>
+ <td>olasz nyelv 4ra/ht</td>
+ <td rowspan="4">Az 1. nyelvtl klnbz: angol, francia, japn, latin, nmet, olasz vagy orosz 3 s 4 ra/ht</td>
+</tr>
+<tr>
+ <td>9.C fl osztly humn</td>
+ <td>04</td>
+ <td>Kerettantervi egyedi</td>
+ <td>nmet nyelv
+ 4ra/ht</td>
+</tr>
+<tr>
+ <td>9.D fl osztly matematika</td>
+ <td>05</td>
+ <td>Kerettantervi egyedi</td>
+ <td>angol nyelv 4ra/ht </td>
+</tr>
+<tr>
+ <td>9.D fl osztly szmtstechnika</td>
+ <td>06</td>
+ <td>Kerettantervi egyedi</td>
+ <td>angol nyelv 4ra/ht</td>
+</tr>
+</table>
+</p>
+
+<p>Az iskolnkba felvett 8. osztlyt vgzett tanulk ngy vig az adott egyedi tanterv osztlyban folytatjk tanulmnyaikat, a harmadik vben azonban lehetsgk nylik arra, hogy (a 11-12. vfolyamra) az iskola ltal meghirdetett tantervi program alapjn vlaszthassanak tovbbi tantrgyakat rdekldsk alakulsa szerint. gy termszetesen megtehetik, hogy a tovbbtanulsi szndkuknak megfelel, az azokhoz kapcsold fakultatv rkat vesznek fel, mg abban az esetben is, ha ez gykeresen ms irnyultsg, mint a kezdeti tagozatuk. A tbbszr mdostott 1993. vi XXXIII. Kzoktatsi Trvny, tovbb a 11/1994.(VI.8.) MKM rendelet (20.) alapjn a vlasztott trgyakat a vlaszts utn ugyangy kell kezelni, mint a ktelezen elrtakat, teht osztlyzat szerzse s az rk ltogatsa ktelez.</p>
+<p>A kerettanterv szerinti egyedi tanterv kpzsben az idegen nyelvek kzl az els az egyedi tantervvel meghatrozott, a msodik nyelv tantsa beoszts alapjn, az iskola lehetsgei szerint trtnik. Ezrt sajt rdekkben tbb nyelvet jelljenek meg a jelentkezk, lehetleg olyan sorrendben, amilyen sorrendben szeretnk, hogy figyelembe vegyk kvnsgukat. Ennek szem eltt tartsval igyeksznk a csoportokat elosztani. Mivel tanraink ltszma kttt, elfordulhat, hogy minden krs kielgtsre nem lesz mdunk. Aki sajt beltsa alapjn csak egyetlen idegen nyelvet jell meg msodik nyelvknt, azt a kockzatot vllalja, hogy krse csoportszervezsi nehzsg esetn nem teljesl. A kpzs ismertetse (A Vrosmajori Gimnzium Sokprofil Pedaggiai Programja) rszletesen olvashat a .Vrosmajori Gimnzium rtestje. cm kiadvnyunkban, mely az iskola knyvtrban megtekinthet. </p>
+
+
+<h3> nek-zene</h3>
+<p>Az nek-zene kpzs programjban arnyosan szerepel a szolfzs, npzene, zenetrtnet s sszhangzattan. A zenei kpzs clkitzse, hogy a tanulk . a zenei rs-olvass tkletestse mellett . dallamrst is tanuljanak, tbbszlam idzeteket tudjanak lerni s a ngy v alatt szznl is tbb npdalt legyenek kpesek kifejezen eladni. Zenetrtneti tanulmnyaik sorn keresztmetszetet kapnak az si zentl egszen a XX. szzadi zenig.</p>
+<p>Iskolnk elvrsa, hogy a zenei kpzsben rsztvev tanulk valamelyik iskolai krusban aktvan rszt vegyenek. A legkivlbb hangkpzssel rendelkez lnyok lehetsget kaphatnak az Angelica lenykarban val szereplsre.</p>
+
+
+
+<h3> Humn</h3>
+<p>A humn tagozat j prblkozs iskolnkban, br kifejezetten magyar tagozatunk tbb is indult az elmlt vtizedben. Ebben a csoportban a legfontosabb clunk a magas sznvonal, ltalnos humn mveltsg kialaktsa, a mvszeti ismeretek alapjainak elsajttatsa s a mvszettrtnet bemutatsa a XX. szzaddal bezrlag. Clunk az emelt szint rettsgire val felkszts is. Kiemelt szempontnak tartjuk a gyerekek humn rtelmisgi nevelst. Mivel az rk kis csoportban folynak, lehetsg nylik a mvszetekrl, irodalomrl val elmlylt beszlgetsre, vitra, egynre szabott feladatokra s a tehetsggondozsra is.</p>
+
+<h3> Matematika</h3>
+<p>Matematika emeltszint csoportot minden vben indtunk. A jelentkezk risi arnya vrl-vre visszaigazolja a kpzs npszersgt. Sz sincs a hagyomnyos matematika tagozatrl (br szhasznlatunkban sokszor gy fejezzk ki magunkat): a tananyag gyakorlatilag megegyezik a tbbi csoportval, de a 9-10. vfolyamon kapott kt-kt tbbletra nagyobb elmlylsre, tbb gyakorlsra s rdekes rszterletek bemutatsra is lehetsget biztost. Mindazoknak ajnljuk, akik ugyan nem .matekzsenik., de szvesen foglalkoznak ezzel a ktsgkvl fontos tantrggyal.</p>
+<p>Az emelt szint osztly clja a tehetsggondozs s a kpessgfejleszts. Szeretnnk bemutatni a kzpiskolai tananyag szleskr alkalmazsi lehetsgt a klnbz tudomnygakban s a mindennapi letben; treksznk az nkpzs ignynek felkeltsre; felksztjk a tanulkat a sikeres felsfok tanulmnyokra s fejleszteni szeretnnk a koncentrlt teljestmnyre, a matematikai gondolkozsra, a modellalkotsra val kpessgket.</p>
+
+<h3> Szmtstechnika</h3>
+<p>Ez a tagozat is hagyomnyokkal rendelkez kpzsi forma. Azoknak a tanulknak javasoljuk, akik nem elgednek meg az informatika kszsgszint hasznlatval, hanem komolyan rdekldnek az informatikai rendszerek, a szmtgp hlzatok mkdse, a WEBes alkalmazsfejleszts s a programozs utn vagy esetleg ebben az irnyban szeretnnek tovbbtanulni. A ngy v sorn lehetv vlik minden (emeltszint) rettsgi tmakr rszletes megismerse, az egyes tmakrkhz kapcsold gyakorlatok elvgzse.</p>
+
+<h2> 4.2. A ngyosztlyos felvteli eljrs egyedi szablyai</h2>
+<p>A minisztrium ltal elksztett, kzponti vizsgateszttel elltott gimnziumokban a felvteli vizsga egy idben trtnik, egysgesen 2005. janur 28-n 1000 rai kezdettel.</p>
+<p>Egy tanul tbb klnbz helyre adhatja be jelentkezsi lapjt, az ltalnos iskoln keresztl. </p>
+<p>Mivel a felvtelt elssorban a tanulmnyi eredmnyek vizsglathoz kell ktnnk, a felvteli dntsnl els lpsknt . az ltalunk megjellt tantrgyakbl szmtott . tanulmnyi tlag alapjn rangsoroljuk a tanulkat.</p>
+<p>Az ltalunk figyelembe vett hat tantrgy: magyar irodalom, nyelvtan, trtnelem, matematika, fizika s egy idegen nyelv. Az tlagszmtst az tdik, hatodik, hetedik osztly vgn s a nyolcadik osztlyban flvkor megszerzett rdemjegyekkel vgezzk el.</p>
+<p>A gimnziumi felvtelket kr tanulk elbrlsa az elrt tlageredmny s a magyar, matematika rsbeli felvteli vizsga (ill. az nek-zene csoport esetben a kpessgvizsga) alapjn trtnik. A felvteli eljrst szksg esetn szbeli meghallgats is kiegsztheti.</p>
+<p>Mindazoknak a tanulknak kpessgvizsgt is kell tennik, akik brmelyik helyen megjelltk az nek-zene tagozatot.</p>
+
+<h2> 4.3. Kvetelmnyek</h2>
+<p>Az rsbeli felvteli vizsga a magyar nyelvi s irodalmi, illetve a matematika tanulmnyokhoz kapcsolhat feladatokbl ll. A feladatok, amelyeket a tanulknak meg kell oldaniuk, vrhatan nem az ltalnos iskola ltal tantott anyag ismeretnek fellvizsglatt szolgljk. Az ismeretek szintjt s mennyisgt megnyugtat mdon igazoljk az ltalnos iskolai osztlyzatok.</p>
+<p>A felvteli vizsga keretben megoldand feladatok a tanul gondolkodsmdjnak fejlettsgt s a kifejezkszsgt vizsgljk. Azt szeretnnk megtudni, mennyire kpes a tanultakat nllan alkalmazni, mennyire tud s mer kvetkeztetseket levonni, mennyire tudja a levont kvetkeztetseket rsban megfogalmazni, s mindezt milyen pontosan s helyesen.</p>
+<p>Idegen nyelvi felvteli nincs. A nyelvi egyedi tanterv osztlyokra val beosztsnl a szintek szerinti bontst utlagos szintmrssel dntjk el. (Ez a gyakorlat egyedl a C osztly nmet nyelvi beosztsban jelenthet tnyleges problmt.)</p>
+
+<h3> nek-zene (specilis tanterv) tanulcsoport</h3>
+<pre>
+ A kpessgvizsga rsbeli s szbeli rszbl ll.
+ 1. Az rsbeli vizsga kvetelmnyei:
+ 1.1. Diktand: Peridusnyi dallam halls utn trtn lejegyzse
+ 1.2. Tz hrmashangzat (dr-moll s fordtsai) diktls utni lejegyzse
+ 1.3. Ismert npdal valamely sornak emlkezetbl, adott hangmagassgon trtn lejegyzse
+ 2. A szbeli vizsga kvetelmnyei:
+ 2.1. Tanult hangszeren kt egymstl eltr stlus m bemutatsa
+ 2.2. Blattols (8 temes klasszikus idzet)
+ 2.3. t npdal kifejez neklse (legyenek ms-ms karakterek: parlando-giusto)
+</pre>
+
+<h3> Humn tanulcsoport</h3>
+<p>Klns figyelmet fordtunk az rt szvegolvassra, a kritikus gondolkodsra, a megfelel szbeli s rsbeli kommunikcira. Fontosnak tartjuk a tanulk absztrakcis kpessgt, fantzijnak fejlettsgt s a nyitottsgot a kzs munkra.</p>
+
+<h3> Matematika tanulcsoport</h3>
+<p>A matematikai gondolkodsmd s a bizonytsi igny, amit fontosabbnak tartunk ebben a csoportban a tbbinl. A szmonkrs kizrlag az ltalnos iskolai tananyagot leli fel; kiemelten kezelve a szmolsi kszsget, a szvegrtst, lnyegkiemelst, az egyszer geometriai problmk megoldst illetve az egyszer egyenletek, egyenltlensgek megoldst.</p>
+
+<h3> Szmtstechnika tanulcsoport</h3>
+<p>Az esetleges meghallgatson elssorban nem lexiklis ismereteket krnk szmon, hanem a tanul szmtstechnika irnti rdekldst s az j ismeretek befogadsra val nyitottsgt vizsgljuk. A feladatok elzetes tanulmnyok nlkl (.jzan paraszti sszel.) is megoldhatak, br ersen kapcsoldnak az egyszer programozsi ismeretekhez. Sok feladatnl elnyt jelenthet az ltalnos iskolkban sok helyen tantott Comenius Logo programozsi nyelv ismerete.</p>
+<p>Tovbbi elny, ha a jelentkez alapos hardverismeretekkel rendelkezik, illetve ha felhasznlknt jl hasznlja a szmtgpet (termszetesen nem csak jtkra).</p>
+
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/5.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/5.html
new file mode 100644
index 00000000..caf6ee16
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/5.html
@@ -0,0 +1,27 @@
+<h1>5. A felvteli eljrs (mindenkire vonatkoz) szablyai</h1>
+<p>Az iskola igazgatja 2005. november 21-n (htfn) 18.00 rakor tjkoztat rtekezletet tart a felvteli eljrs rendjrl.</p>
+<p>A felvteli eljrs szablyait az Oktatsi Minisztrium rendelete szablyozza.</p>
+<p>Mivel az elmlt hrom vben az iskolnkba felvtelizni kvn tanulk szma sokszoros tljelentkezst mutatott, rszt vesznk a kzpontilag szervezett rsbeli vizsgval trtn felvteliztetsben.</p>
+<p>Az rsbeli vizsgra a plyz tanulnak 2005. december 09-ig kzvetlenl az iskolban kell jelentkeznie, melyhez a jelentkezsi lap november 30-tl az iskola portjn krhet.</p>
+<p>A felvteli vizsgk idpontjrl kln rtestst nem kldnk! Mivel a felvteli feladatlapok azonosak s a feladatlapok javtsa is egysgesen trtnik, iskolnk az eredmnyek kihirdetse utn ugyangy mrlegeli a mshol rt, de hozznk jelentkez tanulk eredmnyeit, mint azokt, akik gimnziumunkban vizsgztak.</p>
+<p>A rendelet lehetv teszi, hogy aki (betegsg vagy egyb, a tanul hibjn kvl ll, mltnyolhat okbl) nem tudott rszt venni a kzponti felvtelin, ugyancsak kzponti, ptllagos dolgozat megrsval tegyen felvteli vizsgt. Egy jelentkez azonban semmikppen sem rhat ktszer felvteli feladatsort.</p>
+<p>ppen a ktszeri vizsgzs elkerlsnek cljbl, a rendelet szerint, a ptdolgozatot is csak abban az iskolban rhatjk meg a tanulk, ahov decemberben az rsbeli vizsgra bejelentkeztek.</p>
+<p>A dolgozatot r felvtelizk mg a jelentkezsi hatrid eltt, 2006. februr 10-ig megtudjk az rsbeli vizsga eredmnyeit a gimnzium auljban kifggesztett sszestsekbl. A tanul, illetve a szl krsre, az iskola hivatalos igazolst ad ki a plyz elrt pontszmrl, amely igazolssal az esetleges msik gimnziumokban is fogadni tudjk a felvteliz jelentkezst.</p>
+<p>A rendes felvteli eljrsra trtn jelentkezs hatrideje: 2005. februr 17. Azoknak a tanulknak, akik ms helyen rtk az rsbeli dolgozatot, a jelentkezsi lappal egytt le kell adniuk az eredmnyekrl szl igazolst is!</p>
+<p>A hozznk jelentkez tanulkat az elz fejezetekben lert mdokon rangsoroljuk.</p>
+<p>A felvteli eljrst szksg esetn szbeli meghallgats is kiegsztheti.</p>
+<p>A szbeli szksgessgrl s mdjrl (a jelentkezsek utn, azaz februr 20. krl) az iskola igazgatja dnt. Az esetleges szbelikre csak az adott rangsorban egy adott eredmnyt elr tanulkat hvjuk be. A konkrt dntsrl s idpontokrl az iskola auljban kifggesztett tjkoztatban ill. az iskola honlapjn lehet tjkozdni. Az esetleges szbelirl (a behvs idpontjrl) szemlyes rtestst nem kldnk!</p>
+<p>Amennyiben kt jelentkez sszestett eredmnye kzel azonos (maximum 2% a klnbsg), az iskola elnyben rszestheti a XII. kerleti lland lakcmmel rendelkez plyzt.</p>
+<p>Az iskola 2006. prilis 21-ig megkapja az Orszgos Kzoktatsi rtkelsi s Vizsgakzponttl (OKV) a felvteli sorn kialakult vgleges rangsort. Az OKV visszajelzse alapjn az iskola igazgatja 2006. prilis vgig a felvtelre jelentkez tanulval ill. gondviseljvel a felvteli eredmnyt rsban (levlben) kzli. Az eredmnyek vgleges kihirdetse eltt sem rsban, sem szban, sem telefonon nem tudunk tjkoztatst adni az eredmnyekrl.</p>
+<p>A vgleges felvteli eredmnyek (osztlynvsorok) vrhatan 2006. prilis vgig kerlnek nyilvnossgra.</p>
+<p>A tanulk felvtele az igazgat hatskre, minden egyes tanul felvtelrl az igazgat dnt.</p>
+<p>A dnts ellen a felvteliz vagy . kiskor jelentkez esetn . a szl a Kzoktatsi Trvny 83.-nak (2) bekezdse szerint jogorvoslati krelemmel lhet.</p>
+
+
+
+<h2>5.1. A felvteli pontrendszer</h2>
+<p>A felvteliz eredmnyt minden lpsben normljuk, azaz a felvteli eljrs sorn mindig szzalkos eredmnyt szmolunk (mintha minden llsig 100 pontot lehetett volna szerezni). Ebbl a logikbl kvetkezik, hogy az aktulis eredmny tbb is s kevesebb is lehet az elzeknl (teht nem arrl van sz, hogy a kapott pontok egyszeren sszeaddnak)</p>
+<p>Minden tagozaton kln-kln nyilvntartjuk a jelentkezket, teht mindenki annyi listn fog szerepelni, ahny kdot a jelentkezskor megjellt.</p>
+<p>Az els rangsorban hsz pontot kaphat a jelentkez a hozott tanulmnyi tlagra (4,0 = 0 pont, 5,0 = 20 pont . linerisan); a hibtlan magyar s matematika dolgozat pedig 40-40 pontot r (szintn linerisan pontozva az elrt pontokbl).</p>
+<p>Szbeli meghallgats esetn, a szbeliken harminc pontot lehet szerezni.</p>
+<p>Eltr szably rvnyes az nek-zene csoportra, ahol a kzponti rsbeli eredmnyek mindssze 25-25 pontot rnek, az nek-zene rsbeli s szbeli pedig maximum 18 s 12 pontot r.</p>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/6.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/6.html
new file mode 100644
index 00000000..278812ad
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/6.html
@@ -0,0 +1,11 @@
+<h1>6. A jelentkezsi lapok kitltse</h1>
+<p>A Vrosmajori Gimnzium azonost szma: 035242</p>
+<p>Az iskola (Vrosmajori Gimnzium) megjellse mellett meg kell jellni azt a tanulcsoportot is, amelyikre a tanul felvtelt kri gy.</p>
+<p>Kln felhvjuk a figyelmet, hogy a jelentkezsi lapon . a megfelel sorrendben . az sszes tagozatot jelljk meg, amelyet el tudnnak fogadni a gimnzium knlatbl, mert gyermekket esetleg . mg ha meg is felel a felvteli kvetelmnyeknek . ennek elmulasztsa miatt nem tudjuk ms tagozatra tirnytani.</p>
+<p>Msodik idegen nyelvknt krjk, . sorrendben . tbb nyelvet is jelljenek meg. A nyelvi csoportbeoszts mrlegelst a tbb idegen nyelvet megjellkkel kezdjk. Ha egyetlen nyelvet jellnek meg, akkor a tanult a ltszmkeret lehetsgei szerint egyszeren beosztjuk.</p>
+<p>A tanulk nyelvi csoportokba val beosztsa . a trvnyi elrs szerint . az iskola feladata. A pontosan kitlttt jelentkezsi lappal segthetik a beosztst, azonban a krs teljestsre garancit nem vllalhatunk.</p>
+<p>A gondvisel elnevezsnl s cmnl krjk, hogy azt a nevet s cmet adjk meg, ahova a felvteli eredmny postzst krik, mert szmos flrertst, felesleges kltsget elzhetnek meg ezzel.</p>
+<p>Felhvjuk a figyelmet arra is, hogy csak szablyosan kitlttt jelentkezsi lapot tudunk elfogadni.</p>
+<p>Tisztban vagyunk azzal, hogy a szlk szmra nagy gondot jelent annak eldntse, hogy hova adjk be els helyen jelentkezsket. Az elz vekben iskolnk irnt nagy rdekldst mutattak a jelentkezk (a 2005. vi felvtelin kzel tszrs volt a tljelentkezs), ezrt clszer iskolnkat az els helyre berni.</p>
+<p>A titkrsg gyintzsi ideje htkznaponknt 13:30-15:30. Az gyintzsi idn kvl, illetve 2006. februr 17. dlutn 15:30 utn tovbbi jelentkezst nem ll mdunkban elfogadni.</p>
+<p>Budapest, 2005. oktber 29.</p> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/tartalom.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/tartalom.html
new file mode 100644
index 00000000..92c64f74
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20062007/tartalom.html
@@ -0,0 +1,23 @@
+<h1>A Vrosmajori Gimnzium felvteli tjkoztatja</h1>
+<h2>a 2006-2007-es tanvben indul
+ktszint rettsgire felkszt kpzseirl</h2>
+
+<ol>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=1">Ajnls</a></li>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=2">Bevezet: A meghirdetett osztlyok</a></li>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=3">A hat vfolyamos kpzs</a></li>
+ <ol>
+ <li>ltalnos tudnivalk</li>
+ <li>A hatosztlyos felvteli eljrs egyedi szablyai</li>
+ <li>Kvetelmnyek</li>
+ </ol>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=4">A ngy vfolyamos kpzs</a></li>
+ <ol>
+ <li>ltalnos tudnivalk</li>
+ <li>A ngyosztlyos felvteli eljrs egyedi szablyai</li>
+ <li>Kvetelmnyek</li>
+ </ol>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=5">A felvteli eljrs mindenkire vonatkoz szablyai</a></li>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=6">A jelentkezsi lapok kitltse</a></li>
+ <li>Fggelk: <a href="/print/FT2005.pdf">az egsz tjkoztat PDF formtumban (nyomtatshoz)</a></li>
+</ul> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/1.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/1.html
new file mode 100644
index 00000000..70bbee0d
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/1.html
@@ -0,0 +1,50 @@
+<h1>Ajnls</h1>
+<h2>Tisztelt Szlk! Kedves Leend Vrosmajori Dikok!</h2>
+<p>Szeretnm nhny szval figyelmkbe ajnlani iskolnkat.
+A Vrosmajori Gimnzium fiatal iskola, mgis az elmlt tizenht v alatt szp
+eredmnyeivel, kedvez lehetsgeivel npszer, keresett intzmnny fejldtt.
+Mi, akik sokat munklkodtunk a gimnzium jelenlegi sznvonalnak kialaktsban,
+nagyon szerencssnek rezzk magunkat. Nhny fontos tnyez jrul hozz
+helyzetnk megszilrdtshoz. Egy park veszi krl az iskolnkat, kellemes
+krnyezetet biztostva. pletnk korszer, ltvnyos s ugyanakkor arnyait tekintve
+bartsgos mret. Munknkat az orszgos tlagot meghalad taneszkz felszereltsg
+segti. Tantestletnk vegyes korosztly, tlagt tekintve fiatal vagy
+kzpkor. Tanraink tbbsge szakmailag jl felkszlt, szemlletk gyermekkzpont,
+a dikok gondjaival szemben megrt. A soksznsg az iskola programjnak
+megfogalmazsakor kzponti szervezelv volt.</p>
+
+<p>Szeretnnk megoldani, hogy a mi iskolnkba jr tanulk ne csupn hasznos
+ismeretekkel gazdagodva tltsk el gimnziumi veiket, hanem esemnyekben,
+diklmnyekben, programokban gazdag dikkort is maguknak mondhassanak.
+Szeretnnk, ha hasonl ragaszkodssal, bszkesggel gondolnnak itteni veikre,
+mint ahogy mi ktdnk ehhez az iskolhoz, s bszklkednk eredmnyeinkkel.
+</p>
+
+<p>Kvncsiak vagyunk arra, hogy tanulink hogyan vlekednek iskolnkrl,
+kpzsi rendszernk mennyiben nyjt szmukra hasznosthat s a tovbbtanuls
+tekintetben is lnyeges ismereteket.
+</p>
+
+<p>Mr vek ta a figyelmnk kzppontjban ll a ktszint rettsgire
+trtn felkszts. Clunk, hogy - a tanulk ignyeivel sszhangban - minl
+tbb tantrgybl emeltszint felksztst nyjthassunk; elkpzelsnk szerint
+vizsgakzpontknt: ms kzpiskola dikjai, valamint vendghallgatk szmra is.
+Ez mr a tavalyi tanvben is gy mkdtt.
+</p>
+
+<p>Nem azt tartjuk fontosnak, hogy rtkeink rszletes bemutatsval ajnljuk a
+Vrosmajori Gimnziumot az ide plyzknak, hanem arra krnk mindenkit,
+hogy dikjainkat krdezzk, s tlk szerezzenek informcit rlunk.
+(Ha tanulink tbbsge negatv kpet festene iskolnkrl, mindenkppen
+vltoztatnunk kell mkdsnkn.)
+</p>
+
+<p>Felfogsunk alapja a partneri viszony, s szeretnnk, hogy aki minket
+vlaszt, egyben iskolnk jvjnek alaktsra is igent mondjon. Szmtunk
+az irntunk rdekldk vlemnyre.
+</p>
+
+<p>Budapest, 2006. oktber 29.</p>
+<p> Szebedy Tas<br/>
+ igazgat</p>
+ \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/2.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/2.html
new file mode 100644
index 00000000..0ee07cc8
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/2.html
@@ -0,0 +1,23 @@
+<h1>2. Bevezet. A meghirdetett osztlyok</h1>
+<h2>Bevezets</h2>
+
+<p>Iskolnk, a Vrosmajori Gimnzium tizedik ve vegyes kpzsi rendben vgzi
+a dikok oktatst. Ahogy mr vek ta, a 2007-2008-as tanvben is elindtunk
+kt-kt prhuzamos osztlyt a hatosztlyos s a ngyosztlyos kpzsben
+rsztvevk szmra; m - korunk kihvsaira, a szlktl, tanulktl kapott
+jelzsekre reaglva s figyelembe vve a Minisztrium ajnlsait
+(ksrleti jelleggel) - egy nmet nyelvi elkszt osztlyt is meghirdetnk
+az rdekldk szmra. Iskolnkba teht az ltalnos iskolk hatodik,
+illetve nyolcadik osztlyt vgz tanulk jelentkezst vrjuk.
+A jelentkezsnek nem felttele, mgis elssorban azok jelentkezst vrjuk
+(s javasoljuk), akiknek a megjellt vvgi s flvi bizonytvnyok alapjn
+- az ltalunk krt tantrgyakbl - a tanulmnyi tlaga elri az elrt
+minimumot, azaz a jelentkez hatodikosoknl legalbb 4,2-t a nyolcadikosoknl
+legalbb 4,0-t. Az elmlt idszak tapasztalatai alapjn, a gyengbb
+bizonytvnnyal rkez tanulk felvtelre minimlis eslyt ltunk.
+</p>
+
+<p>A Vrosmajori Gimnzium programjnak nem szerves rsze a tizedik vfolyam
+vgi alapvizsga. Alapvizsgt csak abban az esetben szervez az iskola,
+ha valamely tanul a tovbbtanulsa rdekben, a trvnyben elrt mdon jelzi,
+hogy alapvizsgt kvn tenni.</p>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/3.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/3.html
new file mode 100644
index 00000000..4298df71
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/3.html
@@ -0,0 +1,80 @@
+<h1>3. A hatvfolyamos kpzs</h1>
+<p>A Vrosmajori Gimnzium a 2007-2008-as tanvben az ltalnos iskolk 6. osztlyos tanuli szmra felvtelt hirdet.</p>
+
+<h2>3.1. ltalnos tudnivalk</h2>
+
+<p>
+Ebben a rendszerben kt osztly indul a kvetkez tanvben:
+<table class="tagozat" align="center" cellpadding="5">
+<tr><th>Az osztly jele</th><th>Kdja</th><th>tpusa</th><th>1. idegen nyelv</th><th>2. idegen nyelv</th></tr>
+<tr><td>7.A</td><td>01</td><td>Kerettantervi egyedi</td><td>angol nyelv<br />4ra/ht</td><td>latin<br/>(2 vig)</td></tr>
+<tr><td>7.B</td><td>02</td><td>Kerettantervi egyedi</td><td>nmet nyelv<br/>4ra/ht</td><td>latin<br/>(2 vig)</td></tr>
+</table>
+</p>
+
+<p>A latin nyelvi alapozs 7-8. vfolyamon ktelez, majd a tanulk a harmadik
+vtl vlaszthatnak msodik idegen nyelvet. A msodik idegen nyelv tantsa
+- br igyeksznk a tanuli s szli ignyeket kielgteni - az iskola
+lehetsgei, ajnlata s beosztsa szerint trtnik. (Eddigi gyakorlatunk
+szerint angol, francia, japn, latin, nmet, olasz, orosz, spanyol nyelvek
+kzl vlaszthattak a dikok). A kpzs ismertetse (A Vrosmajori Gimnzium
+Sokprofil Pedaggiai programja) rszletesen olvashat a
+"Vrosmajori Gimnzium rtestje" cm kiadvnyunkban,
+mely az iskola knyvtrban tekinthet meg.</p>
+
+<p>A 11. vfolyamtl a tanulk vlasztsi lehetsge kitgul,
+azaz megtehetik, hogy a tervezett emeltszint rettsgi trgyaikat,
+illetve az ket legjobban rdekl fakultatv rkat ltogassk a ktelezen
+tanuland tanrk mellett. Nyolc vlaszthat ra szabad svban az emeltszint
+rettsgi kvetelmnyei szerint vlaszthat.</p>
+
+<p>A tbbszr mdostott 1993. vi XXXIII. Kzoktatsi Trvny,
+tovbb a 11/1994.(VI.8.) MKM rendelet (20.) alapjn a vlasztott trgyakat
+a vlaszts utn ugyangy kell kezelni, mint a ktelezen elrtakat, teht
+osztlyzat szerzse s az rk ltogatsa ktelez.</p>
+
+<p>Az elmlt vekben a hatvfolyamos kpzs vgre nmet nyelvbl a
+programunkban komoly tanulssal rszt vev tanulinkat felksztettk a
+Tartomnyi Kultuszminiszterek Konferencija ltal szervezett Nmet Nyelvi
+Diplomavizsgra (DSD), amely a nmet nyelvterleten folytatand felsfok
+tanulmnyok vgzshez alapfelttel. Honosts utn ez a vizsga megfelel a
+magyarorszgi C-tpus felsfok llami nyelvvizsgnak.</p>
+
+<h2>3.2. A hatosztlyos felvteli eljrs egyedi szablyai</h2>
+
+<p>A minisztrium ltal elksztett, kzponti vizsgateszttel elltott
+gimnziumokban a felvteli vizsga egy idben trtnik, egysgesen
+2007. janur 26-n 14<sup>00</sup> rai kezdettel.</p>
+
+<p>Egy tanul tbb klnbz helyre adhatja be jelentkezsi lapjt.
+Az gyintzsbe nem felttlenl szksges az ltalnos iskola bevonsa;
+az egyni gyintzs is lehetsges!</p>
+
+<p>Mivel a felvtelt elssorban a tanulmnyi eredmnyek vizsglathoz kell
+ktnnk, a felvteli dntsnl els lpsknt - az ltalunk megjellt
+tantrgyakbl szmtott - tanulmnyi tlag alapjn rangsoroljuk a tanulkat.</p>
+
+<p>Az ltalunk figyelembe vett t tantrgy:
+ magyar irodalom,
+ magyar nyelv,
+ trtnelem,
+ matematika s
+ egy idegen nyelv.
+ Az tlagszmtst az 5. vgn s 6. flvkor megszerzett rdemjegyekkel
+ vgezzk.</p>
+
+<p>Minden hozznk jelentkez hatodikosnak rszt kell vennie a kzponti
+szervezs rsbeli vizsgn. Az rsbeli dolgozatok eredmnye s a kezdeti
+rangsor egyttesen hatrozzk meg a sorrendet. A felvteli eljrst szksg
+esetn szbeli meghallgats is kiegsztheti.</p>
+
+<h2>3.3. Kvetelmnyek</h2>
+<p>A kzponti rsbeli feladatok - az elz vek tapasztalatai alapjn - nem
+az ltalnos iskolai tananyag lexiklis tudst, hanem a szvegrtst,
+fantzit, kombincis kszsget, koncentrl kpessget, tletessget kvnjk
+mrni.</p>
+
+<p>Az (esetleges) szbeli matematikbl a matematikai gondolkozsmd
+vizsglatt clozza; kiemelten a j szmolsi kszsget s a logikai,
+gondolkoztat feladatok tlagos megoldst vizsgljuk s vrjuk el.</p>
+
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/4.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/4.html
new file mode 100644
index 00000000..cb792016
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/4.html
@@ -0,0 +1,258 @@
+<h1>4. A ngy- s tvfolyamos kpzs</h1>
+<p> A Vrosmajori Gimnzium a 2007-2008-as tanvben az ltalnos iskolk 8. osztlyos tanuli szmra felvtelt hirdet.</p>
+
+<h2>4.1. A ngyvfolyamos kpzs</h2>
+
+<p>Ebben a rendszerben kt osztly indul a kvetkez tanvben:
+<table align="center" class="tagozat" style="width:80%">
+<tr><th>Az osztly jele</th><th>Kdja</th><th>Tpusa</th><th>1. idegen nyelv</th><th>2. idegen nyelv</th></tr>
+<tr>
+ <td>9.C fl osztly<br/>nek</td>
+ <td>03</td>
+ <td>Kerettanterv specilis</td>
+ <td>olasz nyelv<br/>4ra/ht</td>
+ <td rowspan="4">Az 1. nyelvtl klnbz: angol, francia, japn,
+ latin, nmet, olasz, orosz vagy spanyol 3 s 4 ra/ht</td>
+</tr>
+<tr>
+ <td>9.C fl osztly<br/>magyar</td>
+ <td>05</td>
+ <td>Kerettantervi egyedi</td>
+ <td>nmet nyelv<br/>
+ 4ra/ht</td>
+</tr>
+<tr>
+ <td>9.D fl osztly<br/>matematika</td>
+ <td>07</td>
+ <td>Kerettantervi egyedi</td>
+ <td>angol nyelv<br/>4ra/ht </td>
+</tr>
+<tr>
+ <td>9.D fl osztly<br/>biolgia</td>
+ <td>09</td>
+ <td>Kerettantervi egyedi</td>
+ <td>angol nyelv<br/>4ra/ht</td>
+</tr>
+</table>
+</p>
+
+<p>Az iskolnkba felvett 8. osztlyt vgzett tanulk ngy vig az adott egyedi tanterv osztlyban
+folytatjk tanulmnyaikat, a 11. vfolyamtl azonban lehetsgk nylik arra, hogy az iskola ltal meghirdetett tantervi
+program alapjn vlaszthassanak tovbbi tantrgyakat rdekldsk alakulsa szerint. gy termszetesen megtehetik, hogy a
+tovbbtanulsi szndkuknak megfelel, az azokhoz kapcsold fakultatv rkat vesznek fel, mg abban az esetben is, ha
+ez gykeresen ms irnyultsg, mint a kezdeti tagozatuk. A tbbszr mdostott 1993. vi XXXIII. Kzoktatsi Trvny,
+tovbb a 11/1994.(VI.8.) MKM rendelet (20.) alapjn a vlasztott trgyakat a vlaszts utn ugyangy kell kezelni, mint
+a ktelezen elrtakat, teht osztlyzat szerzse s az rk ltogatsa ktelez.</p>
+
+<p>A kerettanterv szerinti egyedi tanterv kpzsben az idegen nyelvek kzl az els az egyedi tantervvel meghatrozott,
+a msodik nyelv tantsa beoszts alapjn, az iskola lehetsgei szerint trtnik. Ez azt jelenti, hogy krjk, sajt
+rdekkben tbb nyelvet jelljenek meg a jelentkezk, lehetleg olyan sorrendben, amilyen sorrendben szeretnk, hogy
+figyelembe vegyk kvnsgukat. Ennek szem eltt tartsval igyeksznk a csoportokat elosztani. Mivel tanraink ltszma
+kttt, elfordulhat, hogy minden krs kielgtsre nem lesz mdunk. Aki sajt beltsa alapjn csak egyetlen idegen
+nyelvet jell meg msodik nyelvknt, azt a kockzatot vllalja, hogy krse csoportszervezsi nehzsg esetn nem teljesl.
+A kpzs ismertetse (A Vrosmajori Gimnzium Sokprofil Pedaggiai Programja) rszletesen olvashat
+a "Vrosmajori Gimnzium rtestje" cm kiadvnyunkban, mely az iskola knyvtrban megtekinthet.</p>
+
+<h3>nek-zene</h3>
+<p>Az nek-zene kpzs programjban arnyosan szerepel a szolfzs, a npzene, a zenetrtnet s az sszhangzattan.
+A zenei kpzs clkitzse, hogy a tanulk - a zenei rs-olvass tkletestse mellett - dallamrst is tanuljanak,
+tbbszlam idzeteket tudjanak lerni s a ngy v alatt szznl is tbb npdalt legyenek kpesek kifejezen eladni.
+Zenetrtneti tanulmnyaik sorn keresztmetszetet kapnak az si zentl egszen a XX. szzadi zenig.</p>
+
+<p>Iskolnk elvrsa, hogy a zenei kpzsben rsztvev tanulk valamelyik iskolai krusban aktvan rszt vegyenek.
+A legkivlbb hangkpzssel rendelkez lnyok lehetsget kaphatnak az Angelica lenykarban val szereplsre.</p>
+
+<h3>Magyar</h3>
+<p>A magyar tagozat legfontosabb clja az emelt szint rettsgire val felkszts. Kiemelt szempontnak tartjuk a
+gyerekek humn rtelmisgiv nevelst. Mivel az rk kis csoportban folynak, lehetsg nylik a mvszetekrl,
+irodalomrl val elmlylt beszlgetsre, vitra, egynre szabott feladatokra, tehetsggondozsra.
+</p>
+
+<h3>Matematika</h3>
+<p>Matematika emeltszint csoportot minden vben indtunk. A jelentkezk risi arnya vrl-vre visszaigazolja a
+kpzs npszersgt. Sz sincs a hagyomnyos matematika tagozatrl (br szhasznlatunkban sokszor gy fejezzk ki
+magunkat): a tananyag valamivel bvebb, mint a tbbi csoportban, s a 9-10. vfolyamon kapott kt-kt tbbletra nagyobb
+elmlylsre, tbb gyakorlsra s rdekes rszterletek bemutatsra is lehetsget biztost. Mindazoknak ajnljuk,
+akik ugyan nem "matekzsenik", de szvesen foglalkoznak ezzel a ktsgkvl fontos tantrggyal.</p>
+
+<h3>Biolgia</h3>
+<p>Ez a tagozat is nagy hagyomnyokkal rendelkez kpzsi forma. Azoknak a tanulknak javasoljuk, akik biolgibl
+szeretnnek tovbbtanulni. A ngy v sorn lehetv vlik minden tmakr rszletes megismerse, az egyes tmakrkhz
+kapcsold boncolsi, biokmiai s kolgiai gyakorlatok elvgzse. Vgzett dikjaink nagyobb rsze az orvosi egyetemen
+folytatta tanulmnyait, de sokan lettek gygyszerszek, biolgusok s llatorvosok is.</p>
+
+
+
+
+
+<h2>4.2. Az tvfolyamos kpzs</h2>
+
+<p>
+Ebben a rendszerben - ksrleti jelleggel - j sznfoltknt egy nmet nyelv elkszt vvel kiegsztett,
+n. tvfolyamos kpzsben mkd osztlyt is meghirdetnk:
+
+<table align="center" class="tagozat" style="width:80%">
+<tr><th>Az osztly jele</th><th>Kdja</th><th>Tpusa</th><th>1. idegen nyelv</th><th>2. idegen nyelv</th></tr>
+<tr>
+ <td>9.N (max. 6 f)<br/>nek</td>
+ <td>04</td>
+ <td>Kerettanterv specilis</td>
+ <td rowspan="4">A 2. vtl kezdve angol nyelv<br/>4ra/ht</td>
+ <td rowspan="4">nmet nyelv<br/>Az 1. vben heti 15 ra,
+ a tovbbiakban (a tbbi kpzsnek megfelel mdon) 3 s 4 ra/ht
+ </td>
+</tr>
+<tr>
+ <td>9.N (max. 6 f)<br/>humn</td>
+ <td>06</td>
+ <td>Kerettantervi egyedi</td>
+</tr>
+<tr>
+ <td>9.N (max. 6 f)<br/>matematika</td>
+ <td>08</td>
+ <td>Kerettantervi egyedi</td>
+</tr>
+<tr>
+ <td>9.N (max. 6 f)<br/>szmtstechnika</td>
+ <td>10</td>
+ <td>Kerettantervi egyedi</td>
+</tr>
+</table>
+</p>
+
+
+
+<p>Az iskolnkba felvett (8. osztlyt vgzett) tanulk az elkszt v utn a megfelel egyedi tanterv csoportban
+- teht a kvetkez tanvben ngyvfolyamos kpzsre felvett tanulkkal egy osztlyban - folytatjk majd tanulmnyaikat.
+(Ezrt maximltuk a ltszmokat 6-6 fben.) A 11. vfolyamon lehetsgk nylik majd arra, hogy az iskola ltal
+meghirdetett tantervi program alapjn vlaszthassanak tovbbi tantrgyakat rdekldsk alakulsa szerint. gy
+termszetesen megtehetik, hogy a tovbbtanulsi szndkuknak megfelel, az azokhoz kapcsold fakultatv rkat vesznek
+fel, mg abban az esetben is, ha ez gykeresen ms irnyultsg, mint a kezdeti tagozatuk. A tbbszr mdostott
+1993. vi XXXIII. Kzoktatsi Trvny, tovbb a 11/1994.(VI.8.) MKM rendelet (20.) alapjn a vlasztott trgyakat a
+vlaszts utn ugyangy kell kezelni, mint a ktelezen elrtakat, teht osztlyzat szerzse s az rk ltogatsa
+ktelez.</p>
+
+<p>Ezt a kpzsi formt azoknak a tanulknak ajnljuk, akik a gimnziumi kpzs sorn kt nyelvet is felsfok szinten
+szeretnnek elsajttani. A clunk az, hogy az idejr, szorgalmasan dolgoz tanulk (az els v intenzv nyelvoktatsnak
+ksznheten) a 12. vfolyam els flvben le tudjk tenni a Tartomnyi Kultuszminiszterek Konferencija ltal szervezett
+Nmet Nyelvi Diplomavizsgt (DSD), amely a nmet nyelvterleten folytatand felsfok tanulmnyok vgzshez alapfelttel.
+Honosts utn ez a vizsga megfelel a magyarorszgi C-tpus felsfok llami nyelvvizsgnak.</p>
+
+<p>Az els, n. nyelvi elkszt vben a nyelvrkon kvl informatikt (4ra/ht), ill. kszsg- s kpessgfejleszt
+foglalkozsokat terveznk.</p>
+
+<p>Optimlis esetben az osztly ltszma (az els vben) 24 f lesz, azonban - ha a jelentkezk szma vagy a felvteliken
+nyjtott teljestmnyk ezt indokolja, - lehetsges, hogy a csoport kisebb ltszmmal indul. (Amennyiben a felvtelin
+megfelel tanulk ltszma nem ri el a 16 ft, az elkszt vet nem tudjuk elindtani.)</p>
+
+
+<h3>nek-zene</h3>
+<p>Az nek-zene kpzs programjban arnyosan szerepel a szolfzs, a npzene, a zenetrtnet s az sszhangzattan.
+A zenei kpzs clkitzse, hogy a tanulk - a zenei rs-olvass tkletestse mellett - dallamrst is tanuljanak,
+tbbszlam idzeteket tudjanak lerni s a ngy v alatt szznl is tbb npdalt legyenek kpesek kifejezen eladni.
+Zenetrtneti tanulmnyaik sorn keresztmetszetet kapnak az si zentl egszen a XX. szzadi zenig.</p>
+
+<h3>Humn</h3>
+<p>A humn tagozat j prblkozs iskolnkban, br kifejezetten magyar tagozatunk tbb is indult az elmlt vtizedben.
+Ebben a csoportban a legfontosabb clunk a magas sznvonal, ltalnos humn mveltsg kialaktsa, a mvszeti
+ismeretek alapjainak elsajttatsa, a mvszettrtnet bemutatsa a XX. szzaddal bezrlag. Clunk az emelt szint
+rettsgire val felkszts is. Kiemelt szempontnak tartjuk a gyerekek humn rtelmisgiv nevelst.</p>
+
+<h3>Matematika</h3>
+<p>Matematika emeltszint csoportot minden vben indtunk. A jelentkezk risi arnya vrl-vre visszaigazolja a
+kpzs npszersgt. Sz sincs a hagyomnyos matematika tagozatrl (br szhasznlatunkban sokszor gy fejezzk ki
+magunkat): a tananyag valamivel bvebb, mint a tbbi csoportban, s a 9-10. vfolyamon kapott kt-kt tbbletra nagyobb
+elmlylsre, tbb gyakorlsra s rdekes rszterletek bemutatsra is lehetsget biztost. Mindazoknak ajnljuk,
+akik ugyan nem "matekzsenik", de szvesen foglalkoznak ezzel a ktsgkvl fontos tantrggyal.</p>
+
+<h3>Szmtstechnika</h3>
+<p>Ez a tagozat is hagyomnyokkal rendelkez kpzsi forma. Azoknak a tanulknak javasoljuk, akik nem elgednek meg az
+informatika kszsgszint hasznlatval, hanem komolyan rdekldnek az informatikai rendszerek, a szmtgp hlzatok
+mkdse, a WEBes alkalmazsfejleszts s a programozs irnt vagy esetleg ebben az irnyban szeretnnek tovbbtanulni.
+Az t v sorn lehetv vlik minden (emeltszint) rettsgi tmakr rszletes megismerse, az egyes tmakrkhz
+kapcsold gyakorlatok elvgzse.</p>
+
+
+
+<h2>4.3. A ngy- s tosztlyos felvteli eljrs egyedi szablyai</h2>
+
+<p>A minisztrium ltal elksztett, kzponti vizsgateszttel elltott gimnziumokban a felvteli vizsga egy idben
+trtnik, egysgesen 2007. janur 27-n 10<sup>00</sup> rai kezdettel.</p>
+
+<p>Egy tanul tbb klnbz helyre adhatja be jelentkezsi lapjt, az ltalnos iskoln keresztl. </p>
+
+<p>Mivel a felvtelt elssorban a tanulmnyi eredmnyek vizsglathoz kell ktnnk, a felvteli dntsnl els lpsknt
+- az ltalunk megjellt tantrgyakbl szmtott - tanulmnyi tlag alapjn rangsoroljuk a tanulkat.</p>
+
+<p>Az ltalunk figyelembe vett hat tantrgy: magyar irodalom, magyar nyelv, trtnelem, matematika, fizika s
+egy idegen nyelv. Az tlagszmtst az tdik, hatodik, hetedik osztly vgn s a nyolcadik osztlyban flvkor
+megszerzett rdemjegyekkel vgezzk el.</p>
+
+<p>A gimnziumi felvtelket kr tanulk elbrlsa az elrt tlageredmny s a (magyar, matematika) rsbeli felvteli
+vizsga (ill. az nek-zene csoport esetben a kpessgvizsga) alapjn trtnik. A felvteli eljrst szksg esetn
+szbeli meghallgats is kiegsztheti.</p>
+
+<p>Mindazoknak a tanulknak kell tennik kpessgvizsgt is, akik brmelyik helyen megjelltk az nek-zene tagozatot.</p>
+
+<h2>4.4. Kvetelmnyek</h2>
+<p>Az rsbeli felvteli vizsga a magyar nyelvi s irodalmi, illetve a matematika tanulmnyokhoz kapcsolhat feladatokbl
+ll. A megoldand feladatok vrhatan nem az ltalnos iskola ltal tantott anyag ismeretnek szmonkrst jelentik. Az
+ismeretek szintjt s mennyisgt megnyugtat mdon igazoljk az ltalnos iskolai osztlyzatok.</p>
+
+<p>A felvteli vizsga keretben megoldand feladatok a tanul gondolkodsmdjnak fejlettsgt s a kifejezkszsgt
+vizsgljk. Azt szeretnnk megtudni, mennyire kpes a tanultakat nllan alkalmazni, mennyire tud s mer kvetkeztetseket
+levonni, mennyire tudja a levont kvetkeztetseket rsban megfogalmazni, s mindezt milyen pontosan s helyesen.</p>
+
+<p>Idegen nyelvi felvteli nincs. A nyelvi egyedi tanterv osztlyokra val beosztsnl a szintek szerinti bontst utlagos
+szintmrssel dntjk el.</p>
+
+<h3> nek- zene (specilis tanterv) tanulcsoport</h3>
+<p>
+A kpessgvizsga rsbeli s szbeli rszbl ll.
+<ol>
+ <li> Az rsbeli vizsga kvetelmnyei:</li>
+ <ol>
+ <li> Diktand: Peridusnyi dallam halls utn trtn lejegyzse</li>
+ <li> Tz hrmashangzat (dr-moll s fordtsai) diktls utni lejegyzse
+ <li> Ismert npdal valamely sornak emlkezetbl, adott hangmagassgon trtn lejegyzse</li>
+ </ol>
+
+ <li> A szbeli vizsga kvetelmnyei:</li>
+ <ol>
+ <li> Tanult hangszeren kt egymstl eltr stlus m bemutatsa</li>
+ <li> Blattols (8 temes klasszikus idzet)</li>
+ <li> t npdal kifejez neklse (legyenek ms-ms karakterek: parlando-giusto)</li>
+ </ol>
+</ol>
+</p>
+
+<h3> Humn s magyar tanulcsoport</h3>
+<p>Klns figyelmet fordtunk az rt szvegolvassra, a kritikus gondolkodsra, a megfelel szbeli s rsbeli
+kommunikcira. Fontosnak tartjuk a tanulk absztrakcis kpessgt, fantzijnak fejlettsgt s a nyitottsgot a
+kzs munkra.</p>
+
+<h3> Matematika tanulcsoport</h3>
+<p>A matematikai gondolkozsmd s a bizonytsi igny, amit fontosabbnak tartunk ebben a csoportban a tbbinl.
+A szmonkrs az ltalnos iskolai tananyagra plve kiemelten kezelve a szmolsi kszsget, a szvegrtst,
+lnyegkiemelst, az egyszer geometriai problmk megoldst, illetve az egyszer egyenletek, egyenltlensgek megoldst.</p>
+
+<h3> Biolgia tanulcsoport</h3>
+<p>A meghallgatson elssorban nem lexiklis ismereteket krnk szmon, hanem a tanul biolgia irnti rdekldst,
+a tanult ismeretek integrlst, alkalmazst rtkeljk a feladatok megoldsakor.
+<pre>
+ A meghallgats tmakrei:
+ 1.1. llattan
+ 1.2. Nvnytan
+ 1.3. Az ember szervezetnek felptse s mkdse
+ 1.4. kolgiai ismeretek
+</pre>
+
+<h3> Szmtstechnika tanulcsoport</h3>
+<p>Az esetleges meghallgatson elssorban nem lexiklis ismereteket krnk szmon, hanem a tanul szmtstechnika
+irnti rdekldst s az j ismeretek befogadsra val nyitottsgt vizsgljuk. A feladatok elzetes tanulmnyok nlkl
+("jzan paraszti sszel") is megoldhatak, br ersen kapcsoldnak az egyszer programozsi ismeretekhez. Sok feladatnl
+elnyt jelenthet az ltalnos iskolkban sok helyen tantott Comenius Logo programozsi nyelv ismerete.</p>
+
+<p>Tovbbi elny, ha a jelentkez alapos hardverismeretekkel rendelkezik, illetve ha felhasznlknt jl hasznlja a
+szmtgpet (termszetesen nem csak jtkra :) ).</p>
+
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/5.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/5.html
new file mode 100644
index 00000000..6ab82f0d
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/5.html
@@ -0,0 +1,66 @@
+<h1>5. A felvteli eljrs (mindenkire vonatkoz) szablyai</h1>
+<p>Az iskola igazgatja 2006. november 20-n (htfn) 18<sup>00</sup> rakor tjkoztat rtekezletet tart a felvteli
+eljrs rendjrl.</p>
+
+<p>A felvteli eljrs szablyait az Oktatsi Minisztrium rendelete szablyozza.</p>
+
+<p>Mivel az elmlt hrom vben az iskolnkba felvtelizni kvn tanulk szma sokszoros tljelentkezst mutatott,
+rszt vesznk a kzpontilag szervezett rsbeli vizsgval trtn felvteliztetsben.</p>
+
+<p>Az rsbeli vizsgra a plyz tanulknak 2006. december 8-ig kzvetlenl az iskolban kell jelentkeznik,
+melyhez a jelentkezsi lap november 27-tl az iskola portjn krhet.</p>
+
+<p>A felvteli vizsgk idpontjrl kln rtestst nem kldnk! Mivel a felvteli feladatlapok azonosak s a
+feladatlapok javtsa is egysgesen trtnik, iskolnk az eredmnyek kihirdetse utn ugyangy mrlegeli a mshol rt,
+de hozznk jelentkez tanulk eredmnyeit, mint azokt, akik gimnziumunkban vizsgztak.</p>
+
+<p>A rendelet lehetv teszi, hogy aki (betegsg vagy egyb, a tanul hibjn kvl ll, mltnyolhat okbl) nem tudott
+rszt venni a kzponti felvtelin, ugyancsak kzponti, ptllagos dolgozat megrsval tegyen felvteli vizsgt.
+Egy jelentkez azonban semmikppen sem rhat ktszer felvteli feladatsort.</p>
+
+<p>ppen a ktszeri vizsgzs elkerlsnek cljbl, a rendelet szerint, a ptdolgozatot is csak abban az iskolban
+rhatjk meg a tanulk, ahov decemberben az rsbeli vizsgra bejelentkeztek.</p>
+
+<p>A dolgozatot r felvtelizk mg a jelentkezsi hatrid eltt, 2007. februr 9-ig megtudjk az rsbeli vizsga
+eredmnyeit a gimnzium auljban kifggesztett sszestsekbl. A tanul, illetve a szl krsre, az iskola hivatalos
+igazolst ad ki a plyz elrt pontszmrl, amely igazolssal az esetleges msik gimnziumokban is fogadni tudjk a
+felvteliz jelentkezst.</p>
+
+<p>A rendes felvteli eljrsra trtn jelentkezs hatrideje: 2007. februr 16.</p>
+
+<p>A hozznk jelentkez tanulkat az elz fejezetekben lert mdokon rangsoroljuk.</p>
+
+<p>A felvteli eljrst szksg esetn szbeli meghallgats is kiegsztheti.</p>
+
+<p>A szbeli szksgessgrl s mdjrl (a jelentkezsek utn, azaz februr 20. krl) az iskola igazgatja dnt.
+Az esetleges szbelikre csak az adott rangsorban egy adott eredmnyt elr tanulkat hvjuk be. A konkrt dntsrl s
+idpontokrl az iskola auljban kifggesztett tjkoztatban, ill. az iskola honlapjn lehet tjkozdni.
+Az esetleges szbelirl (a behvs idpontjrl) szemlyes rtestst nem kldnk!</p>
+
+<p>Amennyiben kt jelentkez sszestett eredmnye kzel azonos (maximum 2% a klnbsg), az iskola elnyben rszestheti a XII. kerleti lland lakcmmel rendelkez tanult.</p>
+
+<p>Az iskola 2007. prilis 20-ig megkapja az Orszgos Kzoktatsi rtkelsi s Vizsgakzponttl (OKV) a felvteli sorn
+kialakult vgleges rangsort. Az OKV visszajelzse alapjn az iskola igazgatja 2007. prilis vgig a felvtelre jelentkez tanulval, ill. gondviseljvel a felvteli eredmnyt rsban (levl.ben) kzli. Az eredmnyek vgleges kihirdetse eltt sem rsban, sem szban, sem telefonon nem tudunk tjkoztatst adni az eredmnyekrl.</p>
+
+<p>A vgleges felvteli eredmnyek (osztlynvsorok) vrhatan 2007. prilis vgig kerlnek nyilvnossgra.</p>
+
+<p>A tanulk felvtele az igazgat hatskre, minden egyes tanul felvtelrl az igazgat dnt.</p>
+
+<p>A dnts ellen a felvteliz vagy - kiskor jelentkez esetn - a szl a Kzoktatsi Trvny 83.-nak (2) bekezdse szerint jogorvoslati krelemmel lhet.</p>
+
+<h2>5.1. A felvteli pontrendszer</h2>
+<p>A felvteliz eredmnyt minden lpsben normljuk, azaz a felvteli eljrs sorn mindig szzalkos eredmnyt
+szmolunk (mintha minden llsig 100 pontot lehetett volna szerezni). Ebbl a logikbl kvetkezik, hogy az aktulis
+eredmny tbb is s kevesebb is lehet az elzeknl (teht nem arrl van sz, hogy a kapott pontok egyszeren sszeaddnak)</p>
+
+<p>Minden tagozaton kln-kln tartjuk nyilvn a jelentkezket, teht mindenki annyi listn fog szerepelni,
+ahny kdot a jelentkezskor megjellt.</p>
+
+<p>Az els rangsorban hsz pontot kaphat a jelentkez a hozott tanulmnyi tlagra (4,0 = 0 pont, 5,0 = 20 pont
+- linerisan); a hibtlan magyar s matematika dolgozat pedig 40-40 pontot r (szintn linerisan pontozva az elrt
+pontokbl).</p>
+
+<p>Szbeli meghallgats esetn, a szbeliken 30 pontot lehet szerezni.</p>
+
+<p>Eltr szably rvnyes az nek-zene csoportra, ahol a kzponti rsbeli eredmnyek mindssze 25-25 pontot rnek,
+az nek-zene rsbeli s szbeli pedig maximum 18 s 12 pontot r.</p>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/6.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/6.html
new file mode 100644
index 00000000..3aa11685
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/6.html
@@ -0,0 +1,32 @@
+
+<h1>6. A jelentkezsi lapok kitltse</h1>
+
+<p>A Vrosmajori Gimnzium azonost szma: 035242</p>
+
+<p>Az iskola (Vrosmajori Gimnzium) megjellse mellett meg kell jellni azt a tanulcsoportot is, amelyikre a tanul
+a felvtelt kri.</p>
+
+<p>Kln felhvjuk a figyelmet, hogy a jelentkezsi lapon - a megfelel sorrendben - az sszes tagozatot jelljk meg,
+amelyet el tudnnak fogadni a gimnzium knlatbl, mert gyermekket esetleg - mg ha meg is felel a felvteli
+kvetelmnyeknek - ennek elmulasztsa miatt nem tudjuk ms tagozatra tirnytani.</p>
+
+<p>Msodik idegen nyelvknt krjk - sorrendben -, tbb nyelvet is jelljenek meg. A nyelvi csoportbeoszts
+mrlegelst a tbb idegen nyelvet megjellkkel kezdjk. Ha egyetlen nyelvet jellnek meg, akkor a tanult, a
+ltszmkeret lehetsgei szerint egyszeren beosztjuk.</p>
+
+<p>A tanulk nyelvi csoportokba val beosztsa - a trvnyi elrs szerint - az iskola feladata. A pontosan kitlttt
+jelentkezsi lappal segthetik a beosztst, azonban a krs teljestsre garancit nem vllalhatunk.</p>
+
+<p>A gondvisel elnevezsnl s cmnl krjk, hogy azt a nevet s cmet adjk meg, ahova a felvteli eredmny postzst
+krik, mert szmos flrertst, felesleges kltsget elzhetnek meg ezzel.</p>
+
+<p>Felhvjuk a figyelmet arra is, hogy csak szablyosan kitlttt jelentkezsi lapot tudunk elfogadni.</p>
+
+<p>Tisztban vagyunk azzal, hogy a szlk szmra nagy gondot jelent annak eldntse, hogy hova adjk be els helyen
+jelentkezsket. Az elz vekben iskolnk irnt nagy rdekldst mutattak a jelentkezk (a 2006. vi felvtelin kzel
+tszrs volt a tljelentkezs), ezrt clszer iskolnkat az els helyre berni.</p>
+
+<p>A titkrsg gyintzsi ideje htkznaponknt 13<sup>30</sup>-15<sup>30</sup>. Az gyintzsi idn kvl,
+illetve 2007. februr 9. dlutn 15<sup>30</sup> utn tovbbi jelentkezst nem ll mdunkban elfogadni.</p>
+
+<p>2006. oktber 28.</p> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/7.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/7.html
new file mode 100644
index 00000000..88c5036a
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/7.html
@@ -0,0 +1,9 @@
+<ul>
+<li>Kiadja: Szebedy Tas igazgat</li>
+<li>A kziratot ellenrizte: Brnkopf Pter s munkatrsai</li>
+<li>Webes vltozat: Vrosmajori Gimnzium Informatika mk.</li>
+<li>Trdels s nyomdatechnika: Vrosmajori Gimnzium Informatika mk.</li>
+<li>A sokszorosts az iskola titkrsgn kszlt</li>
+<li>Nyomtatsban megjelent: 2006. oktber 30.</li>
+<li>Pldnyszm 350</li>
+</ul> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/tartalom.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/tartalom.html
new file mode 100644
index 00000000..471b2aa7
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20072008/tartalom.html
@@ -0,0 +1,25 @@
+<h1>A Vrosmajori Gimnzium felvteli tjkoztatja</h1>
+<h2>a 2007-2008-as tanvben indul
+ktszint rettsgire felkszt kpzseirl</h2>
+
+<ol>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=1">Ajnls</a></li>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=2">Bevezet: A meghirdetett osztlyok</a></li>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=3">A hatvfolyamos kpzs</a></li>
+ <ol>
+ <li>ltalnos tudnivalk</li>
+ <li>A hatosztlyos felvteli eljrs egyedi szablyai</li>
+ <li>Kvetelmnyek</li>
+ </ol>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=4">A ngy- s tvfolyamos kpzs</a></li>
+ <ol>
+ <li>A ngyvfolyamos kpzs</li>
+ <li>Az tvfolyamos kpzs</li>
+ <li>A ngy- s tosztlyos felvteli eljrs egyedi szablyai</li>
+ <li>Kvetelmnyek</li>
+ </ol>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=5">A felvteli eljrs mindenkire vonatkoz szablyai</a></li>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=6">A jelentkezsi lapok kitltse</a></li>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=7">Impresszum</a></li>
+ <!--<li>Fggelk: <a href="/print/FT2007.pdf">az egsz tjkoztat PDF formtumban (nyomtatshoz)</a></li>//-->
+</ul> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/1.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/1.html
new file mode 100644
index 00000000..e5bcc732
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/1.html
@@ -0,0 +1,35 @@
+<div class="ft">
+<h1 >Ajánlás</h1>
+<h2 >Tisztelt Szülők! Kedves Leendő Városmajori Diákok!</h2>
+
+<p> Szeretném néhány szóval figyelmükbe ajánlani iskolánkat. A Városmajori Gimnázium fiatal iskola, mégis az elmúlt tizennyolc év alatt szép eredményeivel, kedvező lehetőségeivel népszerű, keresett intézménnyé fejlődött. Mi, akik sokat munkálkodtunk a gimnázium jelenlegi színvonalának kialakításában, nagyon szerencsésnek érezzük magunkat. Néhány fontos tényező járul hozzá helyzetünk megszilárdításához. Egy park veszi körül az iskolánkat, kellemes környezetet biztosítva. Épületünk korszerű, látványos és ugyanakkor arányait tekintve barátságos méretű. Munkánkat az országos átlagot meghaladó taneszköz felszereltség segíti. Tantestületünk vegyes korosztályú, átlagát tekintve fiatal vagy középkorú. Tanáraink többsége szakmailag jól felkészült, szemléletük gyermekközpontú, a diákok gondjaival szemben megértő. A sokszínűség az iskola programjának megfogalmazásakor központi szervezőelv volt.
+</p>
+
+<p>
+ Szeretnénk megoldani, hogy a mi iskolánkba járó tanulók ne csupán hasznos ismeretekkel gazdagodva töltsék el gimnáziumi éveiket, hanem eseményekben, diákélményekben, programokban gazdag diákkort is magukénak mondhassanak. Szeretnénk, ha hasonló ragaszkodással, büszkeséggel gondolnának itteni éveikre, mint ahogy mi kötődünk ehhez az iskolához, s büszkélkedünk eredményeinkkel.
+</p>
+
+<p>
+ Kíváncsiak vagyunk arra, hogy tanulóink hogyan vélekednek iskolánkról, képzési rendszerünk mennyiben nyújt számukra hasznosítható és a továbbtanulás tekintetében is lényeges ismereteket.
+</p>
+
+<p>
+ Már évek óta a figyelmünk középpontjában áll a kétszintű érettségire történő felkészítés. Célunk, hogy – a tanulók igényeivel összhangban – minél több tantárgyból emeltszintű felkészítést nyújthassunk; elképzelésünk szerint vizsgaközpontként: más középiskola diákjai, valamint vendéghallgatók számára is. Ez már a tavalyi tanévben is így működött.
+</p>
+
+<p>
+ Nem azt tartjuk fontosnak, hogy értékeink részletes bemutatásával ajánljuk a Városmajori Gimnáziumot az ide pályázóknak, hanem arra kérünk mindenkit, hogy diákjainkat kérdezzék, s tőlük szerezzenek információt rólunk.
+</p>
+
+<p>
+ Felfogásunk alapja a partneri viszony, s szeretnénk, hogy aki minket választ, egyben iskolánk jövőjének alakítására is igent mondjon. Számítunk az irántunk érdeklődők véleményére.
+</p>
+
+<p>
+Budapest, 2007. október 31.
+<pre>
+ Szebedy Tas
+ igazgató
+</pre>
+</p>
+</div> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/2.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/2.html
new file mode 100644
index 00000000..519afcca
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/2.html
@@ -0,0 +1,12 @@
+<div class="ft">
+<h1>2. Bevezető</h1>
+<h2>A meghirdetett osztályok</h2>
+<h3>Bevezetés</h3>
+
+<p>Iskolánk, a Városmajori Gimnázium tizedik éve vegyes képzési rendben végzi a diákok oktatását. Ahogy már évek óta, a 2008-2009-es tanévben is elindítunk két-két párhuzamos osztályt a hatosztályos és a négyosztályos képzésben résztvevők számára; ám – korunk kihívásaira, a szülőktől, tanulóktól kapott jelzésekre reagálva és figyelembe véve a Minisztérium ajánlásait – egy német nyelvi előkészítő osztályt is meghirdetünk az érdeklődők számára. Iskolánkba tehát az általános iskolák hatodik, illetve nyolcadik osztályát végző tanulók jelentkezését várjuk. A jelentkezésnek nem feltétele, mégis elsősorban azok jelentkezését várjuk (és javasoljuk), akiknek a megjelölt évvégi és félévi bizonyítványok alapján – az általunk kért tantárgyakból – a tanulmányi átlaga eléri az előírt minimumot, azaz a jelentkező hatodikosoknál legalább 4,2-t a nyolcadikosoknál legalább 4,0-t. Az elmúlt időszak tapasztalatai alapján, a gyengébb bizonyítvánnyal érkező tanulók felvételére minimális esélyt látunk.
+</p>
+
+<p>
+A Városmajori Gimnázium programjának nem szerves része a tizedik évfolyam végi alapvizsga. Alapvizsgát csak abban az esetben szervez az iskola, ha valamely tanuló a továbbtanulása érdekében, a törvényben előírt módon jelzi, hogy alapvizsgát kíván tenni.
+</p>
+</div> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/3.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/3.html
new file mode 100644
index 00000000..6b307fdd
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/3.html
@@ -0,0 +1,37 @@
+<div class="ft">
+
+<h1>3. A hatévfolyamos képzés</h1>
+<p>A Városmajori Gimnázium a 2008-2009-es tanévben az általános iskolák 6. osztályos tanulói számára felvételt hirdet.</p>
+
+<h2>3.1. Általános tudnivalók</h2>
+<p>Ebben a rendszerben két osztály indul a következő tanévben:
+
+<table class="tagozat" align="center" cellpadding="5">
+<tr><th>Az osztály jele</th><th>Kódja</th><th>típusa</th><th>1. idegen nyelv</th><th>2. idegen nyelv</th></tr>
+<tr><td>7.A</td><td>01</td><td>Kerettantervi egyedi</td><td>angol nyelv<br />4óra/hét</td><td>latin<br/>(2 évig)</td></tr>
+<tr><td>7.B</td><td>02</td><td>Kerettantervi egyedi</td><td>német nyelv<br/>4óra/hét</td><td>latin<br/>(2 évig)</td></tr>
+</table>
+</p>
+
+
+<p>
+ A latin nyelvi alapozás 7-8. évfolyamon kötelező, majd a tanulók a harmadik évtől választhatnak második idegen nyelvet. A második idegen nyelv tanítása – bár igyekszünk a tanulói és szülői igényeket kielégíteni – az iskola lehetőségei, ajánlata és beosztása szerint történik. (Eddigi gyakorlatunk szerint angol, francia, japán, latin, német, olasz, orosz, spanyol nyelvek közül választhattak a diákok). A képzés ismertetése (A Városmajori Gimnázium Sokprofilú Pedagógiai programja) részletesen olvasható a „Városmajori Gimnázium Értesítője” című kiadványunkban, mely az iskola könyvtárában tekinthető meg.
+</p>
+
+<p>A 11. évfolyamtól a tanulók választási lehetősége kitágul, azaz megtehetik, hogy a tervezett emeltszintű érettségi tárgyaikat, illetve az őket legjobban érdeklő fakultatív órákat látogassák a kötelezően tanulandó tanórák mellett. Nyolc választható óra szabad sávban az emeltszintű érettségi követelményei szerint választható.</p>
+<p>A többször módosított 1993. évi XXXIII. Közoktatási Törvény, továbbá a 11/1994.(VI.8.) MKM rendelet (20.§) alapján a választott tárgyakat a választás után ugyanúgy kell kezelni, mint a kötelezően előírtakat, tehát osztályzat szerzése és az órák látogatása kötelező.</p>
+<p>Az elmúlt években a hat évfolyamos képzés végére német nyelvből a programunkban komoly tanulással részt vevő tanulóinkat felkészítettük a Tartományi Kultuszminiszterek Konferenciája által szervezett Német Nyelvi Diplomavizsgára (DSD), amely a német nyelvterületen folytatandó felsőfokú tanulmányok végzéséhez alapfeltétel. Ez a vizsga megfelel az Európai Unió referencia kerete C1 szintjének (a magyar, felsőfokú, C típusú, állami nyelvvizsgának).</p>
+
+<h2>3.2. A hatosztályos felvételi eljárás egyedi szabályai</h2>
+<p>A minisztérium által elkészített, központi vizsgateszttel ellátott gimnáziumokban a felvételi vizsga egy időben történik, egységesen 2008. január 25-én 1400 órai kezdettel.</p>
+<p>Egy tanuló több különböző helyre adhatja be jelentkezési lapját. Az ügyintézésbe nem feltétlenül szükséges az általános iskola bevonása; az egyéni ügyintézés is lehetséges!</p>
+<p>Mivel a felvételt elsősorban a tanulmányi eredmények vizsgálatához kell kötnünk, a felvételi döntésnél első lépésként – az általunk megjelölt tantárgyakból számított – tanulmányi átlag alapján rangsoroljuk a tanulókat.</p>
+<p>Az általunk figyelembe vett öt tantárgy: magyar irodalom, nyelvtan, történelem, matematika és egy idegen nyelv. Az átlagszámítást az 5. végén és 6. félévkor megszerzett érdemjegyekkel végezzük.</p>
+<p>Minden hozzánk jelentkező hatodikosnak részt kell vennie a központi szervezésű írásbeli vizsgán. Az írásbeli dolgozatok eredménye és a kezdeti rangsor együttesen határozzák meg a sorrendet. A felvételi eljárást szükség esetén szóbeli meghallgatás is kiegészítheti.</p>
+
+<h2>3.3. Követelmények</h2>
+<p>A központi írásbeli feladatok – az előző évek tapasztalatai alapján – nem az általános iskolai tananyag lexikális tudását, hanem a szövegértést, fantáziát, kombinációs készséget, koncentráló képességet, ötletességet kívánják mérni.</p>
+<p>Az (esetleges) szóbeli egy előzetesen választott tantárgyból (magyar, matematika, történelem, természetismeret (fizika, kémia, biológia, földrajz)) történik. A szóbeli szakmai része – a jelentkező választása szerint – egy, a tanuló érdeklődését bemutató, 4-5 perces, előzetesen elkészített felelet is lehet. A felvételi beszélgetés második felében (ugyancsak a választott tantárgyhoz kapcsolódó) szövegértési feladatot kell majd a jelentkezőknek megoldaniuk.</p>
+
+
+</div> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/4.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/4.html
new file mode 100644
index 00000000..56aac026
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/4.html
@@ -0,0 +1,266 @@
+<div class="ft" id="f4">
+
+<div id="navi" style="font-size:10px; padding:5px; background-color: white; border: solid 1px #667766; position: fixed; width: 180px; height:50px; top: 100px; right: 20px;">
+<a href="#f4">4. négy- és ötévfolyamos képzés</a><br/>
+<a href="#f4.1">4.1 négyévfolyamos képzés</a><br/>
+<a href="#f4.2">4.2 ötévfolyamos képzés</a>
+</div>
+
+<h1>4. A négy- és ötévfolyamos képzés</h1>
+
+<p>A Városmajori Gimnázium a 2008-2009-es tanévben az általános iskolák 8. osztályos tanulói számára felvételt hirdet.</p>
+
+<h2 id="f4.1">4.1. A négyévfolyamos képzés</h2>
+<p>
+Ebben a rendszerben két osztály indul a következő tanévben:
+<table align="center" class="tagozat" style="width:80%">
+<tr><th>Az osztály jele</th><th>Kódja</th><th>Típusa</th><th>1. idegen nyelv</th><th>2. idegen nyelv</th></tr>
+<tr>
+ <td>9.C fél osztály<br/>ének</td>
+ <td>03</td>
+ <td>Kerettanterv speciális</td>
+ <td>angol nyelv<br/>4óra/hét</td>
+ <td rowspan="2">olasz nyelv 3-4 óra/hét</td>
+</tr>
+<tr>
+ <td>9.C fél osztály<br/>humán</td>
+ <td>05</td>
+ <td>Kerettantervi egyedi</td>
+ <td>angol nyelv<br/>
+ 4óra/hét</td>
+</tr>
+<tr>
+ <td>9.D fél osztály<br/>matematika</td>
+ <td>07</td>
+ <td>Kerettantervi egyedi</td>
+ <td>angol nyelv<br/>4óra/hét </td>
+ <td rowspan="2"><ins style="color: #880000" description="hibajavítás: 2008-01-25">francia, japán, latin, német, olasz 3-4 óra/hét</ins></td>
+</tr>
+<tr>
+ <td>9.D fél osztály<br/>informatika</td>
+ <td>09</td>
+ <td>Kerettantervi egyedi</td>
+ <td>angol nyelv<br/>4óra/hét</td>
+</tr>
+</table>
+
+</p>
+<p>
+Az iskolánkba felvett 8. osztályt végzett tanulók négy évig az adott egyedi tantervű osztályban folytatják tanulmányaikat, a 11. évfolyamtól azonban lehetőségük nyílik arra, hogy az iskola által meghirdetett tantervi program alapján választhassanak további tantárgyakat érdeklődésük alakulása szerint. Így természetesen megtehetik, hogy a továbbtanulási szándékuknak megfelelő, az azokhoz kapcsolódó fakultatív órákat vesznek fel, még abban az esetben is, ha ez gyökeresen más irányultságú, mint a kezdeti tagozatuk. A többször módosított 1993. évi XXXIII. Közoktatási Törvény, továbbá a 11/1994.(VI.8.) MKM rendelet (20.§) alapján a választott tárgyakat a választás után ugyanúgy kell kezelni, mint a kötelezően előírtakat, tehát osztályzat szerzése és az órák látogatása kötelező.
+</p>
+
+<p>
+A kerettanterv szerinti egyedi tantervű képzésben az idegen nyelvek közül az első az egyedi tantervvel meghatározott, a második nyelv tanítása beosztás alapján, az iskola lehetőségei szerint történik. Ez azt jelenti, hogy kérjük, saját érdekükben több nyelvet jelöljenek meg a jelentkezők, lehetőleg olyan sorrendben, amilyen sorrendben szeretnék, hogy figyelembe vegyük kívánságukat. Ennek szem előtt tartásával igyekszünk a csoportokat elosztani. Mivel tanáraink létszáma kötött, előfordulhat, hogy minden kérés kielégítésére nem lesz módunk. Aki saját belátása alapján csak egyetlen idegen nyelvet jelöl meg második nyelvként, azt a kockázatot vállalja, hogy kérése csoportszervezési nehézség esetén nem teljesül. A képzés ismertetése (A Városmajori Gimnázium Sokprofilú Pedagógiai Programja) részletesen olvasható a „Városmajori Gimnázium Értesítője” című kiadványunkban, mely az iskola könyvtárában megtekinthető.
+</p>
+
+<h3>Ének-zene</h3>
+
+<p>
+ Az ének-zene képzés programjában arányosan szerepel a szolfézs, a népzene, a zenetörténet és az összhangzattan. A zenei képzés célkitűzése, hogy a tanulók – a zenei írás-olvasás tökéletesítése mellett – dallamírást is tanuljanak, többszólamú idézeteket tudjanak leírni és a négy év alatt száznál is több népdalt legyenek képesek kifejezően előadni. Zenetörténeti tanulmányaik során keresztmetszetet kapnak az ősi zenétől egészen a XX. századi zenéig.
+</p>
+
+<p>
+ Iskolánk elvárása, hogy a zenei képzésben résztvevő tanulók valamelyik iskolai kórusban aktívan részt vegyenek. A legkiválóbb hangképzéssel rendelkező lányok lehetőséget kaphatnak az Angelica leánykarban való szereplésre.
+</p>
+
+
+
+<h3>Humán</h3>
+
+<p>
+Bár kifejezett magyar tagozatunk több is indult az elmúlt évtizedben, néhány éve humán tagozatot is indítottunk. Ebben a csoportban a legfontosabb célunk a magas színvonalú, általános humán műveltség kialakítása, a művészeti ismeretek alapjainak elsajátítatása és a művészettörténet bemutatása a XX. századdal bezárólag. Célunk az emelt szintű érettségire való felkészítés is. Kiemelt szempontnak tartjuk a gyerekek humán értelmiségi nevelését. Mivel az órák kis csoportban folynak, lehetőség nyílik a művészetekről, irodalomról való elmélyült beszélgetésre, vitára, egyénre szabott feladatokra és a tehetséggondozásra is.
+</p>
+
+<h3>Matematika</h3>
+
+<p>
+Matematika emeltszintű csoportot minden évben indítunk. A jelentkezők óriási aránya évről-évre visszaigazolja a képzés népszerűségét. Szó sincs a hagyományos matematika tagozatról (bár szóhasználatunkban sokszor így fejezzük ki magunkat): a tananyag valamivel bővebb, mint a többi csoportban, és a 9-10. évfolyamon kapott két-két többletóra nagyobb elmélyülésre, több gyakorlásra és érdekes részterületek bemutatására is lehetőséget biztosít. Mindazoknak ajánljuk, akik ugyan nem feltétlenül „matekzsenik”, de szívesen foglalkoznak ezzel a kétségkívül fontos tantárggyal.
+</p>
+
+
+<h3>Informatika</h3>
+<p>
+Ez a tagozat régi hagyományokkal rendelkező képzési formánk. Azoknak a tanulóknak javasoljuk, akik nem elégednek meg az informatika készségszintű használatával, hanem komolyan érdeklődnek az informatikai rendszerek, a számítógép hálózatok működése, a WEBes alkalmazásfejlesztés és a programozás iránt vagy esetleg ebben az irányban szeretnének továbbtanulni. Fontos követelmény a számítógépes felhasználói ismeretek megléte, hiszen ennek kialakítása – terveink szerint – már nem kap hangsúlyos szerepet ebben a képzésben.
+</p>
+
+
+
+
+
+
+
+
+
+<h2 id="f4.2"> 4.2. Az ötévfolyamos képzés</h2>
+
+<p>Ebben a rendszerben – kísérleti jelleggel – új színfoltként egy német nyelvű előkészítő évvel kiegészített, ún. ötévfolyamos képzésben működő osztályt is meghirdetünk:
+
+
+
+<table align="center" class="tagozat" style="width:80%">
+<tr><th>Az osztály jele</th><th>Kódja</th><th>Típusa</th><th>1. idegen nyelv<br/>a második évtől kezdve 4ó/hét</th><th>2. idegen nyelv</th></tr>
+<tr>
+ <td>9.N<br/>ének</td>
+ <td>04</td>
+ <td>Kerettanterv speciális</td>
+ <td>angol nyelv</td>
+ <td rowspan="4">német nyelv (1. év: heti 15 óra), a továbbiakban a többi képzésnek megfelelő módon heti 3-4 óra</td>
+</tr>
+<tr>
+ <td>9.N<br/>magyar</td>
+ <td>06</td>
+ <td>Kerettantervi egyedi</td>
+ <td>angol nyelv</td>
+</tr>
+<tr>
+ <td>9.N<br/>matematika</td>
+ <td>08</td>
+ <td>Kerettantervi egyedi</td>
+ <td>angol nyelv </td>
+</tr>
+<tr>
+ <td>9.N<br/>biológia</td>
+ <td>10</td>
+ <td>Kerettantervi egyedi</td>
+ <td>angol nyelv</td>
+</tr>
+</table>
+
+</p>
+
+<p>
+Az iskolánkba felvett (8. osztályt végzett) tanulók az előkészítő év után a megfelelő egyedi tantervű csoportban – tehát a következő tanévben négyévfolyamos képzésre felvett tanulókkal egy osztályban – folytatják majd tanulmányaikat. A 11. évfolyamon lehetőségük nyílik majd arra, hogy az iskola által meghirdetett tantervi program alapján választhassanak további tantárgyakat érdeklődésük alakulása szerint. Így természetesen megtehetik, hogy a továbbtanulási szándékuknak megfelelő, az azokhoz kapcsolódó fakultatív órákat vesznek fel, még abban az esetben is, ha ez gyökeresen más irányultságú, mint a kezdeti tagozatuk. A többször módosított 1993. évi XXXIII. Közoktatási Törvény, továbbá a 11/1994.(VI.8.) MKM rendelet (20.§) alapján a választott tárgyakat a választás után ugyanúgy kell kezelni, mint a kötelezően előírtakat, tehát osztályzat szerzése és az órák látogatása kötelező.
+</p>
+
+<p>
+Ezt a képzési formát azoknak a tanulóknak ajánljuk, akik a gimnáziumi képzés során két nyelvet is felsőfokú szinten szeretnének elsajátítani. A célunk az, hogy az idejáró, szorgalmasan dolgozó tanulók (az első év intenzív nyelvoktatásának köszönhetően) a 12. évfolyam első félévében le tudják tenni a Tartományi Kultuszminiszterek Konferenciája által szervezett Német Nyelvi Diplomavizsgát (DSD), amely a német nyelvterületen folytatandó felsőfokú tanulmányok végzéséhez alapfeltétel. Ez a vizsga megfelel az Európai Unió referencia kerete C1 szintjének (a magyar, felsőfokú, C típusú, állami nyelvvizsgának).
+</p>
+<p>
+Az első, ún. nyelvi előkészítő évben a nyelvórákon kívül informatikát (4óra/hét), ill. készség- és képességfejlesztő (pl. szövegértés, tanulásmódszertan) foglalkozásokat tartunk.
+</p>
+<p>
+Terveink szerint az osztály létszáma (az első évben) 24-28 fő lesz.
+</p>
+
+
+
+<h3>Ének-zene</h3>
+
+<p>
+ Az ének-zene képzés programjában arányosan szerepel a szolfézs, a népzene, a zenetörténet és az összhangzattan. A zenei képzés célkitűzése, hogy a tanulók – a zenei írás-olvasás tökéletesítése mellett – dallamírást is tanuljanak, többszólamú idézeteket tudjanak leírni és a négy év alatt száznál is több népdalt legyenek képesek kifejezően előadni. Zenetörténeti tanulmányaik során keresztmetszetet kapnak az ősi zenétől egészen a XX. századi zenéig.
+</p>
+
+<p>
+ Iskolánk elvárása, hogy a zenei képzésben résztvevő tanulók valamelyik iskolai kórusban aktívan részt vegyenek. A legkiválóbb hangképzéssel rendelkező lányok lehetőséget kaphatnak az Angelica leánykarban való szereplésre.
+</p>
+
+
+<h3>Magyar</h3>
+
+<p>
+ A magyar tagozat legfontosabb célja az emelt szintű érettségire való felkészítés. Kiemelt szempontnak tartjuk a gyerekek humán értelmiségivé nevelését. Mivel az órák kis csoportban folynak, lehetőség nyílik a művészetekről, irodalomról való elmélyült beszélgetésre, vitára, egyénre szabott feladatokra, tehetséggondozásra.
+</p>
+
+<h3>Matematika</h3>
+
+<p>
+Matematika emeltszintű csoportot minden évben indítunk. A jelentkezők óriási aránya évről-évre visszaigazolja a képzés népszerűségét. Szó sincs a hagyományos matematika tagozatról (bár szóhasználatunkban sokszor így fejezzük ki magunkat): a tananyag valamivel bővebb, mint a többi csoportban, és a 9-10. évfolyamon kapott két-két többletóra nagyobb elmélyülésre, több gyakorlásra és érdekes részterületek bemutatására is lehetőséget biztosít. Mindazoknak ajánljuk, akik ugyan nem feltétlenül „matekzsenik”, de szívesen foglalkoznak ezzel a kétségkívül fontos tantárggyal.
+</p>
+
+<h3>Biológia</h3>
+
+<p>
+ Ez a tagozat is nagy hagyományokkal rendelkező képzési forma. Azoknak a tanulóknak javasoljuk, akik biológiából szeretnének továbbtanulni. A négy év során lehetővé válik minden témakör részletes megismerése, az egyes témakörökhöz kapcsolódó boncolási, biokémiai és ökológiai gyakorlatok elvégzése. Végzett diákjaink nagyobb része az orvosi egyetemen folytatta tanulmányait, de sokan lettek gyógyszerészek, biológusok és állatorvosok is.
+</p>
+
+
+
+<h2> 4.3. A négy- és ötosztályos felvételi eljárás egyedi szabályai</h2>
+
+<p>A minisztérium által elkészített, központi vizsgateszttel ellátott gimnáziumokban a felvételi vizsga egy időben történik, egységesen 2008. január 26-án 1000 órai kezdettel.</p>
+
+<p>Egy tanuló több különböző helyre adhatja be jelentkezési lapját, az általános iskolán keresztül.</p>
+
+<p>Mivel a felvételt elsősorban a tanulmányi eredmények vizsgálatához kell kötnünk, a felvételi döntésnél első lépésként – az általunk megjelölt tantárgyakból számított – tanulmányi átlag alapján rangsoroljuk a tanulókat.</p>
+
+<p>Az általunk figyelembe vett hat tantárgy: magyar irodalom, nyelvtan, történelem, matematika, fizika és egy idegen nyelv. Az átlagszámítást az ötödik, hatodik, hetedik osztály végén és a nyolcadik osztályban félévkor megszerzett érdemjegyekkel végezzük el.</p>
+
+<p>A gimnáziumi felvételüket kérő tanulók elbírálása az elért átlageredmény és a (magyar, matematika) írásbeli felvételi vizsga (ill. az ének-zene csoport esetében a képességvizsga) alapján történik. A felvételi eljárást szükség esetén (tantárgyi) szóbeli meghallgatás is kiegészítheti.</p>
+
+<p>Mindazoknak a tanulóknak kell tenniük képességvizsgát is, akik bármelyik helyen megjelölték az ének-zene tagozatot.</p>
+
+
+
+
+
+<h2> 4.4. Követelmények</h2>
+
+<p>Az írásbeli felvételi vizsga a magyar nyelvi és irodalmi, illetve a matematika tanulmányokhoz kapcsolható feladatokból áll. A megoldandó feladatok várhatóan nem az általános iskola által tanított anyag ismeretének számonkérését jelentik. Az ismeretek szintjét és mennyiségét megnyugtató módon igazolják az általános iskolai osztályzatok.</p>
+
+<p>A felvételi vizsga keretében megoldandó feladatok a tanuló gondolkodásmódjának fejlettségét és a kifejezőkészségét vizsgálják. Azt szeretnénk megtudni, mennyire képes a tanultakat önállóan alkalmazni, mennyire tud és mer következtetéseket levonni, mennyire tudja a levont következtetéseket írásban megfogalmazni, s mindezt milyen pontosan és helyesen.</p>
+
+<p>Idegen nyelvi felvételi nincs. A nyelvi egyedi tantervű osztályokra való beosztásnál a szintek szerinti bontást utólagos szintméréssel döntjük el.</p>
+
+
+<h3>Ének- zene (speciális tantervű) tanulócsoport</h3>
+
+
+<p>A képességvizsga írásbeli és szóbeli részből áll.
+
+<ol>
+<li>Az írásbeli vizsga követelményei:
+
+ <ol>
+ <li> Diktandó: Periódusnyi dallam hallás után történő lejegyzése</li>
+ <li> Tíz hármashangzat (dúr-moll és fordításai) diktálás utáni lejegyzése</li>
+ <li> Ismert népdal valamely sorának emlékezetből, adott hangmagasságon történő lejegyzése</li>
+ </ol>
+</li>
+<li> A szóbeli vizsga követelményei:
+ <ol>
+ <li> Tanult hangszeren két egymástól eltérő stílusú mű bemutatása</li>
+ <li> Blattolás (8 ütemes klasszikus idézet)</li>
+ <li> Öt népdal kifejező éneklése (legyenek más-más karakterűek: parlando-giusto)</li>
+ </ol>
+</li>
+</ol>
+
+</p>
+
+<h3>Humán és magyar tanulócsoport</h3>
+
+<p>Különös figyelmet fordítunk az értő szövegolvasásra, a kritikus gondolkodásra, a megfelelő szóbeli és írásbeli kommunikációra. Fontosnak tartjuk a tanulók absztrakciós képességét, fantáziájának fejlettségét és a nyitottságot a közös munkára.</p>
+
+
+<h3>Matematika tanulócsoport</h3>
+
+<p>A matematikai gondolkozásmód és a bizonyítási igény, amit fontosabbnak tartunk ebben a csoportban a többinél. A számonkérés az általános iskolai tananyagra épülve kiemelten kezelve a számolási készséget, a szövegértést, lényegkiemelést, az egyszerű geometriai problémák megoldását, illetve az egyszerű egyenletek, egyenlőtlenségek megoldását.</p>
+
+
+<h3>Biológia tanulócsoport</h3>
+
+<p>A meghallgatáson elsősorban nem lexikális ismereteket kérünk számon, hanem a tanuló biológia iránti érdeklődését, a tanult ismeretek integrálását, alkalmazását értékeljük a feladatok megoldásakor.</p>
+
+<p>
+ A meghallgatás témakörei:
+ <ol>
+ <li> Állattan</li>
+ <li> Növénytan</li>
+ <li> Az ember szervezetének felépítése és működése</li>
+ <li> Ökológiai ismeretek</li>
+ </ol>
+
+</p>
+
+
+<h3>Informatika tanulócsoport</h3>
+
+<p>Az esetleges meghallgatáson elsősorban nem lexikális ismereteket kérünk számon, hanem a tanuló számítástechnika iránti érdeklődését és az új ismeretek befogadására való nyitottságát vizsgáljuk. A feladatok előzetes tanulmányok nélkül („józan paraszti ésszel”) is megoldhatóak, bár erősen kapcsolódnak az egyszerű programozási ismeretekhez. Sok feladatnál előnyt jelenthet az általános iskolákban sok helyen tanított Comenius Logo programozási nyelv ismerete.</p>
+
+<p>A sikeres felvételihez a jelöltnek rendelkeznie kell a számítástechnikai felhasználói ismeretek (legalább megfelelő szintű) ismeretével is.</p>
+
+<p>További előny, ha a jelentkező alapos hardverismeretekkel rendelkezik, illetve ha felhasználóként jól használja a számítógépet (természetesen nem csak játékra :)).</p>
+
+
+
+</div> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/5.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/5.html
new file mode 100644
index 00000000..d6ca2209
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/5.html
@@ -0,0 +1,52 @@
+<div class="ft">
+
+<h1> 5. A felvételi eljárás (mindenkire vonatkozó) szabályai</h1>
+
+<p>Az iskola igazgatója 2007. november 19-én (hétfőn) 18.00 órakor tájékoztató értekezletet tart a felvételi eljárás rendjéről.</p>
+
+<p>A felvételi eljárás szabályait az Oktatási Minisztérium rendelete szabályozza.</p>
+
+<p>Mivel az elmúlt három évben az iskolánkba felvételizni kívánó tanulók száma sokszoros túljelentkezést mutatott, részt veszünk a központilag szervezett írásbeli vizsgával történő felvételiztetésben.</p>
+
+<p>Az írásbeli vizsgára a pályázó tanulóknak 2007. december 07-ig közvetlenül az iskolában kell jelentkezniük, melyhez a jelentkezési lap november 26-tól az iskola portáján kérhető.</p>
+
+<p>A felvételi vizsgák időpontjáról külön értesítést nem küldünk! Mivel a felvételi feladatlapok azonosak és a feladatlapok javítása is egységesen történik, iskolánk az eredmények kihirdetése után ugyanúgy mérlegeli a máshol írt, de hozzánk jelentkező tanulók eredményeit, mint azokét, akik gimnáziumunkban vizsgáztak.</p>
+
+<p>A rendelet lehetővé teszi, hogy aki (betegség vagy egyéb, a tanuló hibáján kívül álló, méltányolható okból) nem tudott részt venni a központi felvételin, ugyancsak központi, pótlólagos dolgozat megírásával tegyen felvételi vizsgát. Egy jelentkező azonban semmiképpen sem írhat kétszer felvételi feladatsort.</p>
+
+<p>Éppen a kétszeri vizsgázás elkerülésének céljából, a rendelet szerint, a pótdolgozatot is csak abban az iskolában írhatják meg a tanulók, ahová decemberben az írásbeli vizsgára bejelentkeztek.</p>
+
+<p>A dolgozatot író felvételizők még a jelentkezési határidő előtt, 2008. február 08-ig megtudják az írásbeli vizsga eredményeit a gimnázium aulájában kifüggesztett összesítésekből. A tanuló, illetve a szülő kérésére, az iskola hivatalos igazolást ad ki a pályázó elért pontszámáról, amely igazolással az esetleges másik gimnáziumokban is fogadni tudják a felvételiző jelentkezését.</p>
+
+<p>A rendes felvételi eljárásra történő jelentkezés határideje: 2008. február 15.</p>
+
+<p>A hozzánk jelentkező tanulókat az előző fejezetekben leírt módokon rangsoroljuk.</p>
+
+<p>A felvételi eljárást szükség esetén szóbeli meghallgatás is kiegészítheti.</p>
+
+<p>A szóbeli szükségességéről és módjáról (a jelentkezések után, azaz február 20. körül) az iskola igazgatója dönt. Az esetleges szóbelikre csak az adott rangsorban egy adott eredményt elérő tanulókat hívjuk be. A konkrét döntésről és időpontokról az iskola aulájában kifüggesztett tájékoztatóban, ill. az iskola honlapján lehet tájékozódni. Az esetleges szóbeliről (a behívás időpontjáról) személyes értesítést nem küldünk!</p>
+
+<p>Amennyiben két jelentkező összesített eredménye közel azonos (maximum 2% a különbség), az iskola előnyben részesítheti a XII. kerületi állandó lakcímmel rendelkező tanulót.</p>
+
+<p>Az iskola 2008. április 20-ig megkapja az Országos Közoktatási Értékelési és Vizsgaközponttól (OKÉV) a felvételi során kialakult végleges rangsort. Az OKÉV visszajelzése alapján az iskola igazgatója 2008. április végéig a felvételre jelentkező tanulóval, ill. gondviselőjével a felvételi eredményt írásban (levélben) közli. Az eredmények végleges kihirdetése előtt sem írásban, sem szóban, sem telefonon nem tudunk tájékoztatást adni az eredményekről.</p>
+
+<p>A végleges felvételi eredmények (osztálynévsorok) várhatóan 2008. április végéig kerülnek nyilvánosságra.</p>
+
+<p>A tanulók felvétele az igazgató hatásköre, minden egyes tanuló felvételéről az igazgató dönt.</p>
+
+<p>A döntés ellen a felvételiző vagy – kiskorú jelentkező esetén – a szülő a Közoktatási Törvény 83.§-ának (2) bekezdése szerint jogorvoslati kérelemmel élhet.</p>
+
+<h2> 5.1. A felvételi pontrendszer</h2>
+
+<p>A felvételiző eredményét minden lépésben normáljuk, azaz a felvételi eljárás során mindig százalékos eredményt számolunk (mintha minden állásig 100 pontot lehetett volna szerezni). Ebből a logikából következik, hogy az aktuális eredmény több is és kevesebb is lehet az előzőeknél (tehát nem arról van szó, hogy a kapott pontok egyszerűen összeadódnak)</p>
+
+<p>Minden tagozaton külön-külön tartjuk nyilván a jelentkezőket, tehát mindenki annyi listán fog szerepelni, ahány kódot a jelentkezéskor megjelölt.</p>
+
+<p>Az első rangsorban húsz pontot kaphat a jelentkező a hozott tanulmányi átlagára (4,0 = 0 pont, 5,0 = 20 pont – lineárisan); a hibátlan magyar és matematika dolgozat pedig 40-40 pontot ér (szintén lineárisan pontozva az elért pontokból).</p>
+
+<p>Szóbeli meghallgatás esetén, a szóbeliken harminc pontot lehet szerezni.</p>
+
+<p>Eltérő szabály érvényes az ének-zene csoportra, ahol a központi írásbeli eredmények mindössze 25-25 pontot érnek, az ének-zene írásbeli és szóbeli pedig maximum 18 és 12 pontot ér.</p>
+
+
+</div>
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/6.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/6.html
new file mode 100644
index 00000000..20d07aa4
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/6.html
@@ -0,0 +1,33 @@
+<div class="ft">
+
+<h1>6. A jelentkezési lapok kitöltése</h1>
+
+<p>A Városmajori Gimnázium azonosító száma: 035242</p>
+
+<p>Az iskola (Városmajori Gimnázium) megjelölése mellett meg kell jelölni azt a tanulócsoportot is, amelyikre a tanuló
+a felvételét kéri.</p>
+
+<p>Külön felhívjuk a figyelmet, hogy a jelentkezési lapon - a megfelelő sorrendben - az összes tagozatot jelöljék meg,
+amelyet el tudnának fogadni a gimnázium kínálatából, mert gyermeküket esetleg - még ha meg is felel a felvételi
+követelményeknek - ennek elmulasztása miatt nem tudjuk más tagozatra átirányítani.</p>
+
+<p>Második idegen nyelvként kérjük - sorrendben -, több nyelvet is jelöljenek meg. A nyelvi csoportbeosztás
+mérlegelését a több idegen nyelvet megjelölőkkel kezdjük. Ha egyetlen nyelvet jelölnek meg, akkor a tanulót, a
+létszámkeret lehetőségei szerint egyszerűen beosztjuk.</p>
+
+<p>A tanulók nyelvi csoportokba való beosztása – a törvényi előírás szerint – az iskola feladata. A pontosan kitöltött jelentkezési lappal segíthetik a beosztást, azonban a kérés teljesítésére garanciát nem vállalhatunk.</p>
+
+<p>A gondviselő elnevezésnél és címnél kérjük, hogy azt a nevet és címet adják meg, ahova a felvételi eredmény postázását kérik, mert számos félreértést, felesleges költséget előzhetnek meg ezzel.</p>
+
+<p>Felhívjuk a figyelmet arra is, hogy csak szabályosan kitöltött jelentkezési lapot tudunk elfogadni. A hatosztályos jelentkezési lapokon egy tantárgyat is meg kell jelölni a szóbelihez!</p>
+
+<p>Tisztában vagyunk azzal, hogy a szülők számára nagy gondot jelent annak eldöntése, hogy hova adják be első helyen
+jelentkezésüket. Az előző években iskolánk iránt nagy érdeklődést mutattak a jelentkezők (a 2007. évi felvételin közel
+ötszörös volt a túljelentkezés), ezért célszerű iskolánkat az első helyre beírni.</p>
+
+<p>A titkárság ügyintézési ideje hétköznaponként 13<sup>30</sup>-15<sup>30</sup>. Az ügyintézési időn kívül,
+illetve 2008. február <del>8.</del> <ins>15.</ins> délután 14<sup>00</sup> után további jelentkezést nem áll módunkban elfogadni.</p>
+
+<p>2007. október 29.</p>
+
+</div> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/7.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/7.html
new file mode 100644
index 00000000..92ac9f80
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/7.html
@@ -0,0 +1,9 @@
+<ul>
+<li>Kiadja: Szebedy Tas igazgató</li>
+<li>A kéziratot ellenőrizte: Bärnkopf Péter és munkatársai</li>
+<li>Webes változat: Városmajori Gimnázium Informatika mk.</li>
+<li>Tördelés és nyomdatechnika: Városmajori Gimnázium Informatika mk.</li>
+<li>A sokszorosítás az iskola titkárságán készült</li>
+<li>Nyomtatásban megjelent: 2007. október 31.</li>
+<li>Példányszám 350</li>
+</ul> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/tartalom.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/tartalom.html
new file mode 100644
index 00000000..471b2aa7
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/20082009/tartalom.html
@@ -0,0 +1,25 @@
+<h1>A Vrosmajori Gimnzium felvteli tjkoztatja</h1>
+<h2>a 2007-2008-as tanvben indul
+ktszint rettsgire felkszt kpzseirl</h2>
+
+<ol>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=1">Ajnls</a></li>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=2">Bevezet: A meghirdetett osztlyok</a></li>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=3">A hatvfolyamos kpzs</a></li>
+ <ol>
+ <li>ltalnos tudnivalk</li>
+ <li>A hatosztlyos felvteli eljrs egyedi szablyai</li>
+ <li>Kvetelmnyek</li>
+ </ol>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=4">A ngy- s tvfolyamos kpzs</a></li>
+ <ol>
+ <li>A ngyvfolyamos kpzs</li>
+ <li>Az tvfolyamos kpzs</li>
+ <li>A ngy- s tosztlyos felvteli eljrs egyedi szablyai</li>
+ <li>Kvetelmnyek</li>
+ </ol>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=5">A felvteli eljrs mindenkire vonatkoz szablyai</a></li>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=6">A jelentkezsi lapok kitltse</a></li>
+ <li><a href="index.php?policy=public&page=felveteli&sub=tajekoztato&f=tajekoztato&fejezet=7">Impresszum</a></li>
+ <!--<li>Fggelk: <a href="/print/FT2007.pdf">az egsz tjkoztat PDF formtumban (nyomtatshoz)</a></li>//-->
+</ul> \ No newline at end of file
diff --git a/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/tajekoztato.html b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/tajekoztato.html
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-felveteli/www/static/hu_HU/felveteli/tajekoztato/tajekoztato.html
diff --git a/mayor-orig/mayor-fenntarto/config/module-fenntarto/config.php.example b/mayor-orig/mayor-fenntarto/config/module-fenntarto/config.php.example
new file mode 100644
index 00000000..0e53fee4
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/config/module-fenntarto/config.php.example
@@ -0,0 +1,10 @@
+<?php
+
+ //define('__FENNTARTO_INSTALLED',true);
+
+ $MYSQL_DATA['fenntarto']['user']= 'mayor_fenntarto';
+ $MYSQL_DATA['fenntarto']['pw']= '%SQLPW%';
+ $MYSQL_DATA['fenntarto']['db']= 'mayor_fenntarto';
+
+
+?>
diff --git a/mayor-orig/mayor-fenntarto/install/module-fenntarto/mysql/base.sql b/mayor-orig/mayor-fenntarto/install/module-fenntarto/mysql/base.sql
new file mode 100644
index 00000000..a515439f
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/install/module-fenntarto/mysql/base.sql
@@ -0,0 +1,16 @@
+
+
+CREATE DATABASE `%MYSQL_FENNTARTO_DB%` CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+GRANT ALL ON `%MYSQL_FENNTARTO_DB%`.* TO '%MYSQL_FENNTARTO_USER%'@'localhost' IDENTIFIED BY '%MYSQL_FENNTARTO_PW%';
+
+USE `%MYSQL_FENNTARTO_DB%`;
+
+CREATE TABLE `rpcKerelem` (
+ `userAccount` varchar(50) NOT NULL default '',
+ `nodeId` mediumint(8) unsigned zerofill NOT NULL DEFAULT '00000000',
+ `OMKod` mediumint(8) unsigned zerofill NOT NULL DEFAULT '00000000',
+ `requ` set('OMKod','Jogosultság','Tantárgyfelosztás') COLLATE utf8_hungarian_ci DEFAULT 'OMKod,Jogosultság',
+ PRIMARY KEY (`nodeId`, `userAccount`,`OMKod`),
+ CONSTRAINT `nodeId_login` FOREIGN KEY (`nodeId`) REFERENCES `mayor_login`.`mayorKeychain` (`nodeId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
diff --git a/mayor-orig/mayor-fenntarto/log/mayor-fenntarto.rev b/mayor-orig/mayor-fenntarto/log/mayor-fenntarto.rev
new file mode 100644
index 00000000..ab5135de
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/log/mayor-fenntarto.rev
@@ -0,0 +1 @@
+4455
diff --git a/mayor-orig/mayor-fenntarto/update/pre003980-1-mayor_fenntarto.sql b/mayor-orig/mayor-fenntarto/update/pre003980-1-mayor_fenntarto.sql
new file mode 100644
index 00000000..88ae258e
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/update/pre003980-1-mayor_fenntarto.sql
@@ -0,0 +1,19 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3980 $$
+CREATE PROCEDURE upgrade_database_3980()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+-- IF EXISTS (
+-- SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='erettsegizo'
+-- ) THEN
+-- END IF;
+
+ALTER TABLE rpcKerelem ADD CONSTRAINT `nodeId_login` FOREIGN KEY (`nodeId`) REFERENCES `mayor_login`.`mayorKeychain` (`nodeId`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3980();
+
+
diff --git a/mayor-orig/mayor-fenntarto/www/include/menu/private/hu_HU/module-fenntarto.php b/mayor-orig/mayor-fenntarto/www/include/menu/private/hu_HU/module-fenntarto.php
new file mode 100644
index 00000000..ec3a5ea1
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/www/include/menu/private/hu_HU/module-fenntarto.php
@@ -0,0 +1,21 @@
+<?php
+
+ $MENU['fenntarto'] = array(array('txt' => 'Fenntartó', 'url' => 'index.php?page=fenntarto'));
+
+ // A menüpontok sorrendjének beállítása - ettől még nem jelenik meg semmi :)
+ $MENU['modules']['fenntarto'] = array(
+ 'vegpontok' => array(),
+ 'tantargyfelosztas' => array(),
+ );
+
+ $MENU['modules']['fenntarto']['admin'] = array(array('txt' => 'Admin', 'url' => 'index.php?page=fenntarto&sub=admin&f=nodes'));
+ $MENU['modules']['fenntarto']['naplo'] = array(array('txt' => 'Napló', 'url' => 'index.php?page=fenntarto&sub=naplo&f=tantargyfelosztas'));
+ $MENU['modules']['fenntarto']['sub']['admin'] = array(
+ 'nodes' => array(array('txt' => 'Végpontok')),
+ );
+ $MENU['modules']['fenntarto']['sub']['naplo'] = array(
+ 'tantargyfelosztas' => array(array('txt' => 'Tantárgyfelosztás')),
+ );
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-fenntarto/www/include/modules/fenntarto/share/osztaly.php b/mayor-orig/mayor-fenntarto/www/include/modules/fenntarto/share/osztaly.php
new file mode 100644
index 00000000..f6abf79c
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/www/include/modules/fenntarto/share/osztaly.php
@@ -0,0 +1,17 @@
+<?php
+
+function getEvfolyamJelek($SET = array('result'=>'indexed')) {
+ $J = array(
+'1','2','3','4','5','6','7','8',
+'9N','9/N','9Ny','9/Ny','9Kny','9/Kny','9AJTP','9/AJTP','9AJKP','9/AJKP','9','10','11','12','13','14','15',
+'H1','H/I','H2','H/II/1','H/II/2',
+'1/8','2/9','3/10','1/9','2/10','3/11',
+'1/11','2/12','1/13','2/14','3/15','4/16','5/13'
+);
+ if ($SET['result'] == 'idonly') return $J;
+ $ret = array();
+ foreach ($J as $evfolyamJel) $ret[] = array('evfolyamJel'=>$evfolyamJel);
+ return $ret;
+}
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-fenntarto/www/include/modules/fenntarto/share/rpc.php b/mayor-orig/mayor-fenntarto/www/include/modules/fenntarto/share/rpc.php
new file mode 100644
index 00000000..7310bedf
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/www/include/modules/fenntarto/share/rpc.php
@@ -0,0 +1,38 @@
+<?php
+
+ function getRPCRequests($userAccount, $requ = null) {
+
+ if (isset($requ)) {
+ $q = "SELECT * FROM rpcKerelem WHERE userAccount='%s' AND requ LIKE '%%%s%%'";
+ $v = array($userAccount, $requ);
+ } else {
+ $q = "SELECT * FROM rpcKerelem WHERE userAccount='%s'";
+ $v = array($userAccount);
+ }
+ return db_query($q, array('debug'=>false,'fv'=>'getRPCRequests','modul'=>'fenntarto','result'=>'indexed','values'=>$v));
+
+ }
+ function delNodeFromRPCRequs($DATA) {
+
+ $q = "DELETE FROM rpcKerelem WHERE nodeId=%u AND userAccount='%s' AND OMKod=%u";
+ $v = array($DATA['nodeId'], $DATA['userAccount'], $DATA['OMKod']);
+ return db_query($q, array('debug'=>false,'fv'=>'delNodeFromRPCRequs','modul'=>'fenntarto','values'=>$v));
+
+ }
+ function addNodeToRPCRequs($DATA) {
+
+ $q = "INSERT INTO rpcKerelem (nodeId, userAccount, OMKod) VALUES (%u, '%s', %u)";
+ $v = array($DATA['nodeId'], $DATA['userAccount'], $DATA['OMKod']);
+ return db_query($q, array('debug'=>false,'fv'=>'addNodeToRPCRequs','modul'=>'fenntarto','values'=>$v));
+
+ }
+ function setRequests($DATA) {
+
+ $q = "UPDATE rpcKerelem SET requ='%s' WHERE nodeId=%u AND userAccount='%s' AND OMKod=%u";
+ $v = array(implode(',',$DATA['requ']),$DATA['nodeId'],$DATA['userAccount'],$DATA['OMKod']);
+ return db_query($q, array('debug'=>false,'fv'=>'setRequests','modul'=>'fenntarto','values'=>$v));
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-fenntarto/www/include/modules/fenntarto/share/sql.php b/mayor-orig/mayor-fenntarto/www/include/modules/fenntarto/share/sql.php
new file mode 100644
index 00000000..72d6ed11
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/www/include/modules/fenntarto/share/sql.php
@@ -0,0 +1,27 @@
+<?php
+
+ function getEnumField($modul, $table, $field) {
+
+ $table = '`'.str_replace('.','`.`',$table).'`';
+ $q = "SHOW FIELDS FROM %s LIKE '%s'";
+ $v = array($table, $field);
+ $field = db_query($q, array('fv' => 'getEnumField', 'modul' => $modul, 'result' => 'record', 'values' => $v));
+ $enum = substr($field['Type'], 6, -2);
+ $values = explode("','", $enum);
+
+ return $values;
+ }
+
+ function getSetField($modul, $table, $field) {
+
+ $table = '`'.str_replace('.','`.`',$table).'`';
+ $q = "SHOW FIELDS FROM %s LIKE '%s'";
+ $v = array($table, $field);
+ $field = db_query($q, array('fv' => 'getSetField', 'modul' => $modul, 'result' => 'record', 'values' => $v));
+ $set = substr($field['Type'], 5, -2);
+ $values = explode("','", $set);
+
+ return $values;
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-fenntarto/www/lang/hu_HU/module-fenntarto/admin/nodes.php b/mayor-orig/mayor-fenntarto/www/lang/hu_HU/module-fenntarto/admin/nodes.php
new file mode 100644
index 00000000..01a1d525
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/www/lang/hu_HU/module-fenntarto/admin/nodes.php
@@ -0,0 +1,13 @@
+<?php
+
+ define('_OMKOD','Intézmény OM kódja');
+ define('_ADD','Felvesz');
+ define('_NODE','Végpont');
+ define('_NODEID','Végpont azonosító');
+ define('_REQUS','Kívánt lekérdezések');
+ define('_OK','ok');
+ define('_JOGOSULTSAG','Jogosultság lekérdezése');
+ define('_UJ_VEGPONT','Új végpont hozzáadása');
+ define('_BIZTOS_TOROL_E','Biztosan töröljük a kérelem listáról?');
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/admin/nodes-pre.php b/mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/admin/nodes-pre.php
new file mode 100644
index 00000000..9e93b4b1
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/admin/nodes-pre.php
@@ -0,0 +1,69 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+
+ require_once('include/share/ssl/ssl.php');
+ require_once('include/modules/fenntarto/share/rpc.php');
+ require_once('include/modules/fenntarto/share/sql.php');
+
+ $ADAT['requests'] = getSetField('fenntarto', 'rpcKerelem', 'requ');
+
+ $ADAT['nodes'] = reindex(getPublicDataFromLocalKeychain(), array('nodeId'));
+ $ADAT['requ'] = getRPCRequests(_USERACCOUNT);
+
+ $RPC = new Interconnect();
+ $ADAT['my']['publicKey'] = $RPC->getPublicKey();
+ $ADAT['my']['nodeId'] = $RPC->getNodeId();
+
+ if ($action == 'addNode') {
+
+ $DATA['userAccount'] = _USERACCOUNT;
+ $DATA['nodeId'] = readVariable($_POST['nodeId'], 'id');
+ $DATA['OMKod'] = readVariable($_POST['OMKod'], 'numeric unsigned');
+
+ addNodeToRPCRequs($DATA);
+ $ADAT['requ'] = getRPCRequests(_USERACCOUNT);
+
+ } elseif ($action == 'setRequ') {
+
+ $DATA['userAccount'] = _USERACCOUNT;
+ $DATA['nodeId'] = readVariable($_POST['nodeId'], 'id');
+ $DATA['OMKod'] = readVariable($_POST['OMKod'], 'numeric unsigned');
+ $DATA['requ'] = readVariable($_POST['requ'], 'enum', 'OMKod', $ADAT['requests']);
+
+ setRequests($DATA);
+ $ADAT['requ'] = getRPCRequests(_USERACCOUNT);
+
+ } elseif ($action == 'delRequ') {
+
+ $DATA['userAccount'] = _USERACCOUNT;
+ $DATA['nodeId'] = readVariable($_POST['nodeId'], 'id');
+ $DATA['OMKod'] = readVariable($_POST['OMKod'], 'numeric unsigned');
+
+ delNodeFromRPCRequs($DATA);
+ $ADAT['requ'] = getRPCRequests(_USERACCOUNT);
+
+ } elseif ($action == 'checkJogosultsag') {
+
+ // honnan
+ $DATA['nodeId'] = $ADAT['my']['nodeId'];
+ $DATA['userAccount'] = _USERACCOUNT;
+ // hova
+ $remoteNodeId = readVariable($_POST['nodeId'], 'id');
+ $RPC->setRemoteHostByNodeId($remoteNodeId);
+ $DATA['OMKod'] = readVariable($_POST['OMKod'], 'numeric unsigned');
+ // mit
+ $DATA['func'] = 'getPrivilegeInfo';
+
+ $RPC->setRequestTarget('naplo');
+ $ADAT['rpcResult'] = $RPC->sendRequest($DATA);
+ if (is_array($ADAT['rpcResult']['alert'])) foreach ($ADAT['rpcResult']['alert'] as $alert) $_SESSION['alert'][] = $alert;
+ elseif (isset($ADAT['rpcResult']['alert'])) $_SESSION['alert'][] = $ADAT['rpcResult']['alert'];
+ if (is_array($ADAT['rpcResult']['priv'])) $ADAT['nodes'][ $RPC->getRemoteNodeId() ][0]['priv'] = $ADAT['rpcResult']['priv'];
+ //dump($ADAT['rpcResult']);
+
+ }
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/admin/nodes.php b/mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/admin/nodes.php
new file mode 100644
index 00000000..c01ea6f5
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/admin/nodes.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putAddNodeForm($ADAT);
+ putRequestsForm($ADAT);
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/naplo/tantargyfelosztas-pre.php b/mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/naplo/tantargyfelosztas-pre.php
new file mode 100644
index 00000000..5ae7643c
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/naplo/tantargyfelosztas-pre.php
@@ -0,0 +1,65 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN !== true && __VEZETOSEG !== true) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/share/ssl/ssl.php');
+ require_once('include/modules/fenntarto/share/rpc.php');
+ require_once('include/modules/fenntarto/share/osztaly.php');
+ require_once('include/modules/fenntarto/share/sql.php');
+
+
+ $RPC = new Interconnect();
+ $ADAT['my']['publicKey'] = $RPC->getPublicKey();
+ $ADAT['my']['nodeId'] = $RPC->getNodeId();
+
+ $tanev = $ADAT['tanev'] = readVariable($_POST['tanev'], 'numeric unsigned');
+ $ADAT['show'] = $req = readVariable($_POST['req'], 'string', null);
+ // Kívánt tantárgyfelosztást adó node-ok lekérdezése
+ $ADAT['requs'] = getRPCRequests(_USERACCOUNT, 'Tantárgyfelosztás');
+ foreach ($ADAT['requs'] as $index => $rAdat) {
+ $nAdat = getPublicDataFromLocalKeychain($rAdat['nodeId']);
+ $ADAT['requs'][$index]['nev'] = $nAdat['nev'];
+ }
+
+ if (isset($tanev)) {
+
+ // Ezek jobb lenne, ha RPC-ből jönnének???
+ // Most két helyen javíandó, ha változik (naplo/include/tantargyfelosztas)
+ $ADAT['evfolyamJelek'] = getEvfolyamJelek(array('result'=>'idonly'));
+ $ADAT['finanszírozott pedagógus létszám'] = array(
+ 'általános iskola' => 11.8, // 11.8 tanuló / 1 pedagógus
+ 'gimnázium' => 12.5, // 12.5 tanuló / 1 pedagógus
+ 'szakiskola, Híd programok' => 12, // ...
+ 'szakközépiskola, nem szakkképző évfolyam' => 12.4,
+ 'szakközépiskola, szakkképző évfolyam' => 13.7
+ ); // -- TODO szakgimnázium???
+
+
+
+ if (is_array($ADAT['requs'])) foreach ($ADAT['requs'] as $rAdat) {
+ if (!in_array($rAdat['nodeId'].'/'.$rAdat['OMKod'], $req)) continue;
+ // honnan
+ $DATA['nodeId'] = $ADAT['my']['nodeId'];
+ $DATA['userAccount'] = _USERACCOUNT;
+ // hova
+ $RPC->setRemoteHostByNodeId($rAdat['nodeId']);
+ $DATA['OMKod'] = $rAdat['OMKod'];
+ // mit
+ $DATA['func'] = 'getTantargyfelosztasStat';
+ $DATA['tanev'] = $tanev;
+
+ $RPC->setRequestTarget('naplo');
+ $ADAT['rpcResult'] = $RPC->sendRequest($DATA);
+ // alert
+ if (is_array($ADAT['rpcResult']['alert'])) foreach ($ADAT['rpcResult']['alert'] as $alert) $_SESSION['alert'][] = $alert;
+ elseif (isset($ADAT['rpcResult']['alert'])) $_SESSION['alert'][] = $ADAT['rpcResult']['alert'];
+
+ $ADAT['intezmeny'][] = $ADAT['rpcResult']['IA'];
+ //dump($ADAT['rpcResult']);
+ }
+ }
+ }
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/naplo/tantargyfelosztas.php b/mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/naplo/tantargyfelosztas.php
new file mode 100644
index 00000000..168366af
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/www/policy/private/fenntarto/naplo/tantargyfelosztas.php
@@ -0,0 +1,11 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putTanevIntezmenySelect($ADAT);
+ if (is_array($ADAT['intezmeny']) && count($ADAT['intezmeny'])>0) putStat($ADAT);
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-fenntarto/www/policy/public/fenntarto/rpc-pre.php b/mayor-orig/mayor-fenntarto/www/policy/public/fenntarto/rpc-pre.php
new file mode 100644
index 00000000..30336e9e
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/www/policy/public/fenntarto/rpc-pre.php
@@ -0,0 +1,43 @@
+<?php
+/*
+ module: mayor-base
+
+ A alap metódusok RPC kezelője
+
+*/
+ require_once('include/share/ssl/ssl.php');
+
+ try
+ {
+ /*
+ rights.php:
+ $RPC = new Interconnect();
+ $RPC->setRemoteHostByNodeId($senderNodeId);
+ $REQUEST = $RPC->processRequest();
+ */
+ $REQUEST = $RPC->getIncomingRequest();
+ $func = $REQUEST['func'];
+
+ }
+ catch (Exception $e)
+ {
+ $func='';
+ $DATA = array('error'=>$e->getMessage());
+ }
+ // processing
+ $DATA = array();
+ if (isset($func) && $func!='') {
+ switch ($func) {
+ // itt a currens verziót kellene visszaadni
+ case 'getVersion':
+ case 'ping':
+ $DATA = array('func'=>'getVersion','revision'=>_MAYORREV,'pong');
+ $RPC->setResponse($DATA);
+ break;
+ default:
+ $DATA['result'] = 'ismeretlen függvény: '.$func;
+ break;
+ }
+
+ }
+?>
diff --git a/mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/css/admin/nodes.css b/mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/css/admin/nodes.css
new file mode 100644
index 00000000..9a665659
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/css/admin/nodes.css
@@ -0,0 +1,16 @@
+
+ form#addNode { background-color: #ceddec; margin: 10px auto; width: 600px; padding: 10px; text-align: center; border: outset 2px; color: #234; }
+ form#addNode p { text-align: left; padding: 1px 4px; }
+ form#addNode p select { width: 100%; color: #234; }
+ form#addNode h3 { border-bottom: 1px solid #a00; }
+ form#addNode label { margin-right: 5px; }
+
+
+ table#requNodes { background-color: white; border: 1px solid #ceddec; border-spacing: 0px; margin: auto; }
+ table#requNodes th, table#requNodes td { border: 1px solid #ddd; padding: 2px 5px; }
+ table#requNodes td label { padding: 2px 5px; border: 1px solid #ddd; border-radius: 4px; margin: 1px 2px; }
+ table#requNodes td label.allow { border-color: #060; color: #0a0; }
+ table#requNodes td label.forbid { border-color: #600; color: #a00; }
+ table#requNodes td input[type=checkbox] { position: relative; top: 2px; }
+
+ form#del input[type=submit] { color: white; background-color: #d00; }
diff --git a/mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/css/naplo/tantargyfelosztas.css b/mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/css/naplo/tantargyfelosztas.css
new file mode 100644
index 00000000..ed9f50ee
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/css/naplo/tantargyfelosztas.css
@@ -0,0 +1,41 @@
+@media screen {
+
+ table#tfStat tr.hide { display: none; }
+
+ table#tfStat th { background-color: #ddd; padding: 2px 6px; }
+ table#tfStat td { background-color: #eee; padding: 2px 6px; }
+ table#tfStat td.gap { background-color: #fff; }
+ table#tfStat td.number { text-align: right; min-width: 30px; }
+ table#tfStat td.alert,
+ table#tfStat td span.alert { color: red; }
+
+ table#tfStat th.slide { cursor: pointer; min-width: 180px; }
+
+ table#tfStat span.icon-chevron-up,
+ table#tfStat span.icon-chevron-down { float: right; margin: 4px 0 0 10px; }
+
+ form#tis { background-color: #eee; padding: 10px; border: solid 3px #efefef; margin: 20px 50px; text-align: center; }
+ form#tis h3 { text-align: center; border-bottom: 1px #a00 solid; background-color: #f6f6f6; padding: 4px; }
+ form#tis select { margin: 0px 3px; }
+}
+@media print {
+
+ table.toolBar, span.icon-lock, span.icon-remove-circle, div.icon-lock { display: none; }
+ table#tfStat span.icon-chevron-up,
+ table#tfStat span.icon-chevron-down { display: none; }
+
+ table#tfStat { border-spacing: 0; border-collapse: collapse; line-height: 24px; }
+ table#tfStat, table#tfStat td, table#tfStat th { border: 1px solid black; }
+
+ table#tfStat th { background-color: #fff; padding: 2px 6px; }
+ table#tfStat td { background-color: #fff; padding: 2px 6px; }
+ table#tfStat td.gap { background-color: #fff; }
+ table#tfStat td.number { text-align: right; min-width: 30px; }
+ table#tfStat td.alert,
+ table#tfStat td span.alert { color: red; }
+
+ table#tfStat th.slide { min-width: 180px; }
+
+ form#tis { display: none; }
+
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/html/admin/nodes.phtml b/mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/html/admin/nodes.phtml
new file mode 100644
index 00000000..8d8fea46
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/html/admin/nodes.phtml
@@ -0,0 +1,89 @@
+<?php
+
+ function putAddNodeForm($ADAT) {
+ formBegin(array('id'=>'addNode'));
+ echo '<h3>'._UJ_VEGPONT.'</h3>';
+ echo '<input type="hidden" name="action" value="addNode" />';
+ echo '<p>';
+ echo '<select name="nodeId">';
+ foreach ($ADAT['nodes'] as $nodeId => $nAdat) {
+ echo '<option value="'.$nAdat[0]['nodeId'].'">'.$nAdat[0]['nev'].' - '.$nAdat[0]['cimHelyseg'].' ('.$nAdat[0]['nodeId'].')</option>';
+ }
+ echo '</select>';
+ echo '<br/>';
+ echo '<label for="OMKod">'._OMKOD.'</label>';
+ echo '<input type="text" id="OMKod" name="OMKod" value="" />';
+ echo '<br/>';
+ echo '</p>';
+ echo '<input type="submit" value="'._ADD.'" />';
+ formEnd();
+ }
+
+ function putRequestsForm($ADAT) {
+ echo '<table id="requNodes">';
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th colspan="2">'._NODE.'</th>';
+ echo '<th>'._NODEID.'</th>';
+ echo '<th>'._OMKOD.'</th>';
+ echo '<th>'._REQUS.'</th>';
+ echo '<th>'.'</th>';
+ echo '</tr>';
+ echo '</thead>';
+ echo '<tbody>';
+ foreach ($ADAT['requ'] as $index => $pAdat) {
+ echo '<tr>';
+ echo '<td>';
+ formBegin(array('id'=>'del'));
+ echo '<input type="hidden" name="action" value="delRequ" />';
+ echo '<input type="hidden" name="nodeId" value="'.$pAdat['nodeId'].'" />';
+ echo '<input type="hidden" name="userAccount" value="'.$pAdat['userAccount'].'" />';
+ echo '<input type="hidden" name="OMKod" value="'.$pAdat['OMKod'].'" />';
+ echo '<input type="submit" value="X" class="confirm" title="'._BIZTOS_TOROL_E.'" />';
+ formEnd();
+ echo '</td>';
+ echo '<td>'.$ADAT['nodes'][ $pAdat['nodeId'] ][0]['nev'].'</td>';
+ echo '<td>'.$pAdat['nodeId'].'</td>';
+ echo '<td>'.$pAdat['OMKod'].'</td>';
+ echo '<td>';
+ formBegin(array('id'=>'requ'));
+ echo '<input type="hidden" name="action" value="setRequ" />';
+ echo '<input type="hidden" name="nodeId" value="'.$pAdat['nodeId'].'" />';
+ echo '<input type="hidden" name="userAccount" value="'.$pAdat['userAccount'].'" />';
+ echo '<input type="hidden" name="OMKod" value="'.$pAdat['OMKod'].'" />';
+ $nRequ = explode(',',$pAdat['requ']);
+ foreach ($ADAT['requests'] as $index => $requ) {
+ if (in_array($requ, $nRequ)) $CHK=' checked="checked" ';
+ else $CHK = '';
+ if (is_array($ADAT['nodes'][ $pAdat['nodeId'] ][0]['priv'])) {
+ if (in_array($requ, $ADAT['nodes'][ $pAdat['nodeId'] ][0]['priv'])) $class='allow';
+ else $class = 'forbid';
+ } else { $class=''; }
+ $id = 'n'.$pAdat['nodeId'].ekezettelen($pAdat['userAccount']).$pAdat['OMKod'].$index;
+ echo '<label class="'.$class.'" for="'.$id.'">';
+ echo '<input class="'.$class.'" id="'.$id.'" type="checkbox" name="requ[]" value="'.$requ.'"'.$CHK.' />';
+ echo $requ.'</label>';
+ }
+ echo '<input type="submit" value="'._OK.'" />';
+ formEnd();
+ echo '</td>';
+ echo '<td>';
+ if (in_array('Jogosultság',$nRequ)) {
+ formBegin(array('id'=>'requ'));
+ echo '<input type="hidden" name="action" value="checkJogosultsag" />';
+ echo '<input type="hidden" name="nodeId" value="'.$pAdat['nodeId'].'" />';
+ echo '<input type="hidden" name="userAccount" value="'.$pAdat['userAccount'].'" />';
+ echo '<input type="hidden" name="OMKod" value="'.$pAdat['OMKod'].'" />';
+ echo '<input type="submit" value="'._JOGOSULTSAG.'" />';
+ formEnd();
+ }
+ echo '</td>';
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ echo '</table>';
+
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/html/naplo/tantargyfelosztas.phtml b/mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/html/naplo/tantargyfelosztas.phtml
new file mode 100644
index 00000000..f853514b
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/html/naplo/tantargyfelosztas.phtml
@@ -0,0 +1,451 @@
+<?php
+
+ function putTanevIntezmenySelect($ADAT) {
+
+ formBegin(array('id'=>'tis'));
+ echo '<h3>Tantárgyfelosztás lekérdezése</h3>';
+
+ $SEL = array($ADAT['tanev'] => ' selected="selected" ');
+ echo '<select name="tanev">';
+ echo '<option value="">tanév</option>';
+ for ($t = date("Y"); $t>2002; $t--) echo '<option value="'.$t.'"'.$SEL[$t].'>'.$t.'</option>';
+ echo '</select>';
+
+ $SEL = array($ADAT['show'][0] => ' selected="selected" ');
+ echo '<select name="req[]">';
+ echo '<option value="">nodeId - név [OM kód] (1)</option>';
+ foreach ($ADAT['requs'] as $rAdat) {
+ echo '<option value="'.$rAdat['nodeId'].'/'.$rAdat['OMKod'].'"'.$SEL[$rAdat['nodeId'].'/'.$rAdat['OMKod']].'>';
+ echo $rAdat['nodeId'].' - '.$rAdat['nev'].' ['.$rAdat['OMKod'].']';
+ echo '</option>';
+ }
+ echo '</select>';
+
+ $SEL = array($ADAT['show'][1] => ' selected="selected" ');
+ echo '<select name="req[]">';
+ echo '<option value="">nodeId - név [OM kód] (2)</option>';
+ foreach ($ADAT['requs'] as $rAdat) {
+ echo '<option value="'.$rAdat['nodeId'].'/'.$rAdat['OMKod'].'"'.$SEL[$rAdat['nodeId'].'/'.$rAdat['OMKod']].'>';
+ echo $rAdat['nodeId'].' - '.$rAdat['nev'].' ['.$rAdat['OMKod'].']';
+ echo '</option>';
+ }
+ echo '</select>';
+
+ echo '<input type="submit" value="ok" />';
+
+ formEnd();
+
+ }
+
+ function putStat($ADAT) {
+
+ echo '<h1>A '.$ADAT['tanev'].'/'.($ADAT['tanev']+1).' tanév tantárgyfelosztási statisztikája</h1>';
+ echo '<table id="tfStat">';
+ // Intézményi alapadatok
+ echo '<tbody id="alap">';
+ echo '<tr><th>Intézmény neve<br/>OM<br />Címe</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td colspan="6">'
+ .$iAdat['intezmenyAdat']['nev'].'<br />'
+ .$iAdat['intezmenyAdat']['OMKod'].'<br />'
+ .$iAdat['intezmenyAdat']['cimHelyseg'].' '.$iAdat['intezmenyAdat']['cimIrsz'].', '.$iAdat['intezmenyAdat']['cimKozteruletNev'].' '.$iAdat['intezmenyAdat']['cimKozteruletJelleg'].' '.$iAdat['intezmenyAdat']['cimHazszam'];
+ echo '</td>';
+ }
+ echo '</tr>';
+ echo '</tbody>';
+
+ // Pedagógus létszám
+ echo '<tbody id="tanarLetszam">';
+ echo '<tr><th class="slide">Pedagógus létszám <span class="icon-chevron-down"></span></th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td colspan="2" class="number">'.intval($iAdat['tanarLetszam']['statusz']['határozatlan idejű']+$iAdat['tanarLetszam']['statusz']['határozott idejű']).'</td>';
+ echo '<td class="gap" colspan="4"></td>';
+ }
+ echo '</tr>';
+ echo '<tr class="hide"><th></th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<th colspan="2">Gyakornok<br />Pedagógus I.<br/>Pedagógus II.<br/>Mesterpedagógus</br>Kutatótanár</td>';
+ echo '<td class="number">'.$iAdat['tanarLetszam']['besorolas']['Gyakornok'].'<br/>'
+ .$iAdat['tanarLetszam']['besorolas']['Pedagógus I.'].'<br/>'
+ .$iAdat['tanarLetszam']['besorolas']['Pedagógus II.'].'<br/>'
+ .$iAdat['tanarLetszam']['besorolas']['Mesterpedagógus'].'<br/>'
+ .$iAdat['tanarLetszam']['besorolas']['Kutatótanár']
+ .'</td>';
+ echo '<th colspan="2">Határozatlan idejű<br/>Határozott idejű<br />Tartósan távol</th>';
+ echo '<td class="number">'
+ .intval($iAdat['tanarLetszam']['statusz']['határozatlan idejű']).'<br/>'
+ .intval($iAdat['tanarLetszam']['statusz']['határozott idejű']).'<br/>'
+ .intval($iAdat['tanarLetszam']['statusz']['tartósan távol']).'<br/>'
+ .'</td>';
+ }
+ echo '</tr>';
+ echo '</tbody>';
+
+ // Finanszírozott pedagógus létszám (a költségvetési törvény szerint)
+ echo '<tbody id="tanarLetszam">';
+ echo '<tr><th class="slide" rowspan="2"><span class="icon-chevron-down"></span>Finanszírozott <br/>pedagógus létszám</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<th colspan="2">Összesen</th><th colspan="2" rowspan="2">Diák létszám</th><th colspan="2" rowspan="2">Mutató</th>';
+ }
+ echo '</tr>';
+ echo '<tr>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ $pLetszam = 0;
+ foreach ($ADAT['finanszírozott pedagógus létszám'] as $osztalyTipus => $mutato)
+ $pLetszam += round(intval($iAdat['diakLetszam'][$osztalyTipus])/$mutato);
+ echo '<td class="number" colspan="2">'.$pLetszam.'</td>';
+ }
+ echo '</tr>';
+ foreach ($ADAT['finanszírozott pedagógus létszám'] as $osztalyTipus => $mutato) {
+ echo '<tr class="hide"><th title="'.$mutato.' tanuló / 1 pedagógus">'.$osztalyTipus.'</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number" colspan="2">'.round(intval($iAdat['diakLetszam'][$osztalyTipus])/$mutato).'</td>';
+ echo '<td class="number" colspan="2">'.$iAdat['diakLetszam'][$osztalyTipus].'</td>';
+ echo '<td class="number" colspan="2">'.$mutato.'</td>';
+ }
+ echo '</tr>';
+ }
+ echo '</tbody>';
+
+ // Diák létszám adatok
+ echo '<tbody id="diakLetszam">';
+ echo '<tr><th class="slide" rowspan="2">Diák létszám <span class="icon-chevron-down"></span></th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) echo '<th colspan="2">Összes</th><th colspan="2">Fiú</th><th colspan="2">Lány</th>';
+ echo '</tr>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ if (
+ intval($iAdat['diakLetszam']['statusz']['jogviszonyban van']+$iAdat['diakLetszam']['statusz']['magántanuló'])
+ <> intval($iAdat['diakLetszam']['statusz']['fiú']['jogviszonyban van']+$iAdat['diakLetszam']['statusz']['fiú']['magántanuló'])
+ +intval($iAdat['diakLetszam']['statusz']['lány']['jogviszonyban van']+$iAdat['diakLetszam']['statusz']['lány']['magántanuló'])
+ ) $class=' alert';
+ else $class='';
+ echo '<td colspan="2" class="number'.$class.'">'.intval($iAdat['diakLetszam']['statusz']['jogviszonyban van']+$iAdat['diakLetszam']['statusz']['magántanuló']).'</td>'
+ .'<td colspan="2" class="number'.$class.'">'.intval($iAdat['diakLetszam']['statusz']['fiú']['jogviszonyban van']+$iAdat['diakLetszam']['statusz']['fiú']['magántanuló']).'</td>'
+ .'<td colspan="2" class="number'.$class.'">'.intval($iAdat['diakLetszam']['statusz']['lány']['jogviszonyban van']+$iAdat['diakLetszam']['statusz']['lány']['magántanuló']).'</td>';
+ //echo '<td class="gap"></td>';
+ }
+ echo '<tr class="hide"><th>jogviszonyban van<br />magántanuló<br />vendégtanuló<br />jogviszonya szünetel</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ if (intval($iAdat['diakLetszam']['statusz']['jogviszonyban van']) <> intval($iAdat['diakLetszam']['statusz']['fiú']['jogviszonyban van']+$iAdat['diakLetszam']['statusz']['lány']['jogviszonyban van']))
+ $jvClass=' class="alert"';
+ if (intval($iAdat['diakLetszam']['statusz']['magántanuló']) <> intval($iAdat['diakLetszam']['statusz']['fiú']['magántanuló']+$iAdat['diakLetszam']['statusz']['lány']['magántanuló']))
+ $mClass=' class="alert"';
+ if (intval($iAdat['diakLetszam']['statusz']['vendégtanuló']) <> intval($iAdat['diakLetszam']['statusz']['fiú']['vendégtanuló']+$iAdat['diakLetszam']['statusz']['lány']['vendégtanuló']))
+ $vClass=' class="alert"';
+ if (intval($iAdat['diakLetszam']['statusz']['jogviszonya felfüggesztve']) <> intval($iAdat['diakLetszam']['statusz']['fiú']['jogviszonya felfüggesztve']+$iAdat['diakLetszam']['statusz']['lány']['jogviszonya felfüggesztve']))
+ $jfClass=' class="alert"';
+ echo '<td colspan="2" class="number">'
+ .'<span'.$jvClass.'>'.$iAdat['diakLetszam']['statusz']['jogviszonyban van'].'</span><br />'
+ .'<span'.$mClass.'>'.$iAdat['diakLetszam']['statusz']['magántanuló'].'</span><br />'
+ .'<span'.$vClass.'>'.$iAdat['diakLetszam']['statusz']['vendégtanuló'].'</span><br />'
+ .'<span'.$jfClass.'>'.$iAdat['diakLetszam']['statusz']['jogviszonya felfüggesztve'].'</span>'.
+ '</td>';
+ echo '<td colspan="2" class="number">'
+ .'<span'.$jvClass.'>'.$iAdat['diakLetszam']['statusz']['fiú']['jogviszonyban van'].'</span><br />'
+ .'<span'.$mClass.'>'.$iAdat['diakLetszam']['statusz']['fiú']['magántanuló'].'</span><br />'
+ .'<span'.$vClass.'>'.$iAdat['diakLetszam']['statusz']['fiú']['vendégtanuló'].'</span><br />'
+ .'<span'.$jfClass.'>'.$iAdat['diakLetszam']['statusz']['fiú']['jogviszonya felfüggesztve'].'</span>'.
+ '</td>';
+ echo '<td colspan="2" class="number">'
+ .'<span'.$jvClass.'>'.$iAdat['diakLetszam']['statusz']['lány']['jogviszonyban van'].'</span><br />'
+ .'<span'.$mClass.'>'.$iAdat['diakLetszam']['statusz']['lány']['magántanuló'].'</span><br />'
+ .'<span'.$vClass.'>'.$iAdat['diakLetszam']['statusz']['lány']['vendégtanuló'].'</span><br />'
+ .'<span'.$jfClass.'>'.$iAdat['diakLetszam']['statusz']['lány']['jogviszonya felfüggesztve'].'</span>'.
+ '</td>';
+ //echo '<td class="gap"></td>';
+ }
+ echo '</tr>';
+ echo '<tr class="hide"><th>Évfolyam létszámok</th>';
+ echo '</tr>';
+ foreach ($ADAT['evfolyamJelek'] as $idx => $evfolyamJel) {
+ $letezoEvfolyam = false;
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ if (is_array($iAdat['diakLetszam']['evfolyamJel'][$evfolyamJel])) {
+ if (!$letezoEvfolyam) {
+ echo '<tr class="hide"><th>'.$evfolyamJel.'</th>';
+ $letezoEvfolyam = true;
+ }
+ if ($letezoEvfolyam) {
+ echo '<td colspan="2" class="number">'.$iAdat['diakLetszam']['evfolyamJel'][$evfolyamJel]['összes'].'</td>';
+ echo '<td colspan="2" class="number">'.$iAdat['diakLetszam']['evfolyamJel'][$evfolyamJel]['fiú'].'</td>';
+ echo '<td colspan="2" class="number">'.$iAdat['diakLetszam']['evfolyamJel'][$evfolyamJel]['lány'].'</td>';
+ //echo '<td class="gap"></td>';
+ }
+ }
+ }
+ if ($letezoEvfolyam) echo '</tr>';
+ }
+ echo '</tbody>';
+
+ // Óraszámok
+ echo '<tbody id="oraszamok">';
+ echo '<tr><th rowspan="2" class="slide">Óraszámok <span class="icon-chevron-down"></span></th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<th>Összes</th><th rowspan="2" colspan="3"></th><th>Óratervi</th><th>Tanórán kívüli</th>';
+ }
+ echo '</tr><tr>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo ''
+ .'<td class="number">'.number_format($iAdat['oraszamok']['összes'],2,',','').'</td>'
+ .'<td class="number">'.number_format($iAdat['oraszamok']['óratervi'],2,',','').'</td>'
+ .'<td class="number">'.number_format($iAdat['oraszamok']['tanórán kívüli'],1,',','').'</td>'
+ ;
+ }
+ echo '</tr>';
+ echo '<tr class="hide"><th>Tantárgyanként</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['targyOraszamok']['összes'][$targyId])) {
+ echo number_format($iAdat['targyOraszamok']['összes'][$targyId],1,',','').'<br />';
+ }
+ }
+ echo '</td>';
+ echo '<th colspan="3">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['targyOraszamok']['összes'][$targyId])) {
+ echo $tAdat['targyNev'].'<br />';
+ }
+ }
+ echo '</th>';
+ foreach (array('óratervi','tanórán kívüli') as $oratervi) {
+ echo '<td class="number">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['targyOraszamok']['összes'][$targyId])) {
+ echo number_format($iAdat['targyOraszamok'][$oratervi][$targyId],1,',','').'<br />';
+ }}
+ echo '</td>';
+ }
+ }
+ echo '</tr>';
+ echo '<tr class="hide"><th>Osztályonként</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number">';
+ foreach ($iAdat['osztalyIds'] as $osztalyId) {
+ if (isset($iAdat['osztalyOraszamok']['összes'][$osztalyId])) {
+ echo number_format($iAdat['osztalyOraszamok']['összes'][$osztalyId],1,',','').'<br />';
+ }
+ }
+ echo '</td>';
+
+ echo '<th colspan="3">';
+ foreach ($iAdat['osztalyIds'] as $osztalyId) {
+ if (isset($iAdat['osztalyOraszamok']['összes'][$osztalyId])) {
+ echo $iAdat['osztalyAdat'][$osztalyId]['osztalyJel'].'<br />';
+ }
+ }
+ echo '</th>';
+ foreach (array('óratervi','tanórán kívüli') as $oratervi) {
+ echo '<td class="number">';
+ foreach ($iAdat['osztalyIds'] as $osztalyId) {
+ if (isset($iAdat['osztalyOraszamok']['összes'][$osztalyId])) {
+ echo number_format($iAdat['osztalyOraszamok'][$oratervi][$osztalyId],1,',','').'<br />';
+ }}
+ echo '</td>';
+ }
+ }
+ echo '<tr class="hide"><th>Évfolyamonként</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number">';
+ foreach ($ADAT['evfolyamJelek'] as $evfolyamJel) {
+ if (isset($iAdat['evfolyamOraszamok']['összes'][$evfolyamJel])) {
+ echo number_format($iAdat['evfolyamOraszamok']['összes'][$evfolyamJel],1,',','').'<br />';
+ }
+ }
+ echo '</td>';
+
+ echo '<th colspan="3">';
+ foreach ($ADAT['evfolyamJelek'] as $evfolyamJel) {
+ if (isset($iAdat['evfolyamOraszamok']['összes'][$evfolyamJel])) {
+ echo $evfolyamJel.'<br />';
+ }
+ }
+ echo '</th>';
+ foreach (array('óratervi','tanórán kívüli') as $oratervi) {
+ echo '<td class="number">';
+ foreach ($ADAT['evfolyamJelek'] as $evfolyamJel) {
+ if (isset($iAdat['evfolyamOraszamok']['összes'][$evfolyamJel])) {
+ echo number_format($iAdat['evfolyamOraszamok'][$oratervi][$evfolyamJel],1,',','').'<br />';
+ }}
+ echo '</td>';
+ }
+ }
+ echo '</tr>';
+ echo '</tbody>';
+
+ // időkeret
+ echo '<tbody id="idokeret">';
+ echo '<tr><th class="slide" rowspan="2">Heti időkeret <span class="icon-chevron-down"></span></th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<th>összesen</th>'
+ .'<th>enge-<br/>délye-<br/>zett</th>'
+ .'<th>tehetség-<br/>gondozás, <br/>felzárkóztatás</th>'
+ .'<th>hittan többlet <br/>órakerete <br/>egyházi <br/>intéz-<br/>ményben</th>'
+ .'<th>6 és 8 <br/>évfolyamos <br/>gimnáziumok <br/> többlet <br/>óraszáma</th>'
+ .'<th>nemzetiségi <br/>oktatás-<br/>nevelés <br/>többlet <br/>óraszáma</th>'
+ ;
+ }
+ echo '</tr><tr>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number">'.$iAdat['osztalyIdokeret']['összesen']['összes'].'</td>'
+ .'<td class="number">'.$iAdat['osztalyIdokeret']['összesen']['engedélyezett'].'</td>'
+ .'<td class="number">'.$iAdat['osztalyIdokeret']['összesen']['tehetséggondozás-felzárkóztatás'].'</td>'
+ .'<td class="number">'.$iAdat['osztalyIdokeret']['összesen']['egyházi'].'</td>'
+ .'<td class="number">'.$iAdat['osztalyIdokeret']['összesen']['gimnázium'].'</td>'
+ .'<td class="number">'.$iAdat['osztalyIdokeret']['összesen']['nemzetiségi'].'</td>'
+ ;
+ }
+ echo '</tr>';
+ echo '<tr class="hide"><th>'
+ .'Általános iskola alsó tagozat<br/>'
+ .'Általános&nbsp;iskola&nbsp;felső&nbsp;tagozat<br/>'
+ .'Általános iskola<br/>'
+ .'Gimnázium 1-8. évfolyam<br/>'
+ .'Gimnázium&nbsp;9-12.&nbsp;évfolyam<br/>'
+ .'Gimnázium</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number">'
+ .$iAdat['osztalyIdokeret']['alsó']['összes'].'<br/>'
+ .$iAdat['osztalyIdokeret']['felső']['összes'].'<br/>'
+ .$iAdat['osztalyIdokeret']['általános']['összes'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium18']['összes'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium92']['összes'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium']['összes'].'<br/>'
+ .'</td>'
+ .'<td class="number">'
+ .$iAdat['osztalyIdokeret']['alsó']['engedélyezett'].'<br/>'
+ .$iAdat['osztalyIdokeret']['felső']['engedélyezett'].'<br/>'
+ .$iAdat['osztalyIdokeret']['általános']['engedélyezett'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium18']['engedélyezett'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium92']['engedélyezett'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium']['engedélyezett'].'<br/>'
+ .'</td>'
+ .'<td class="number">'
+ .$iAdat['osztalyIdokeret']['alsó']['tehetséggondozás-felzárkóztatás'].'<br/>'
+ .$iAdat['osztalyIdokeret']['felső']['tehetséggondozás-felzárkóztatás'].'<br/>'
+ .$iAdat['osztalyIdokeret']['általános']['tehetséggondozás-felzárkóztatás'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium18']['tehetséggondozás-felzárkóztatás'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium92']['tehetséggondozás-felzárkóztatás'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium']['tehetséggondozás-felzárkóztatás'].'<br/>'
+ .'</td>'
+ .'<td class="number">'
+ .$iAdat['osztalyIdokeret']['alsó']['egyházi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['felső']['egyházi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['általános']['egyházi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium18']['egyházi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium92']['egyházi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium']['egyházi'].'<br/>'
+ .'</td>'
+ .'<td class="number">'
+ .$iAdat['osztalyIdokeret']['alsó']['gimnázium'].'<br/>'
+ .$iAdat['osztalyIdokeret']['felső']['gimnázium'].'<br/>'
+ .$iAdat['osztalyIdokeret']['általános']['gimnázium'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium18']['gimnázium'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium92']['gimnázium'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium']['gimnázium'].'<br/>'
+ .'</td>'
+ .'<td class="number">'
+ .$iAdat['osztalyIdokeret']['alsó']['nemzetiségi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['felső']['nemzetiségi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['általános']['nemzetiségi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium18']['nemzetiségi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium92']['nemzetiségi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium']['nemzetiségi'].'<br/>'
+ .'</td>'
+ ;
+ }
+ echo '</tr>';
+ echo '<tr class="hide"><th>Osztályonként</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<th>';
+ foreach ($iAdat['osztalyAdat'] as $osztalyId => $oAdat) echo $oAdat['osztalyJel'].'<br/>';
+ echo '</th>';
+ echo '<td class="number">';
+ foreach ($iAdat['osztalyAdat'] as $osztalyId => $oAdat) echo $iAdat['osztalyIdokeret'][$osztalyId]['engedélyezett'].'<br/>';
+ echo '</td>';
+ echo '<td class="number">';
+ foreach ($iAdat['osztalyAdat'] as $osztalyId => $oAdat) echo $iAdat['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'].'<br/>';
+ echo '</td>';
+ echo '<td class="number">';
+ foreach ($iAdat['osztalyAdat'] as $osztalyId => $oAdat) echo $iAdat['osztalyIdokeret'][$osztalyId]['egyházi'].'<br/>';
+ echo '</td>';
+ echo '<td class="number">';
+ foreach ($iAdat['osztalyAdat'] as $osztalyId => $oAdat) echo $iAdat['osztalyIdokeret'][$osztalyId]['gimnázium'].'<br/>';
+ echo '</td>';
+ echo '<td class="number">';
+ foreach ($iAdat['osztalyAdat'] as $osztalyId => $oAdat) echo $iAdat['osztalyIdokeret'][$osztalyId]['nemzetiségi'].'<br/>';
+ echo '</td>';
+ }
+ echo '</tr>';
+ echo '</tbody>';
+
+ echo '</tbody id="tankorLetszamStat"><tr><th rowspan="2" class="slide">Csoport statisztika <span class="icon-chevron-down"></span></th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<th>Csoportok száma</th><th colspan="2" rowspan="2"></th><th>minimális csoportlétszám</th><th>maximális csoportlétszám</th><th>átlagos csoportlétszám</th>';
+ $osszDb = 0; $osszMax = 0; $osszSum = 0; unset($osszMin);
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['tankorLetszamStat'][$targyId]['sum'])) {
+ $osszDb += $iAdat['tankorLetszamStat'][$targyId]['db'];
+ $osszSum += $iAdat['tankorLetszamStat'][$targyId]['sum'];
+ if ($osszMax < $iAdat['tankorLetszamStat'][$targyId]['max']) $osszMax = $iAdat['tankorLetszamStat'][$targyId]['max'];
+ if (!isset($osszMin) || $iAdat['tankorLetszamStat'][$targyId]['min']<$osszMin)
+ $osszMin = $iAdat['tankorLetszamStat'][$targyId]['min'];
+ }
+ }
+ $ADAT['intezmeny'][$intezmeny]['tankorLetszamStat']['összes'] =
+ array('db'=>$osszDb, 'min'=>$osszMin, 'max'=>$osszMax, 'átlag'=>number_format($osszSum/$osszDb,1,',',''));
+ }
+ echo '</tr>';
+ echo '<tr>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number">'.$iAdat['tankorLetszamStat']['összes']['db'].'</td>'
+ .'<td class="number">'.$iAdat['tankorLetszamStat']['összes']['min'].'</td>'
+ .'<td class="number">'.$iAdat['tankorLetszamStat']['összes']['max'].'</td>'
+ .'<td class="number">'.$iAdat['tankorLetszamStat']['összes']['átlag'].'</td>';
+ }
+ echo '</tr>';
+ echo '<tr class="hide"><th>Tantárgyanként</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {;
+ if (isset($iAdat['tankorLetszamStat'][$targyId]['sum'])) {
+ echo $iAdat['tankorLetszamStat'][$targyId]['db'].'<br />';
+ }
+ }
+ echo '</td>';
+ echo '<th colspan="2">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['tankorLetszamStat'][$targyId]['sum'])) {
+ echo str_replace(' ','&nbsp;', $tAdat['targyNev']).'<br />';
+ }
+ }
+ echo '</th>';
+ echo '<td class="number">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['tankorLetszamStat'][$targyId]['sum'])) {
+ echo $iAdat['tankorLetszamStat'][$targyId]['min'].'<br />';
+ }
+ }
+ echo '</td>';
+ echo '<td class="number">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['tankorLetszamStat'][$targyId]['sum'])) {
+ echo $iAdat['tankorLetszamStat'][$targyId]['max'].'<br />';
+ }
+ }
+ echo '</td>';
+ echo '<td class="number">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['tankorLetszamStat'][$targyId]['sum'])) {
+ echo number_format($iAdat['tankorLetszamStat'][$targyId]['sum']/$iAdat['tankorLetszamStat'][$targyId]['db'],1,',','').'<br />';
+ }
+ }
+ echo '</td>';
+ }
+ echo '</tr>';
+ echo '</tbody>';
+
+ echo '</table>';
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/javascript/naplo/tantargyfelosztas.jquery.min.js b/mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/javascript/naplo/tantargyfelosztas.jquery.min.js
new file mode 100644
index 00000000..b6b664c5
--- /dev/null
+++ b/mayor-orig/mayor-fenntarto/www/skin/classic/module-fenntarto/javascript/naplo/tantargyfelosztas.jquery.min.js
@@ -0,0 +1,15 @@
+
+$(function() {
+
+ $('body').click(function(event) {
+
+ element = $(event.target);
+
+ if (element.closest('th').hasClass('slide')) {
+ element.closest('tbody').find('tr.hide').slideToggle();
+ element.closest('th').find('span').toggleClass('icon-chevron-up').toggleClass('icon-chevron-down');
+ }
+
+ });
+
+});
diff --git a/mayor-orig/mayor-installer b/mayor-orig/mayor-installer
new file mode 120000
index 00000000..7447a778
--- /dev/null
+++ b/mayor-orig/mayor-installer
@@ -0,0 +1 @@
+../mayor-orig/mayor-installer-orig \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-orig/install.d/05checkdeb.sh b/mayor-orig/mayor-installer-orig/install.d/05checkdeb.sh
new file mode 100755
index 00000000..56c0e55d
--- /dev/null
+++ b/mayor-orig/mayor-installer-orig/install.d/05checkdeb.sh
@@ -0,0 +1,86 @@
+#!/bin/bash
+#
+DEBIAN=false;
+UBUNTU=false;
+if [ `which lsb_release || echo "notinstalled"` == "notinstalled" ]
+then
+ ISSUE=`cat /etc/issue | cut -d " " -f 1`
+ if [ "x${ISSUE}" == "xDebian" ]; then
+ DEBIAN=true;
+ RELEASE=`cat /etc/issue | cut -d " " -f 3`
+ elif [ "x${ISSUE}" == "xUbuntu" ]; then
+ UBUNTU=true;
+ RELEASE=`cat /etc/issue | cut -d " " -f 2`
+ fi
+else
+ DISTRIBUTOR=$(lsb_release -i -s)
+ RELEASE=$(lsb_release -r -s)
+ if [ "x${DISTRIBUTOR}" == "xDebian" ]; then
+ DEBIAN=true;
+ elif [ "x${DISTRIBUTOR}" == "xUbuntu" ]; then
+ UBUNTU=true;
+ fi
+fi
+echo "Debian:" ${DEBIAN}
+echo "Ubuntu:" ${UBUNTU}
+echo "Version:" ${RELEASE}
+
+TEST=`grep contrib /etc/apt/sources.list`
+if [ "$TEST" == "" ]
+then
+ echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+ echo "Az apt sources.list módosítása szükséges!"
+ if [ DEBIAN ]; then
+ echo "Debian Jessie (8) esetén például:
+ deb http://ftp.hu.debian.org/debian/ jessie main contrib non-free
+ deb http://security.debian.org/ jessie/updates main contrib non-free
+ deb http://ftp.hu.debian.org/debian/ jessie-updates main contrib non-free
+ "
+ fi
+ exit 255;
+fi
+
+if [[ "x${RELEASE}" =~ ^x9.* ]]
+then
+ PKGS="apache2 php php-json php-mysql php-ldap php-mbstring php-mcrypt php-curl mariadb-server-10.1 recode texlive texlive-fonts-extra texlive-latex-extra texlive-binaries texlive-xetex ntp wget ssl-cert ssh pwgen texlive-lang-european"
+else
+ PKGS="apache2 php5 php5-json php5-mysqlnd php5-ldap php5-mcrypt php5-curl mysql-server recode texlive texlive-fonts-extra texlive-latex-extra texlive-binaries texlive-xetex ttf-mscorefonts-installer ntp wget ssl-cert ssh pwgen texlive-lang-european texlive-lang-hungarian"
+fi
+
+if [ "$1" == "--no-deb" ]; then
+ exit 1
+fi
+
+cat <<EOF
+A rendszer futásához szükséges csomagok ellenőrzése
+
+Ebben a lépésben ellenőrizheti és telepítheti a rendszer működéséhez
+szükséges Debian/Ubuntu csomagokat:
+
+$PKGS
+
+EOF
+
+read -n 1 -p "Ellenőrizzem a deb csomagokat? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA függőségek ellenőrzését kihagytam.\n"; exit 1; fi
+
+echo -e "\nFüggőségek ellenőrzése (dpkg): "
+MISSING=""
+for pkg in $PKGS
+do
+ echo -n " $pkg ... "
+ STAT=`dpkg -l $pkg | grep $pkg | cut -f 1 -d ' '`
+ if [ "$STAT" == "ii" ]; then
+ echo ok
+ else
+ echo "még nincs telepítve"
+ MISSING="$MISSING $pkg"
+ fi
+done
+if [ "$MISSING" != "" ]; then
+ echo Még nem telepített csomagok: $MISSING
+ read -n 1 -p "Telepítsem? (i/N)" -s DO
+ if [ "$DO" != "i" ]; then echo " ok, kiléptem..."; exit 1; fi
+ apt-get update
+ apt-get -m -f install $MISSING
+fi
diff --git a/mayor-orig/mayor-installer-orig/install.d/10getsource.sh b/mayor-orig/mayor-installer-orig/install.d/10getsource.sh
new file mode 100755
index 00000000..0ae2f669
--- /dev/null
+++ b/mayor-orig/mayor-installer-orig/install.d/10getsource.sh
@@ -0,0 +1,76 @@
+#!/bin/bash
+#
+
+cat <<EOF
+A forrás csomagok letöltése és kicsomagolása
+
+Most letöltheti és kicsomagolhatja a forrás állományokat.
+A telepítendő rendszer gyökérkönyvtára:
+ $MAYORDIR
+lesz.
+
+A telepítő mindig az aktuális legfrissebb változatot tölti le.
+
+Amennyiben egy korábbi változatot szeretne telepíteni (pl. korábbi
+mentés helyreállításához), úgy töltse le a szükséges állományokat
+(mayor-base-rev????.tgz, mayor-naplo-rev????.tgz) és helyezze el
+őket a $TMPDIR könyvtárban. Ezek után folytassa a telepítést a
+csomagok letöltésének kihagyásával.
+
+EOF
+
+#read -n 1 -p "Letöltsem a forrás csomagokat? (i/N)" -s DO
+
+if [ "$MAYORDIR" = "" ]; then echo "A MAYORDIR változó üres. Kilépek."; exit 1; fi
+if [ "$TMPDIR" = "" ]; then echo "A TMPDIR változó üres. Kilépek."; exit 1; fi
+
+
+MENU=$( /bin/ls -1 $TMPDIR/mayor-base-*.tgz 2>/dev/null | sed 's/.*-\([^-]*\)\.tgz$/\1/' )
+
+DO=n
+if [ "$MENU" == '' ]; then
+ DO=i
+else
+ echo " 0 Letöltés mindenképpen"
+ echo "${MENU}" | sed 's/.*-\([^-]*\)\.tgz$/\1/' | nl
+ read -n1 -p 'Melyiket telepítsem? ' SEL; echo
+
+ if [ "$SEL" == 0 ]; then
+ DO=i
+ else
+ SELECT=$( echo "${MENU}" | sed -n ${SEL}p )
+
+ MAYORBASE="$TMPDIR/mayor-base-$SELECT.tgz"
+ MAYORNAPLO="$TMPDIR/mayor-naplo-$SELECT.tgz"
+ fi
+fi
+
+if [ "$DO" == "i" ]; then
+ MAYORBASE="$TMPDIR/mayor-base-current.tgz"
+ MAYORNAPLO="$TMPDIR/mayor-naplo-current.tgz"
+
+ echo -e "\nForrások letöltése:"
+ cd $TMPDIR
+ rm -f mayor-base-current.tgz
+ rm -f mayor-naplo-current.tgz
+ wget "http://www.mayor.hu/download/$VERSION/mayor-base-current.tgz"
+ wget "http://www.mayor.hu/download/$VERSION/mayor-naplo-current.tgz"
+else
+ echo -e "\nA forráscsomagok letöltését kihagytam.\n"
+fi
+
+read -n 1 -p "Telepítsem a forrás csomagokat? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA forráscsomagok telepítését kihagytam.\n"; exit 1; fi
+
+echo -n -e "\nRendszer könyvtár: "
+if [ ! -e $MAYORDIR ]; then
+ mkdir -p $MAYORDIR
+fi
+echo $MAYORDIR
+
+echo -e -n "Források kicsomagolása... "
+cd $MAYORDIR
+tar xfz "$MAYORBASE"
+tar xfz "$MAYORNAPLO"
+echo "ok."
+
diff --git a/mayor-orig/mayor-installer-orig/install.d/15createconfig.sh b/mayor-orig/mayor-installer-orig/install.d/15createconfig.sh
new file mode 100755
index 00000000..51c512c4
--- /dev/null
+++ b/mayor-orig/mayor-installer-orig/install.d/15createconfig.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+#
+
+cat <<EOF
+A konfigurációs állományok létrehozása
+
+A MaYoR konfigurációs állományait a minták alapján készítheti el.
+A konfigurációs állományok nélkül a telepítés nem fut le helyesen, ezért ezt
+a lépést akkor hagyja csak ki, ha ezeket már sajátkezűleg elkészítette!
+
+EOF
+
+read -n 1 -p "Létrehozzam a minták alapján a konfigurációs állományokat? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA konfigurációs állományokat nem hoztam létre.\n"; exit 1; fi
+
+if [ "$MAYORDIR" = "" ]; then echo "A MAYORDIR változó üres. Kilépek."; exit 1; fi
+PWGEN=`which pwgen`
+if [ "${PWGEN}" = "" ]; then echo "A pwgen szoftver nincs telepítve."; exit 1; fi
+
+echo -e "\nKonfigurációs állományok létrehozása:"
+for file in main-config.php parent-conf.php private-conf.php public-conf.php
+do
+ if [ -e "${MAYORDIR}/config/${file}" ]; then echo " $file létezik."; else
+ echo -n " $file.example --> "
+ PW=`pwgen -s1`
+ cat "$MAYORDIR/config/$file.example" | sed s/%SQLPW%/$PW/ > "$MAYORDIR/config/$file"
+ echo $file
+ fi
+done
+
+echo -n " module-naplo/config.php.example --> "
+PW=`pwgen -s1`
+PWREAD=`pwgen -s1`
+if [ -e "$MAYORDIR/config/module-naplo/config.php" ]; then echo " module-naplo/config.php létezik."; else
+ cat "$MAYORDIR/config/module-naplo/config.php.example" | sed -e s/%SQLPW%/$PW/ -e s/%SQLPWREAD%/$PWREAD/ > "$MAYORDIR/config/module-naplo/config.php"
+ echo "module-naplo/config.php"
+fi
+
+if [ -e "$MAYORDIR/config/skin-classic/naplo-config.php" ]; then echo " skin-classic/naplo-config.php létezik."; else
+ echo -n " skin-classic/naplo-config.php.example --> "
+ cp $MAYORDIR/config/skin-classic/naplo-config.php.example $MAYORDIR/config/skin-classic/naplo-config.php
+ echo "config/skin-classic/naplo-config.php"
+fi
diff --git a/mayor-orig/mayor-installer-orig/install.d/20mysql.sh b/mayor-orig/mayor-installer-orig/install.d/20mysql.sh
new file mode 100755
index 00000000..2979f728
--- /dev/null
+++ b/mayor-orig/mayor-installer-orig/install.d/20mysql.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+#
+
+cat <<EOF
+MySQL szerver beállításai
+
+A rendszer adatbázisai UTF-8 kódolásúak, ennek megfelelően kell
+beállítani a MySQL-t is. A beállításokat a /etc/mysql/conf.d
+alá helyezi el a telepítő utf8.cnf néven, majd újraindítja az
+adatbázis szervert.
+
+EOF
+
+read -n 1 -p "A MySQL szerver beállításait módosíthatom? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA MySQL beállításait nem módosítottam.\n"; exit 1; fi
+
+echo -e "\nMySQL beállítások"
+echo -n " utf8.cnf ... "
+cp -f $MAYORDIR/install/base/mysql/utf8.cnf /etc/mysql/conf.d
+echo ok
+/etc/init.d/mysql restart
+
+if [ "x${RELEASE}" == "x9" ]
+then
+ echo -e "\nMariaDB/MySQL beállítások"
+ echo -n " futtatom a mysql_Secure_installation scriptet: "
+ mysql_secure_installation
+fi
diff --git a/mayor-orig/mayor-installer-orig/install.d/25apache.sh b/mayor-orig/mayor-installer-orig/install.d/25apache.sh
new file mode 100755
index 00000000..7019d608
--- /dev/null
+++ b/mayor-orig/mayor-installer-orig/install.d/25apache.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Az Apache (2) webszerver beállítása
+
+Az elektronikus napló használata feltétlenül HTTPS protokollt igényel.
+Ehhez engedélyeznie kell az ssl modul használatát, és tanusítványra is
+szükség van. A telepítő "self-signed" tanusítványt generál (ehhez meg kell
+adnia a szerver teljes domain nevét), valamint engedélyezi a rewrite modul
+használatát is, végül létrehoz és engedélyez mayor néven egy site
+konfigurációt is.
+
+EOF
+
+read -n 1 -p "Az Apache web-szerver módosítható? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nAz Apache web szerver beállításait nem módosítottam.\n"; exit 1; fi
+
+if [ "$MAYORDIR" = "" ]; then echo "A MAYORDIR változó üres. Kilépek."; exit 1; fi
+
+echo -e "\nApache beállítások"
+
+
+echo " Tanusítvány generálás"
+if [ ! -e /etc/apache2/ssl ]; then
+ mkdir /etc/apache2/ssl
+fi
+make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
+
+echo " Szükséges modulok ellenőrzése:"
+echo -n " - ModSSL engedélyezése ... "
+if [ ! -e /etc/apache2/mods-enabled/ssl.load ]; then
+ a2enmod ssl > /dev/null
+ echo ok
+else
+ echo "már engedélyezett"
+fi
+ echo -n " - ModReWrite engedélyezése ... "
+if [ ! -e /etc/apache2/mods-enabled/rewrite.load ]; then
+ a2enmod rewrite > /dev/null
+ echo ok
+else
+ echo "már engedélyezett"
+fi
+echo "ok."
+
+SERVERNAME=""
+while [ "$SERVERNAME" = "" ]
+do
+ read -p " A web szerver teljes domain neve (pl: mayor.tesztsuli.hu): " SERVERNAME
+done
+
+#cat $MAYORDIR/install/base/apache2/mayor.conf | sed "s/ServerName your.mayor.server.hu/ServerName $SERVERNAME/" > /etc/apache2/sites-available/mayor.conf
+
+# A 2.4-es apache esetén módosítani kell a konfig állományt!
+APACHE_VERSION=$(dpkg -l apache2 | grep apache2 | tr -s ' ' | cut -d ' ' -f 3 | cut -d '-' -f 1 | sed 's/\..$//')
+cat $MAYORDIR/install/base/apache2/mayor.conf | sed \
+ -e "s/ServerName your.mayor.server.hu/ServerName $SERVERNAME/" > /etc/apache2/sites-available/mayor.conf
+
+
+if [ ! -e /etc/apache2/sites-enabled/mayor.conf ]; then
+ echo " A mayor site engedélyezése"
+ a2ensite mayor.conf > /dev/null
+fi
+
+echo " A web-szerver újraindítása"
+/etc/init.d/apache2 restart
diff --git a/mayor-orig/mayor-installer-orig/install.d/30php.sh b/mayor-orig/mayor-installer-orig/install.d/30php.sh
new file mode 100755
index 00000000..49000c68
--- /dev/null
+++ b/mayor-orig/mayor-installer-orig/install.d/30php.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+#
+
+cat <<EOF
+A PHP memória limit beállítása
+
+Az alapértelmezett 16MB-os memória a rendszer futtatásához a
+legtöbb esetben elég, de egyes esetekben (például a nyomtatványok
+generálásakor) kevésnek bizonyul. Ezért a telepítő ezt a küszöböt
+256MB-ra emeli. Az eredeti php.ini állományról másolat készül
+php.ini.mayor néven.
+
+EOF
+
+read -n 1 -p "A php.ini-t módosíthatom? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nNem módosítom a php.ini-t.\n"; exit 1; fi
+
+exit 1
+
+echo -n " A PHP memória limit beállítása: "
+if [ ! -e /etc/php5/apache2/php.ini.mayor ]; then
+ mv /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.mayor
+fi
+cat /etc/php5/apache2/php.ini.mayor | sed "s/memory_limit/memory_limit = 256M ; old value: /" > /etc/php5/apache2/php.ini
+echo 256M
+
+echo " Az web szerver újraindítása"
+/etc/init.d/apache2 restart
+
diff --git a/mayor-orig/mayor-installer-orig/install.d/35createdatabases.sh b/mayor-orig/mayor-installer-orig/install.d/35createdatabases.sh
new file mode 100755
index 00000000..d44d28e4
--- /dev/null
+++ b/mayor-orig/mayor-installer-orig/install.d/35createdatabases.sh
@@ -0,0 +1,129 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Adatbázisok létrehozása
+
+A felhasználói azonosítók és csoportok adatainak tárolásához, a
+munkamenetek adminisztrálásához és a napló modul adatainak tárolásához
+szükséges adatbázisok létrehozása következik.
+
+Ez a lépés csak a szükséges konfigurációs állományok megléte
+esetén fut le helyesen!
+
+A telepítő először elkészíti a betöltendő SQL utasításokat tartalmazó
+állományokat a $TMPDIR/mysql alá, majd - amennyiben engedélyezzük -
+be is tölti az állományokat.
+
+EOF
+
+read -n 1 -p "A konfigurációs állományok alapján létrehozhatom az adatbázisokat? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nAz adatbázisok létrehozását kihagyjuk.\n"; exit 1; fi
+
+if [ "$MAYORDIR" = "" ]; then echo "MAYORDIR változó üres. Kilépek!"; exit 1; fi
+
+echo -n -e "\n Config fileok ellenőrzése..."
+
+if [ ! -e "$MAYORDIR/log" ]; then mkdir $MAYORDIR/log; fi
+if [ ! -e /var/log/mayor ]; then ln -s $MAYORDIR/log /var/log/mayor; fi
+if [ ! -e /etc/mayor ]; then ln -s $MAYORDIR/config /etc/mayor; fi
+chmod +x $MAYORDIR/bin/mayor
+
+FILES="$MAYORDIR/config/parent-conf.php $MAYORDIR/config/private-conf.php $MAYORDIR/config/main-config.php $MAYORDIR/config/module-naplo/config.php $MAYORDIR/install/base/mysql/mayor-login.sql $MAYORDIR/install/base/mysql/mayor-auth.sql $MAYORDIR/install/base/mysql/private-users.sql $MAYORDIR/install/module-naplo/mysql/naplo-users.sql"
+for f in $FILES
+do
+ if [ ! -e $f ]; then echo -e "\n\r Nincs meg a szükséges ${f} config file!"; exit 1; else echo -n '.'; fi
+done;
+echo " kész.";
+
+if [ ! -e $MAYORDIR/log/mayor-base.rev ]; then
+ echo " Hiányzó mayor-base.rev file";
+ if [ -e $MAYORDIR/log/revision ];
+ then
+ IREV=`cat $MAYORDIR/log/revision`
+ else
+ IREV="";
+ fi
+else
+ cp $MAYORDIR/log/mayor-base.rev $MAYORDIR/log/revision
+ IREV=`cat $MAYORDIR/log/revision`
+fi
+
+echo " Az aktuális revision: ${IREV}"
+
+if [ "$IREV" = "" ]
+then
+ echo " Nincs revision file és helyreállítani sem tudom. Kilépek!"
+ exit 1;
+fi
+
+echo " SQL fileok létrehozása... "
+mkdir -p $TMPDIR/mysql
+cd $TMPDIR/mysql
+DB=`grep db $MAYORDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USER=`grep user $MAYORDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+PW=`grep pw $MAYORDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+cat $MAYORDIR/install/base/mysql/mayor-login.sql | sed -e "s/%MYSQL_LOGIN_DB%/$DB/g" -e "s/%MYSQL_LOGIN_USER%/$USER/g" \
+ -e "s/%MYSQL_LOGIN_PW%/$PW/g" > mayor-login.sql
+DB=`grep db $MAYORDIR/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+USER=`grep user $MAYORDIR/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+PW=`grep pw $MAYORDIR/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+cat $MAYORDIR/install/base/mysql/mayor-auth.sql | sed -e "s/%MYSQL_AUTH_DB%/$DB/g" -e "s/%MYSQL_AUTH_USER%/$USER/g" \
+ -e "s/%MYSQL_AUTH_PW%/$PW/g" > mayor-parent.sql
+DB=`grep db $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+USER=`grep 'mysql user' $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+PW=`grep pw $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+cat $MAYORDIR/install/base/mysql/mayor-auth.sql | sed -e "s/%MYSQL_AUTH_DB%/$DB/g" -e "s/%MYSQL_AUTH_USER%/$USER/g" \
+ -e "s/%MYSQL_AUTH_PW%/$PW/g" > mayor-private.sql
+DB=`grep db $MAYORDIR/config/module-naplo/config.php | grep naplo_base | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USER=`egrep 'userWrite.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USERREAD=`egrep 'userRead.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+PW=`egrep 'pwWrite.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+PWREAD=`egrep 'pwRead.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+cat $MAYORDIR/install/module-naplo/mysql/base.sql | sed -e "s/%MYSQL_NAPLO_DB%/$DB/g" -e "s/%MYSQL_NAPLO_USER%/$USER/g" \
+ -e "s/%MYSQL_NAPLO_PW%/$PW/g" -e "s/%MYSQL_NAPLO_USER_READ%/$USERREAD/g" \
+ -e "s/%MYSQL_NAPLO_PW_READ%/$PWREAD/g" > base.sql
+DB=`grep db $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+
+cat $MAYORDIR/install/base/mysql/private-users.sql | sed -e "s/%MYSQL_PRIVATE_DB%/$DB/g" > private-users.sql
+cat $MAYORDIR/install/module-naplo/mysql/naplo-users.sql | sed -e "s/%MYSQL_PRIVATE_DB%/$DB/g" > naplo-users.sql
+
+echo " A létrejött sql fileok:"
+FILES=`ls *.sql`
+for f in $FILES
+do
+ echo " * ${f}";
+done;
+read -n 1 -p "Telepíthetem? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo " ok, kiléptem..."; exit 1; fi
+echo -e "\n"
+
+read -p " A mysql root jelszó (a begépelt szöveg nem látszik!): " -s MYSQLROOTPW
+
+if [ ! -e $MAYORDIR/config/main.conf ]; then
+ cat $MAYORDIR/config/main.conf.example | sed s/%SQLPW%/$MYSQLROOTPW/ > $MAYORDIR/config/main.conf
+ chmod 600 $MAYORDIR/config/main.conf
+fi
+
+if [ "$MYSQLROOTPW" = "" ];
+then
+ MYSQLROOTPWSTR="";
+else
+ MYSQLROOTPWSTR="-p$MYSQLROOTPW --user=root"
+fi
+
+cat /tmp/mysql/mayor-login.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+cat /tmp/mysql/mayor-parent.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+cat /tmp/mysql/mayor-private.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+cat /tmp/mysql/base.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+cat /tmp/mysql/private-users.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+cat /tmp/mysql/naplo-users.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+
+echo -e "\n"
+echo "A telepítés végeztével beléphetsz a webes felületen!
+=========================================================
+ user: mayoradmin
+=========================================================
+ jelszó: jelszo
+=========================================================
+"
diff --git a/mayor-orig/mayor-installer-orig/install.d/40binary.sh b/mayor-orig/mayor-installer-orig/install.d/40binary.sh
new file mode 100755
index 00000000..bc2716af
--- /dev/null
+++ b/mayor-orig/mayor-installer-orig/install.d/40binary.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Karbantartást segítő szkriptek
+
+A telepítő szimbolikus linket készít a /usr/local/sbin-be, hogy
+a "mayor update" illettve "mayor backup" parancsokat bárhonnan
+kiadhassuk, majd az /etc/cron.daily könyvtár alá is link készül,
+hogy a mentések és frissítések rendszeresen lefuthassanak.
+
+EOF
+
+read -n 1 -p "Karbantartást segítő scriptek telepítése mehet? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nNem telepítjük a szkripteket.\n"; exit; fi
+
+if [ "$MAYORDIR" = "" ]; then echo -e "\nMAYORDIR változó üres. Kilépek!"; exit 1; fi
+echo -e "\n * Webszerver userének ellenőrzése, beállítása"
+if [ "$WEB_SERVER_USER" == "" ]; then
+ source /etc/apache2/envvars
+ WEB_SERVER_USER=$APACHE_RUN_GROUP
+fi
+if [ "$WEB_SERVER_USER" == "" ]; then
+ echo -e "!!! Fatális hiba !!! A WEB_SERVER_USER változó üres. Kilépek!"; exit 1;
+else
+ echo -e " * WEB_SERVER_USER=" $WEB_SERVER_USER
+fi
+
+ # A karbantartást segítő scriptek:
+ if [ ! -e /usr/local/sbin/mayor ]; then
+ ln -s $MAYORDIR/bin/mayor /usr/local/sbin/mayor;
+ echo -e "\n Az /usr/local/sbin/ alá létrejött a mayor szimbolikus link.";
+ fi
+ if [ ! -e $MAYORDIR/config/main.conf ]; then cp $MAYORDIR/config/main.conf.example $MAYORDIR/config/main.conf; fi
+ # A konfig könyvtár védelme
+ chown -R $WEB_SERVER_USER $MAYORDIR/config/
+ chmod 700 $MAYORDIR/config/
+ # A main.conf védelme
+ chown root $MAYORDIR/config/main.conf
+ chmod 600 $MAYORDIR/config/main.conf
+ if [ ! -e /etc/cron.daily/mayor ]; then
+ ln -s $MAYORDIR/bin/etc/cron.daily/mayor /etc/cron.daily;
+ echo -e "\n Az /etc/cron.daily/ alá létrejött a mayor szimbolikus link.";
+ fi
diff --git a/mayor-orig/mayor-installer-orig/install.d/45intezmeny.sh b/mayor-orig/mayor-installer-orig/install.d/45intezmeny.sh
new file mode 100755
index 00000000..fc8eafeb
--- /dev/null
+++ b/mayor-orig/mayor-installer-orig/install.d/45intezmeny.sh
@@ -0,0 +1,70 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Intézmény létrehozása
+
+A telepítő segítségével létrehozhatjuk az intézmény adatbázisát.
+(Ezt a lépést a webes felületen is végezhetnénk.)
+
+A telepítő létrehozza az
+ * intézmény konfigurációs állományát,
+ * az intézmény adatbázisát és
+ * bejegyzését a mayor_naplo.intezmeny táblába.
+
+Ehhez meg kell adnia az intézmény OM kódját, nevét és rövid nevét
+(mint vmg, njszki, fasori, stb).
+
+EOF
+
+read -n 1 -p "Létrehozzam az intézményt? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nNem hoztam létre az intézményt.\n"; exit; fi
+
+if [ "$MAYORDIR" = "" ]; then echo "MAYORDIR változó üres. Kilépek!"; exit 1; fi
+
+echo -e "\n"
+OMKOD=""
+while [ "$OMKOD" = "" ]; do
+ read -p "Kérem az intézmény OM kódját: " OMKOD
+ OMKOD=`echo ${OMKOD} | sed "s/[^[0-9]]*//g"`
+done
+read -p "Kérem az intézmény nevét: " INTEZMENYNEV
+ROVID=""
+while [ "$ROVID" = "" ]; do
+ read -p "Kérem az intézmény rövid nevét (néhány karakteres rövidítés, mint \"vmg\", \"illyes\"...: " ROVID
+ ROVID=`echo ${ROVID} | sed "s/[^[:alnum:]]*//g" | sed "y, űáéúőóüöíŰÁÉÚŐÓÜÖÍ,_uaeuoouoiUAEUOOUOI," | sed 's/\(.*\)/\L\1/'`
+done
+echo -e "\nOM: ${OMKOD}; Rövidnév: ${ROVID}\n"
+
+echo -n " Az intézmény konfigurációs állománya: "
+cp "$MAYORDIR/config/module-naplo/config-pl.php.example" "$MAYORDIR/config/module-naplo/config-$ROVID.php"
+echo "$MAYORDIR/config/module-naplo/config-$ROVID.php"
+
+DB=`grep db $MAYORDIR/config/module-naplo/config.php | grep naplo_base | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USER=`egrep 'userWrite.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USERREAD=`egrep 'userRead.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+
+echo -e "\nAz adatbázis létrehozása\n"
+cat <<EOF > $TMPDIR/mysql/intezmeny.sql
+
+insert into $DB.intezmeny (OMKod, rovidNev, nev, alapertelmezett) VALUES ('$OMKOD','$ROVID','$INTEZMENYNEV',1);
+create database intezmeny_$ROVID character set utf8 collate utf8_hungarian_ci;
+grant select,execute on intezmeny_$ROVID.* to '$USERREAD'@'localhost';
+grant all on intezmeny_$ROVID.* to '$USER'@'localhost';
+use intezmeny_$ROVID;
+
+EOF
+
+if [ "$MYSQLROOTPW" == "" ]; then
+ read -p " A mysql root jelszó -ha van!- (a begépelt szöveg nem látszik!): " -s MYSQLROOTPW
+fi
+#Ezt miért is akarom kiírni?
+#echo $MYSQLROOTPW - a jelszó
+if [ "$MYSQLROOTPW" = "" ];
+then
+ MYSQLROOTPWSTR="";
+else
+ MYSQLROOTPWSTR="-p$MYSQLROOTPW --user=root"
+fi
+
+cat $TMPDIR/mysql/intezmeny.sql $MAYORDIR/install/module-naplo/mysql/intezmeny.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8 $INTEZMENYDB
diff --git a/mayor-orig/mayor-installer-orig/install.d/50linker.sh b/mayor-orig/mayor-installer-orig/install.d/50linker.sh
new file mode 100755
index 00000000..3801354c
--- /dev/null
+++ b/mayor-orig/mayor-installer-orig/install.d/50linker.sh
@@ -0,0 +1,58 @@
+#!/bin/bash
+#
+cat <<EOF
+Linkek létrehozása a parent és public policyben
+
+EOF
+
+read -n 1 -p "Létrehozzam a linkeket? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nNem hoztam létre.\n"; exit; fi
+source $MAYORDIR/config/main.conf
+source $MAYORDIR/update/linkme.sh
+
+echo -e " * Webszerver userének ellenőrzése, beállítása"
+if [ "$WEB_SERVER_USER" == "" ]; then
+ source /etc/apache2/envvars
+ WEB_SERVER_USER=$APACHE_RUN_GROUP
+fi
+if [ "$WEB_SERVER_USER" == "" ]; then
+ echo -e "!!! Fatális hiba !!! A WEB_SERVER_USER változó üres. Kilépek!"; exit 1;
+else
+ echo -e " * WEB_SERVER_USER=" $WEB_SERVER_USER
+fi
+if [ "$MAYORDIR" == "" ]; then
+ echo "!!! MAYORDIR változó üres. Kilépek!"; exit 1;
+else
+ echo -e "\n * A szükséges jogosultságok beállítása ($MAYORDIR/):"
+ if [ -e "$MAYORDIR/download" ]; then chown -R $WEB_SERVER_USER $MAYORDIR/download; fi
+ if [ -e "$MAYORDIR/www/wiki/conf" ]; then chown -R $WEB_SERVER_USER $MAYORDIR/www/wiki/conf; fi
+ if [ -e "$MAYORDIR/www/wiki/data" ]; then chown -R $WEB_SERVER_USER $MAYORDIR/www/wiki/data; fi
+fi
+
+echo -e " * Szimbolikus linkek ellenőrzése/létrehozása"
+POLICIES="parent public"
+for POLICY in $POLICIES; do
+ eval "LIST=\$${POLICY}Link"
+ for f in $LIST; do
+ DIR=`echo $f | cut -d / -f 1-2`
+ if [ ! -d $MAYORDIR/www/policy/$POLICY/$DIR ]; then
+ echo " Könyvtár: $MAYORDIR/www/policy/$POLICY/$DIR"
+ mkdir -p $MAYORDIR/www/policy/$POLICY/$DIR
+ else
+ echo " [OK] A könyvtár már létezik: $MAYORDIR/www/policy/$POLICY/$DIR"
+ fi
+ FILES="$f-pre.php $f.php"
+ for file in $FILES; do
+ if [ ! -e $MAYORDIR/www/policy/$POLICY/$file ]; then
+ if [ -f $MAYORDIR/www/policy/private/$file ]; then
+ echo " $MAYORDIR/www/policy/private/$file --> $MAYORDIR/www/policy/$POLICY/$file"
+ ln -s $MAYORDIR/www/policy/private/$file $MAYORDIR/www/policy/$POLICY/$file
+ else
+ echo " Hiányzó file: $MAYORDIR/www/policy/private/$file"
+ fi
+ else
+ echo " [OK] A file már létezik: " $file
+ fi
+ done
+ done
+done
diff --git a/mayor-orig/mayor-installer-orig/install.d/55tex.sh b/mayor-orig/mayor-installer-orig/install.d/55tex.sh
new file mode 100755
index 00000000..87bcbc5f
--- /dev/null
+++ b/mayor-orig/mayor-installer-orig/install.d/55tex.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+#
+cat <<EOF
+A mayor.fmt előllítása...
+
+EOF
+
+cd $MAYORDIR/print/module-naplo/tex/
+fmtutil-sys --cnffile $MAYORDIR/print/module-naplo/tex/mayor.cnf --fmtdir $MAYORDIR/print/module-naplo/ --byfmt mayor
+
+# Ha az fmtutil nem a tex alkönyvtárba hozná létre a mayor.fmt-t, akkor áthelyezzük:
+if [ -e "$MAYORDIR/print/module-naplo/mayor.fmt" ]; then
+ mv $MAYORDIR/print/module-naplo/mayor.fmt $MAYORDIR/print/module-naplo/tex/mayor.fmt
+fi
+
+# Ha telepítve van a XeTeX csomag, akkor ahhoz is generálunk *.fmt-t
+if [ -e /usr/bin/xetex ]; then
+ cd $MAYORDIR/print/module-naplo/xetex/
+ fmtutil-sys --cnffile $MAYORDIR/print/module-naplo/xetex/mayor-xetex.cnf --fmtdir $MAYORDIR/print/module-naplo/ --byfmt mayor-xetex
+fi
diff --git a/mayor-orig/mayor-installer-orig/install.d/60portal.sh b/mayor-orig/mayor-installer-orig/install.d/60portal.sh
new file mode 100755
index 00000000..e8ccfe90
--- /dev/null
+++ b/mayor-orig/mayor-installer-orig/install.d/60portal.sh
@@ -0,0 +1,119 @@
+#!/bin/bash
+#
+
+cat <<EOF
+A MaYoR Portal modul telepítése
+
+A keretrendszer és az elektronikus napló modul mellett
+telepíthető a portál modul, ami egy egyszerű, testreszabható
+nyitóoldalt ad az egyes hozzáférési szintekhez. A személyes
+kezdőlapon megjeleníthető a napi órarend, a legutóbbi üzenetek,
+az aktuális kérelmek listája, név- és születésnap információk,
+illetve kiírhatunk híreket is.
+
+EOF
+
+read -n 1 -p "Telepítsem a portál modult? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA portál modult nem telepítem.\n"; exit 1; fi
+
+echo -e "\nA main.conf módosítása ..."
+if [ ! -e $MAYORDIR/config/main.conf ]; then
+ echo -e "\nHiányzó konfigurációs állomány: $MAYORDIR/config/main.conf"
+ exit 1;
+fi
+
+sed -r -i.60portal \
+ -e "s#mayor-naplo#mayor-naplo mayor-portal#" $MAYORDIR/config/main.conf
+
+echo -e "\nA telepítőcsomag letöltése ..."
+
+cd $TMPDIR
+rm -f mayor-portal-current.tgz
+wget "http://www.mayor.hu/download/$VERSION/mayor-portal-current.tgz"
+
+echo -e -n "Források kicsomagolása... "
+cd $MAYORDIR
+tar xfz "$TMPDIR/mayor-portal-current.tgz"
+echo "ok."
+
+echo -e "\nA porál modul konfigurációs állományának létrehozása"
+file="module-portal/config.php"
+if [ -e "${MAYORDIR}/config/${file}" ]; then echo " $file létezik."; else
+ echo -n " $file.example --> "
+ PW=`pwgen -s1`
+ if [ "$ROVID" = "" ]; then
+ ROVID="demo"
+ fi
+ cat "$MAYORDIR/config/$file.example" | sed -e "s/%SQLPW%/$PW/" -e "s/demo/${ROVID}/" > "$MAYORDIR/config/$file"
+ echo $file
+fi
+
+echo -e "\n SQL file létrehozása... "
+if [ ! -d $TMPDIR/mysql ]; then
+ mkdir -p $TMPDIR/mysql
+fi
+cd $TMPDIR/mysql
+PDB=`grep db $MAYORDIR/config/$file | sed -e "s/.*=\ *['\"]//g" -e "s/['\"];//g"`
+USER=`grep user $MAYORDIR/config/$file | sed -e "s/.*=\ *['\"]//g" -e "s/['\"];//g"`
+PW=`grep pw $MAYORDIR/config/$file | sed -e "s/.*=\ *['\"]//g" -e "s/['\"];//g"`
+
+cat $MAYORDIR/install/mayor-portal/mysql/mayor-portal.sql | sed \
+ -e "s/%MYSQL_PORTAL_DB%/$PDB/g" \
+ -e "s/%MYSQL_PORTAL_USER%/$USER/g" \
+ -e "s/%MYSQL_PORTAL_PW%/$PW/g" > mayor-portal.sql
+
+DB=`grep db $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+cat $MAYORDIR/install/mayor-portal/mysql/portal-init.sql | sed \
+ -e "s/%MYSQL_PRIVATE_DB%/$DB/g" \
+ -e "s/%MYSQL_PORTAL_DB%/$PDB/g" > portal-init.sql
+
+read -n 1 -p "Telepíthetem? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo " ok, kiléptem..."; exit 1; fi
+echo -e "\n"
+
+if [ "$MYSQLROOTPW" == "" ]; then
+ read -p " A mysql root jelszó -ha van- (a begépelt szöveg nem látszik!): " -s MYSQLROOTPW
+fi
+
+if [ "$MYSQLROOTPW" = "" ];
+then
+ MYSQLROOTPWSTR="";
+else
+ MYSQLROOTPWSTR="-p$MYSQLROOTPW --user=root"
+fi
+
+
+cat /tmp/mysql/mayor-portal.sql /tmp/mysql/portal-init.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+
+read -n 1 -p "Tegyük a portál oldalt a rendszer kezdőlapjává minden hozzáférési szinten? (i/N)" -s DO
+if [ "$DO" != "i" ]; then
+ echo -e "\nA portál oldalt nem teszem kezdőlappá.\n";
+ cat <<EOF
+
+Az egyes hozzáférési szintek konfigurációs állományaiban
+(private-conf.php, parent-conf.php, public-conf.php) állítható
+be, hogy mi legyen a kezdőlap a \$DEFAULT_PSF tömb módosításával.
+
+EOF
+
+else
+ echo ""
+ for file in private-conf.php parent-conf.php public-conf.php; do
+ echo -n " $file ... "
+ sed -i.60portal -e "s/^[ \t]*\$DEFAULT_PSF\[\(.*\)\]\(.*\)/\/\/\t\$DEFAULT_PSF\[\1\]\2\n\t\$DEFAULT_PSF\[\1\] = array('page'=>'portal', 'sub' => 'portal', 'f' => 'portal');/" $MAYORDIR/config/$file
+ echo ok
+ done
+fi
+
+if [ "$ROVID" != "demo" ]; then
+ echo -e "\nEgyedi kezdőoldalak létrehozása:"
+ for policy in private public parent; do
+ echo -n " $policy "
+ for skin in classic pda; do
+ cp $MAYORDIR/www/policy/$policy/portal/portal/portal_demo.$skin.php $MAYORDIR/www/policy/$policy/portal/portal/portal_$ROVID.$skin.php
+ echo -n "... "
+ done
+ echo "ok"
+ done
+fi
+
diff --git a/mayor-orig/mayor-installer-orig/log/mayor-installer.rev b/mayor-orig/mayor-installer-orig/log/mayor-installer.rev
new file mode 100644
index 00000000..ab5135de
--- /dev/null
+++ b/mayor-orig/mayor-installer-orig/log/mayor-installer.rev
@@ -0,0 +1 @@
+4455
diff --git a/mayor-orig/mayor-installer-orig/setup b/mayor-orig/mayor-installer-orig/setup
new file mode 100755
index 00000000..3c13a155
--- /dev/null
+++ b/mayor-orig/mayor-installer-orig/setup
@@ -0,0 +1,34 @@
+#!/bin/bash
+clear
+echo "-------------------------------------------"
+echo " MaYoR Setup "
+echo "-------------------------------------------"
+
+MAYORDIR="/var/mayor"
+TMPDIR="/tmp"
+MYSQLROOTPW=""
+VERSION="current"
+export MAYORDIR
+export TMPDIR
+export MYSQLROOTPW
+export VERSION
+
+echo -e "A MaYoR keretrendszer és elektronikus napló telepítője a továbbiakban
+több lépésben, az egyes lépésekre jóváhagyást kérve fogja végrehajtani a
+telepítés és konfigurálás lépéseit.
+
+A telepítő egy tipikus telepítés esetén alkalmazható, speciális igények esetén
+célszerűbb az egyes lépéseket a telepítési útmutató alapján manuálisan végezni.\n"
+
+read -n 1 -p "Folytatja? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo " ok, kiléptem..."; exit 1; fi
+echo -e "\n"
+
+for f in install.d/*
+do
+ echo -e "\n----------------------------------------------\n$f\n----------------------------------------------\n"
+ ./$f $@
+ if [ "$?" == 255 ]; then echo "Fatális hiba! A telepítő kilép."; exit 255; fi;
+done
+
+echo -e "MaYoR (c) setup\n"
diff --git a/mayor-orig/mayor-installer-sulix/config/main-config.php.sulix b/mayor-orig/mayor-installer-sulix/config/main-config.php.sulix
new file mode 100644
index 00000000..d6c10cfe
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/main-config.php.sulix
@@ -0,0 +1,68 @@
+<?php
+
+#
+# MaYoR keretrendszer - konfigurációs file
+#
+
+define('_SITE','SuliXerver - Napló');
+
+//define('__TESTERRORREPORTER',true);
+//define('__TESTERRORREPORTERWARN',true);
+
+define('_MAYOR_DIR','%MAYORDIR%');
+define('_BASEDIR',_MAYOR_DIR.'/www');
+define('_CONFIGDIR',_MAYOR_DIR.'/config');
+define('_LOGDIR',_MAYOR_DIR.'/log');
+define('_LOCKFILE','/var/run/mayor.lock');
+define('_DATADIR',_MAYOR_DIR.'/data');
+define('_DOWNLOADDIR',_MAYOR_DIR.'/download');
+
+define('_MYSQL_ENCODE_STR','aaaa');
+
+//$MYSQL_DATA['login']['host'] ='localhost';
+$MYSQL_DATA['login']['db'] ='mayor_login';
+$MYSQL_DATA['login']['user']='mayor_login';
+$MYSQL_DATA['login']['pw'] ='%SQLPW%';
+
+$POLICIES = array('private','parent','public');
+$LANGUAGES = array('hu_HU');
+$SKINS = array('sulix','classic','pda','vakbarat');
+$SKINSSHOW = array('sulix','classic','pda','vakbarat');
+
+define('_SECURECOOKIE',true);
+define('_ALLOW_SULIX_SSO',true);
+define('_ALLOWPDAIDENTIFICATION',true);
+define('_DEFAULT_POLICY','public');
+define('_DEFAULT_LANG','hu_HU');
+define('_DEFAULT_SKIN','classic');
+define('_DEFAULT_JS_LEVEL',2);
+
+// Egy session maximális időtartama órában. Korlátlan: 0
+define('_SESSION_MAX_TIME', 24);
+// Egy session maximális inaktiv időtartama órában. Korlátlan: 0
+define('_SESSION_MAX_IDLE_TIME', 1);
+// Javascript figyelmeztető üzenet ennyi perccel a session lejárta előtt:
+define('_SESSION_ALERT_TIME', 5);
+
+// Ezt a tömböt hasznűlhatjuk a modulok közti kapcsolatra!
+// pl: $INCLUDES['deleteUser'][0] = 'include/modules/naplo/incDeleteUser.php';
+$INCLUDES = array(
+ 'html_mayor_head' => array(),
+ 'startColumn' => array(),
+ 'startMain' => array(),
+ 'startToolBar' => array(),
+ 'html_head' => array()
+);
+
+// A telepített modulok
+$INSTALLED_MODULES = array();
+/*
+if ($dh = opendir('include/config/')) {
+ while (($file = readdir($dh)) !== false) {
+ if (substr($file,0,6)=='module') require('include/config/'.$file);
+ }
+ closedir($dh);
+}
+*/
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-sulix/config/main.conf.sulix b/mayor-orig/mayor-installer-sulix/config/main.conf.sulix
new file mode 100644
index 00000000..bc1b59ab
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/main.conf.sulix
@@ -0,0 +1,70 @@
+#======================#
+# Main #
+#======================#
+
+BASEDIR="/srv/mayor"
+WEB_SERVER_USER="wwwrun"
+MYSQL_HOST="localhost"
+MYSQL_USER="root"
+MYSQL_PW="%SQLPW%"
+
+MYSQL=/usr/bin/mysql
+SHELL=/bin/bash
+
+#======================#
+# Update #
+#======================#
+
+UPDATELOG="$BASEDIR/log/update.log"
+SQLLOG="$BASEDIR/log/sql-update.log"
+REVISION_FILE="$BASEDIR/log/revision"
+UPDATEDIR="$BASEDIR/update"
+TMPDIR=/tmp/update
+LOCKFILE=/var/run/mayor.lock
+
+MODULES="mayor-base mayor-naplo mayor-portal"
+# A wget megléte szükséges a http/tgz alapú frissítés használatához!
+HTTP_SERVER=http://mirror.mayor.hu/download
+
+# Ha a verzió egyedi nevét írjuk be (bubbly, radyx, rypple...),
+# akkor saját hatáskörben dől el, hogy mikor váltunk verziót.
+# Ha a "current" értéket adjuk meg, akkor a verzióváltás automatikus
+VERSION=current
+
+# Egyes oldalak letiltása
+# publicDeny="naplo/tanev/orarend naplo/tanev/masikoldal"
+
+#======================#
+# Backup #
+#======================#
+
+BACKUPDIR="/backup/mayor"
+
+EXCLUDED_DBS=''
+
+SAVELDAP=0
+BASEDN='%BASEDN%'
+LDAPCONFDIR=/etc/ldap
+LDAPDBDIR=/var/lib/ldap
+
+# Hány napig tartsuk meg a mentéseket? 0 esetén mindet megtartjuk (ajánlott)
+BACKUPDAYS=0
+
+# Ha a backup file-névben YYYYMMDDHHMM órát és percet is tárolnánk, kommentezzük ki a DATE= változót!
+#DATE=`date "+%Y%m%d%H%M"`
+
+
+# Losonci János kiegészítése (losy@agymk.sulinet.hu)
+# PREFIX a mentés tgz előtagja
+
+PREFIX=''
+
+# RSYNC ha értéke nem 1, nincs rsync
+# RHOST rsync távoli gép
+# RUSER rsync távoli gép felhasználó
+# RPATH rsync távoli gépen levő útvonal a mentéshez
+
+RSYNC=0
+RUSER=''
+RHOST=''
+RPATH=''
diff --git a/mayor-orig/mayor-installer-sulix/config/menu/parent/menu-hu_HU.php.sulix b/mayor-orig/mayor-installer-sulix/config/menu/parent/menu-hu_HU.php.sulix
new file mode 100644
index 00000000..f2d7b459
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/menu/parent/menu-hu_HU.php.sulix
@@ -0,0 +1,7 @@
+<?php
+
+ // Az utolsó két menüpont kiszedése - Kilépés és Jelszóváltoztatás
+// unset($NAV[1][ count($NAV[1])-1 ]);
+// unset($NAV[1][ count($NAV[1])-1 ]);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-sulix/config/menu/private/menu-hu_HU.php.sulix b/mayor-orig/mayor-installer-sulix/config/menu/private/menu-hu_HU.php.sulix
new file mode 100644
index 00000000..62d4913e
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/menu/private/menu-hu_HU.php.sulix
@@ -0,0 +1,14 @@
+<?php
+
+ global $AUTH;
+ if (!memberOf(_USERACCOUNT, $AUTH[_POLICY]['adminGroup'])) {
+ unset($MENU['session']);
+ }
+ unset($MENU['logout']);
+ unset($MENU['modules']['naplo']['sub']['admin']['regisztracio']);
+ $MENU['modules']['naplo']['session'] = array(
+ array('txt'=>'Felhasználó kezelés','url'=>'index.php?page=session&sub=&f=createAccount&toPolicy=parent')
+ );
+ if ($page=='naplo') unset($NAV[1][ count($NAV[1])-1 ]); // Kérelmek menüpont leszedése
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-sulix/config/menu/public/menu-hu_HU.php.sulix b/mayor-orig/mayor-installer-sulix/config/menu/public/menu-hu_HU.php.sulix
new file mode 100644
index 00000000..4572b267
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/menu/public/menu-hu_HU.php.sulix
@@ -0,0 +1,18 @@
+<?php
+
+ // Órarend, helyettesítés eltűntetése
+ unset($MENU['naplo']);
+ unset($MENU['modules']['naplo']['tanev']);
+
+ // A bejelentkezés oldal almenüjének törlése
+ unset($MENU['modules']['auth']);
+
+ // Külső hivatkozás: Sulinet portál
+ $MENU['sulinet'] = array(
+ array('txt' => 'SuliNet', 'url' => 'http://www.sulinet.hu', 'target' => '_blank'),
+ );
+
+ $MENU['auth'] = array(array('txt'=>'Szülői bejelentkezés','url'=>'index.php?page=auth&f=login&toPolicy=parent'));
+ if ($page!='auth') $NAV[1][] = array('page'=>'auth');
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-sulix/config/module-naplo/config-pl.php.sulix b/mayor-orig/mayor-installer-sulix/config/module-naplo/config-pl.php.sulix
new file mode 100644
index 00000000..ec9b3520
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/module-naplo/config-pl.php.sulix
@@ -0,0 +1,179 @@
+<?php
+
+ // Napló zárás: következő hónap 10-e
+ define('_ZARAS_HATARIDO',date('Y-m-01 00:00:00',strtotime('10 days ago')));
+ // Helyttesített óra beírása (szaktanár): következő nap 8:00
+ define('_HELYETTESITES_HATARIDO',date('Y-m-d',strtotime('8 hours ago'))); // Csak dárum lehet, mert az órák időpontját nem tudjuk
+ // Jegyek beírása, módosítása, törlése (szaktanár): zárásig (zárt időintervallum!)
+ define('_OSZTALYOZO_HATARIDO',_ZARAS_HATARIDO);
+
+ // Saját óra beírása (szaktanár)
+ // A mai nap+8 óra előtti tanatási nap utáni napot megelőző hétfő
+ // Azaz egy óra a következő hétfői tanítási nap 16:00-ig írható be.
+ define('_HALADASI_HATARIDO',
+ date('Y-m-d H:i:s',
+ strtotime('last Monday',
+ strtotime('next day',
+ strtotime(
+ getTanitasiNapVissza(1,date('Y-m-d H:i:s',strtotime('+8hours')))
+ )
+ )
+ )
+ )
+ );
+
+ // Bontandó tárgyak targyId-i (ld. ascExport Súgó)
+ // define('__ASC_BONTANDO_TARGYAK','1,12');
+
+ // A nevek rendezése a helyettesítés kiíráskor: súly szerint (súly) vagy névsorban (ABC)
+ define('__HELYETTESITES_RENDEZES','súly');
+
+ // Haladási statisztikához
+ define('__TANITASI_HETEK_SZAMA',37);
+ define('__VEGZOS_TANITASI_HETEK_SZAMA',31);
+
+ // Fogadóórán egy vizit tervezett hossza
+ define('_VIZITHOSSZ',10);
+
+ // Jegyek default súlyozása
+ define('__DEFAULT_SULYOZAS','1:1:1:2:2');
+ // Jegymódosításkor a jegy típus modosítható-e (pl: féljegy --> százalékos)
+ define('__JEGYTIPUS_VALTHATO',false);
+
+ // Ha az osztályozónaplóban az alapértelmezett havi bontás helyett féléves bontást szeretnénk
+ // define('__OSZTALYOZONAPLO_JEGYEK_FELEVENTE', true);
+
+ // Félévi és év végi osztályzatok elrejtése a diákok elől a szemeszter végéig
+ // define('_OSZTALYZATOK_ELREJTESE', true);
+
+ // Tanév függő beállítások!
+ if (defined('__TANEV')) {
+
+ if (__TANEV == 2006) {
+ } elseif (__TANEV == 2007) {
+ } elseif (__TANEV == 2008) {
+ // Ha azt akarjuk, hogy a tanárok módosíthassák a tanköreik névsorát... bátor vállalkozás :o)
+ // define('_TANKOR_MODOSITAS_HATARIDO','2008-09-30');
+ }
+
+ // Szülői igazolások száma: félévenként legfeljebb 5 nap
+ define('__SZULOI_IGAZOLAS_FELEVRE',5);
+ define('__SZULOI_IGAZOLAS_EVRE',0);
+ // Szülő által igazolható órák maximális száma: félévenként legfeljebb 14 óra
+ define('__SZULOI_ORA_IGAZOLAS_FELEVRE',14);
+ define('__SZULOI_ORA_IGAZOLAS_EVRE',0);
+ // Osztályfőnöki igazolások száma: évi 3 nap
+ // Csak ha < 5 igazolatlanja van
+ define('__OSZTALYFONOKI_IGAZOLAS_FELEVRE',0);
+ define('__OSZTALYFONOKI_IGAZOLAS_EVRE',5);
+ define('__OSZTALYFONOKI_ORA_IGAZOLAS_FELEVRE',0);
+ define('__OSZTALYFONOKI_ORA_IGAZOLAS_EVRE',21);
+
+ // Összeadjuk-e a késések perceit, hogy átváltsuk
+ define('_KESESI_IDOK_OSSZEADODNAK', false);
+ // Hány késés felel meg egy igazolatlan órának - ha 0 vagy _KERESESI_IDOK_OSSZEADODNAK, akkor nem váltjuk át
+ define('_HANY_KESES_IGAZOLATLAN', 3);
+ // Hány felszerelés hiány felel meg egy igazolatlan órának - ha 0 vagy _KERESESI_IDOK_OSSZEADODNAK, akkor nem váltjuk át
+ define('_HANY_FSZ_IGAZOLATLAN', 3);
+
+ // Hiányzás, késés, felszerelés hiány beírása (szaktanár): következő nap 16:00
+ define('_HIANYZAS_HATARIDO',date('Y-m-d 00:00:00',strtotime('16 hours ago')));
+ // Hiányzás, késés beírása osztályfőnöknek: 5 tanítási nap
+ define('_OFO_HIANYZAS_BEIRAS',5);
+ define('_OFO_HIANYZAS_HATARIDO',getTanitasiNapVissza(_OFO_HIANYZAS_BEIRAS,'curdate()'));
+ // Igazolás beírásának határideje: 5 tanítási nap
+ define('_IGAZOLAS_BEIRAS',6);
+ define('_IGAZOLAS_BEIRAS_HATARIDO',getTanitasiNapVissza(_IGAZOLAS_BEIRAS,'curdate()'));
+ // Igazolás leadás határideje - ha nincs közben osztályfőnöki óra: 8 tanítási nap
+ define('_IGAZOLAS_LEADAS',8);
+ define('_LEGKORABBI_IGAZOLHATO_HIANYZAS',getTanitasiNapVissza(_IGAZOLAS_BEIRAS+_IGAZOLAS_LEADAS,'curdate()'));
+
+ }
+
+/*
+
+ // Legalább hány óra jelenjen meg az órarend-módosító oldalon? (default: 8)
+ define('__MAXORA_MINIMUMA',8);
+ // Legalább hány nap jelenjen meg az órarend-módosító oldalon? (default: 5)
+ define('__HETIMAXNAP_MINIMUMA',5);
+
+ // Súlyozás
+ global $SULYOZAS;
+ $SULYOZAS = array('1:2:3:4:5','0.2:1:1:1:1','1:1:2:2:2');
+
+
+ // A dicséret fokozatok testreszabása
+ global $DICSERET_FOKOZATOK;
+ $DICSERET_FOKOZATOK = array(
+ 'SEMMI',
+ 'SZAKTANARI_DICSERET',
+ 'OSZTALYFONOKI_DICSERET',
+ 'IGAZGATOI_DICSERET',
+ 'NEVELOTESTULETI_DICSERET'
+ );
+
+ // A fegyelmi fokozatok testreszabása - például: rovók kiiktatása !! A hiányzási fokozatokat is érinti!! (a példában nincs átjavítva)
+ // Ha egyszer változtattad, csak hozzáfűzni szabad (átalakítás alatt)
+ global $FEGYELMI_FOKOZATOK;
+ $FEGYELMI_FOKOZATOK = array(
+ 'SEMMI',
+ 'SZAKTANARI_FIGYELMEZTETES',
+// 'SZAKTANARI_INTO',
+// 'SZAKTANARI_ROVO',
+ 'SZOBELI_OSZTALYFONOKI_FIGYELMEZTETES',
+ 'OSZTALYFONOKI_FIGYELMEZTETES',
+ 'OSZTALYFONOKI_INTO',
+// 'OSZTALYFONOKI_ROVO',
+ 'IGAZGATOI_FIGYELMEZTETO',
+ 'IGAZGATOI_INTO',
+// 'IGAZGATOI_ROVO',
+ 'NEVELOTESTULETI_FIGYELMEZTETES',
+ 'NEVELOTESTULETI_INTES',
+// 'NEVELOTESTULETI_MEGROVAS'
+ );
+
+ // Igazolatlan hiányzások fegyelmi fokozatai
+ global $HIANYZASI_FOKOZATOK;
+ $HIANYZASI_FOKOZATOK = array(
+ 0 => 0, // semmi
+ 1 => 2, // szóbeli osztályfőnöki figyelmeztetés
+ 2 => 3, // osztályfőnöki figyelmeztetés
+ 3 => 4, // osztályfőnöki intő
+ 4 => 5, // osztályfőnöki rovó
+ 5 => 6, // igazgatói figyelmeztető (szülő értesítése)
+ 6 => 0, // semmi
+ 7 => 7, // igazgatói intő
+ 8 => 0, // semmi
+ 9 => 8, // igazgatói rovó
+ 10 => 0, // igazgatói rovó
+ 11 => 9 // fegyelmi eljárás
+ );
+
+ global $KOVETELMENY;
+ // Osztályzatok testreszabása - egyedi felsorolás (RADYX)
+ $KOVETELMENY['egyedi felsorolás']= array(
+ 'értékek' => array('1.0','2.0','3.0'),
+ '1.0' => array('rovid' => 'szorgalmas', 'hivatalos' => 'SZORGALMAS'),
+ '2.0' => array('rovid' => 'ügyes', 'hivatalos' => 'UGYES', 'megjegyzes' => 'dicseret'),
+ '3.0' => array('rovid' => 'aranyos', 'hivatalos' => 'ARANYOS'),
+ );
+ // Osztályzatok testreszabása - például: 6 fokú skála (RADYX)
+ $KOVETELMENY['jegy']= array(
+ 'értékek' => array('1.0','2.0','3.0','4.0','5.0','6.0'),
+ '1.0' => array('rovid' => '1', 'hivatalos' => 'ELEGTELEN'),
+ '2.0' => array('rovid' => '2', 'hivatalos' => 'ELEGSEGES', 'megjegyzes' => 'figyelmeztető'),
+ '3.0' => array('rovid' => '3', 'hivatalos' => 'KOZEPES'),
+ '4.0' => array('rovid' => '4', 'hivatalos' => 'JO',),
+ '5.0' => array('rovid' => '5', 'hivatalos' => 'JELES'),
+ '6.0' => array('rovid' => '6', 'hivatalos' => 'SZUPER', 'megjegyzes' => 'dicséret'),
+ );
+
+ // A kitűnő megállapításához csak az átlagot vesszük figyelembe
+ define('_KITUNO_ATLAG', 5.0);
+ // jelesrendű, aki a megadott átlag fölött van és nincs a megadott jegynél gyengébb eredménye egyik tárgyból sem
+ define('_JELES_ATLAG', 4.75);
+ define('_JELES_LEGGYENGEBB_JEGY', 3);
+
+*/
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-sulix/config/module-naplo/config-vmg.php.sulix b/mayor-orig/mayor-installer-sulix/config/module-naplo/config-vmg.php.sulix
new file mode 100644
index 00000000..60073fc8
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/module-naplo/config-vmg.php.sulix
@@ -0,0 +1,159 @@
+<?php
+
+ // Napló zárás: következő hónap 10-e
+ define('_ZARAS_HATARIDO',date('Y-m-01 00:00:00',strtotime('-10days')));
+ define('__ZARAS_HATARIDO',_ZARAS_HATARIDO);
+ // Helyttesített óra beírása (szaktanár): következő nap 8:00
+ define('_HELYETTESITES_HATARIDO',date('Y-m-d 00:00:00',strtotime('-8hours')));
+ // Jegyek beírása, módosítása, törlése (szaktanár): zárásig (zárt időintervallum!)
+ define('_OSZTALYOZO_HATARIDO',_ZARAS_HATARIDO);
+
+
+ // Saját óra beírása (szaktanár)
+ // A mai nap+8 óra előtti tanatási nap utáni napot megelőző hétfő
+ // Azaz egy óra a következő hétfői tanítási nap 16:00-ig írható be.
+ define('_HALADASI_HATARIDO',
+ date('Y-m-d H:i:s',
+ strtotime('last Monday',
+ strtotime('next day',
+ strtotime(
+ getTanitasiNapVissza(1, date('Y-m-d',strtotime('+8hours')))
+ )
+ )
+ )
+ )
+ );
+
+ // Bontandó tárgyak targyId-i (ld. ascExport Súgó)
+ // define('__ASC_BONTANDO_TARGYAK','1,12');
+
+ // A nevek rendezése a helyettesítés kiíráskor: súly szerint (súly) vagy névsorban (ABC)
+ define('__HELYETTESITES_RENDEZES','súly');
+ // Haladási statisztikához
+ define('__TANITASI_HETEK_SZAMA',37);
+ define('__VEGZOS_TANITASI_HETEK_SZAMA',31);
+
+ // Félévi és év végi osztályzatok elrejtése a diákok elől a szemeszter végéig
+ define('_OSZTALYZATOK_ELREJTESE', false);
+
+ // A diák jegyeinél mutassa-e az alapértelmezett súlyozás szerinti átlagot a rendszer
+ define('__ATLAG_MUTATAS',true);
+ // Fogadóórán egy vizit tervezett hossza
+ define('_VIZITHOSSZ',10);
+ // Jegyek default súlyozása
+ define('__DEFAULT_SULYOZAS','1:1:1:1:1');
+ // Ha az osztályozónaplóban az alapértelmezett havi bontás helyett féléves bontást szeretnénk
+ // define('__OSZTALYOZONAPLO_JEGYEK_FELEVENTE', true);
+ // Jegymódosításkor a jegy típus modosítható-e (pl: féljegy --> százalékos)
+ // define('__JEGYTIPUS_VALTHATO',true);
+
+
+ // Tanév függő beállítások!
+ if (defined('__TANEV')) {
+
+ if(__TANEV==2008) {
+ // Ha azt akarjuk, hogy a tanárok módosíthassák a tanköreik névsorát... bátor vállalkozás :o)
+ // define('_TANKOR_MODOSITAS_HATARIDO','2008-09-30');
+ } else {
+ }
+
+ // Szülői igazolások száma: félévenként legfeljebb 5 nap
+ define('__SZULOI_IGAZOLAS_FELEVRE',5);
+ define('__SZULOI_IGAZOLAS_EVRE',0);
+ // Szülő által igazolható órák maximális száma: félévenként legfeljebb 14 óra
+ define('__SZULOI_ORA_IGAZOLAS_FELEVRE',14);
+ define('__SZULOI_ORA_IGAZOLAS_EVRE',0);
+ // Osztályfőnöki igazolások száma: évi 3 nap
+ // Csak ha < 5 igazolatlanja van
+ define('__OSZTALYFONOKI_IGAZOLAS_FELEVRE',0);
+ define('__OSZTALYFONOKI_IGAZOLAS_EVRE',5);
+ define('__OSZTALYFONOKI_ORA_IGAZOLAS_FELEVRE',0);
+ define('__OSZTALYFONOKI_ORA_IGAZOLAS_EVRE',21);
+
+ // Összeadjuk-e a késések perceit, hogy átváltsuk
+ define('_KESESI_IDOK_OSSZEADODNAK', false);
+ // Hány késés felel meg egy igazolatlan órának - ha 0 vagy _KERESESI_IDOK_OSSZEADODNAK, akkor nem váltjuk át
+ define('_HANY_KESES_IGAZOLATLAN', 3);
+ // Hány felszerelés hiány felel meg egy igazolatlan órának - ha 0 vagy _KERESESI_IDOK_OSSZEADODNAK, akkor nem váltjuk át
+ define('_HANY_FSZ_IGAZOLATLAN', 3);
+
+ // Hiányzás, késés, felszerelés hiány beírása (szaktanár): következő nap 16:00
+ define('_HIANYZAS_HATARIDO',date('Y-m-d 00:00:00',strtotime('16 hours ago')));
+ // Hiányzás, késés beírása osztályfőnöknek: 5 tanítási nap
+ define('_OFO_HIANYZAS_BEIRAS',5);
+ define('_OFO_HIANYZAS_HATARIDO',getTanitasiNapVissza(_OFO_HIANYZAS_BEIRAS,'curdate()'));
+ // Igazolás beírásának határideje: 5 tanítási nap
+ define('_IGAZOLAS_BEIRAS',6);
+ define('_IGAZOLAS_BEIRAS_HATARIDO',getTanitasiNapVissza(_IGAZOLAS_BEIRAS,'curdate()'));
+ // Igazolás leadás határideje - ha nincs közben osztályfőnöki óra: 8 tanítási nap
+ define('_IGAZOLAS_LEADAS',8);
+ define('_LEGKORABBI_IGAZOLHATO_HIANYZAS',getTanitasiNapVissza(_IGAZOLAS_BEIRAS+_IGAZOLAS_LEADAS,'curdate()'));
+
+ // Legalább hány óra jelenjen meg az órarend-módosító oldalon? (default: 8)
+ define('__MAXORA_MINIMUMA',8);
+ // Legalább hány nap jelenjen meg az órarend-módosító oldalon? (default: 5)
+ define('__HETIMAXNAP_MINIMUMA',5);
+
+ }
+
+/*
+ ----------------
+ Alapértelmezések
+
+ global $SULYOZAS;
+ $SULYOZAS = array('1:2:3:4:5','1:1:1:1:1','1:1:2:2:2');
+
+ // A dicséret fokozatok testreszabása
+ global $DICSERET_FOKOZATOK;
+ $DICSERET_FOKOZATOK = array(
+ 'SEMMI',
+ 'SZAKTANARI_DICSERET',
+ 'OSZTALYFONOKI_DICSERET',
+ 'IGAZGATOI_DICSERET',
+ 'NEVELOTESTULETI_DICSERET'
+ );
+
+ // A fegyelmi fokozatok testreszabása
+ // Csak hozzáfűzni szabad (a tömb végére)
+ global $FEGYELMI_FOKOZATOK;
+ $FEGYELMI_FOKOZATOK = array(
+ 'SEMMI',
+ 'SZAKTANARI_FIGYELMEZTETES',
+ 'SZOBELI_OSZTALYFONOKI_FIGYELMEZTETES',
+ 'OSZTALYFONOKI_FIGYELMEZTETES',
+ 'OSZTALYFONOKI_INTO',
+ 'OSZTALYFONOKI_ROVO',
+ 'IGAZGATOI_FIGYELMEZTETO',
+ 'IGAZGATOI_INTO',
+ 'IGAZGATOI_ROVO',
+ 'NEVELOTESTULETI_FIGYELMEZTETES',
+ 'NEVELOTESTULETI_INTES',
+ 'NEVELOTESTULETI_MEGROVAS'
+ );
+
+ // Igazolatlan hiányzások fegyelmi fokozatai
+ global $HIANYZASI_FOKOZATOK;
+ $HIANYZASI_FOKOZATOK = array(
+ 0 => 0, // semmi
+ 1 => 2, // szóbeli osztályfőnöki figyelmeztetés
+ 2 => 3, // osztályfőnöki figyelmeztetés
+ 3 => 4, // osztályfőnöki intő
+ 4 => 5, // osztályfőnöki rovó
+ 5 => 6, // igazgatói figyelmeztető (szülő értesítése)
+ 6 => 0, // semmi
+ 7 => 7, // igazgatói intő
+ 8 => 0, // semmi
+ 9 => 8, // igazgatói rovó
+ 10 => 0, // igazgatói rovó
+ 11 => 9 // fegyelmi eljárás
+ );
+
+ // A kitűnő megállapításához csak az átlagot vesszük figyelembe
+ define('_KITUNO_ATLAG', 5.0);
+ // jelesrendű, aki a megadott átlag fölött van és nincs a megadott jegynél gyengébb eredménye egyik tárgyból sem
+ define('_JELES_ATLAG', 4.75);
+ define('_JELES_LEGGYENGEBB_JEGY', 3);
+
+*/
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-sulix/config/module-naplo/config.php.sulix b/mayor-orig/mayor-installer-sulix/config/module-naplo/config.php.sulix
new file mode 100644
index 00000000..836d828b
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/module-naplo/config.php.sulix
@@ -0,0 +1,65 @@
+<?php
+
+ define('__NAPLO_INSTALLED',true);
+ define('__UZENO_INSTALLED',true);
+
+ define('__UZENO_DEFAULTLIMIT',20);
+ define('__UZENO_AJAXLIMIT',5);
+ define('__ATLAG_MUTATAS',true); // Diák jegyei nézetben az átlag látszódjon-e?
+ define('__ALLOW_3RDPARTY_APPS',true); // Külső alkalmazások engedélyezése? (google charts)
+
+ /* Képek mutatása */
+ // Opciók: always - mindig (alapértelmezett | default)
+ // optional - a GUIn választhatóan bekapcsolható (user-interakció szükséges)
+ // menu-driven - menüpont szerint szabályozott
+ // never - soha ne mutassa
+ define('__SHOW_FACES', 'always');
+
+ /* Törvényesség ellenőrzéséhez állítsd: true - ra */
+ define('__CHECK_SZULO_TORVENYES',false);
+
+ /* A toolbar alatti mini-help letiltásához állítsd true-ra */
+ define('__NOPAGEHELP',false);
+
+ $MYSQL_DATA['naplo_base']['userRead']= 'mayor_naplo_read';
+ $MYSQL_DATA['naplo_base']['pwRead']= '%SQLPWREAD%';
+
+ $MYSQL_DATA['naplo_base']['userWrite']= 'mayor_naplo';
+ $MYSQL_DATA['naplo_base']['pwWrite'] = '%SQLPW%';
+
+ $MYSQL_DATA['naplo_base']['user'] = $MYSQL_DATA['naplo_base']['userWrite'];
+ $MYSQL_DATA['naplo_base']['pw'] = $MYSQL_DATA['naplo_base']['pwWrite'];
+ $MYSQL_DATA['naplo_base']['db']= 'mayor_naplo';
+
+ define('__ALAP_DB_FILE', _MAYOR_DIR.'/install/module-naplo/mysql/base.sql');
+ define('__INTEZMENY_DB_FILE', _MAYOR_DIR.'/install/module-naplo/mysql/intezmeny.sql');
+ define('__TANEV_DB_FILE', _MAYOR_DIR.'/install/module-naplo/mysql/tanev.sql');
+
+ define('__ORASZAMOT_NOVELO_TIPUSOK','normál,normál máskor,helyettesítés,összevonás');
+ define('__HIANYZASBA_NEM_SZAMITO_TIPUSOK','délutáni,egyéni foglalkozás,tanórán kívüli');
+
+ define('__SHOWSTATZARASMINDENTARGY',true);
+
+ // A "Köszönjük, hogy minden órádat beírtad!" felirat mellett megjelenő GIF képek (/var/mayor/www/skin/classic/module-naplo/img/anim/)
+ $UdvozloKep = array('kutya','pingvin','smiley','garfield','majom');
+
+ //$KERELEM_TAG = array('vmg','kós');
+
+ // !!!!!!!!!!!! FIGYELEM! Kötelező előre írni az azonos nevűekből a specifikusabbakat!
+ $TANKOR_TIPUS = array(
+ 'alapóra' => 'ALAP',
+ 'tagozat' => 'TAG',
+ 'emeltszintű érettségi előkészítő' => 'EÉE',
+ 'középszintű érettségi előkészítő' => 'KÉE',
+ 'első nyelv' => 'NY1',
+ 'második nyelv' => 'NY2',
+ 'harmadik nyelv' => 'NY3',
+ 'gyógytestnevelés' => 'GY',
+ 'fiú' => '(fiú)',
+ 'lány' => '(lány)',
+ 'úszás' => 'U',
+// 'gyógytestnevelés' => 'II/AB',
+// 'könnyített testnevelés' => 'I.',
+ );
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-sulix/config/module-portal/config.php.sulix b/mayor-orig/mayor-installer-sulix/config/module-portal/config.php.sulix
new file mode 100644
index 00000000..42693df4
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/module-portal/config.php.sulix
@@ -0,0 +1,11 @@
+<?php
+
+ //define('__PORTAL_INSTALLED',true);
+
+ $MYSQL_DATA['portal']['user']= 'mayor_portal';
+ $MYSQL_DATA['portal']['pw']= '%SQLPW%';
+ $MYSQL_DATA['portal']['db']= 'mayor_portal';
+
+ define('__PORTAL_CODE','demo');
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-sulix/config/parent-conf.php.sulix b/mayor-orig/mayor-installer-sulix/config/parent-conf.php.sulix
new file mode 100644
index 00000000..c2e92c80
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/parent-conf.php.sulix
@@ -0,0 +1,23 @@
+<?php
+
+$DEFAULT_PSF['parent'] = array('page'=>'naplo', 'sub'=>'osztalyozo', 'f'=>'diak');
+//$DEFAULT_PSF['parent'] = array('page'=>'naplo', 'f' => 'diakValaszto');
+//$DEFAULT_PSF['parent'] = array('page'=>'portal', 'f' => 'start');
+$AUTH['parent'] = array(
+ 'skin' => 'sulix',
+ 'backend' => 'mysql',
+ 'authentication' => 'required',
+ 'onExpired' => 'warning',
+ 'onDisabled' => 'none',
+ 'enableSelfPasswordChange' => true,
+# 'createAccount' => 'byRegistration',
+ 'createAccount' => 'byAdmin',
+ 'accountAttrs' => array('mail','telephoneNumber'),
+
+ 'mysql host' => 'localhost',
+ 'mysql db' => 'mayor_parent',
+ 'mysql user' => 'mayor_parent',
+ 'mysql pw' => '%SQLPW%',
+);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-sulix/config/private-conf.php.sulix b/mayor-orig/mayor-installer-sulix/config/private-conf.php.sulix
new file mode 100644
index 00000000..69fe428f
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/private-conf.php.sulix
@@ -0,0 +1,76 @@
+<?php
+
+// $DEFAULT_PSF['private'] = array('page'=>'portal', 'sub' => 'portal', 'f' => 'portal');
+ $DEFAULT_PSF['private'] = array('page'=>'naplo', 'sub' => '', 'f' => 'naplo');
+
+/*
+ 'onExpired = 'none' | 'warning' | 'force update'
+ Ha lejár a jelszó érvényessége (de még nincs letiltva), akkor
+ none - ne történjen semmi, azaz nem vesszük figyelembe, beengedjük
+ warning - beengedjük figyelmeztető üzenettel
+ force update - jelszóváltoztatásra kényszerítjük => enableSelfPasswordChange
+ 'onDisabled = 'none' | 'refuse'
+ none - nem vesszük figyelembe, azaz beengedjük
+ refuse - visszautasítjuk
+ 'enableSelfPasswordChange' = true | false
+ 'accountCreateMode' => 'registration' | 'create by admin' => admingroup
+
+*/
+
+
+ $AUTH['private'] = array(
+
+ 'skin' => 'sulix',
+ 'authentication' => 'required',
+ 'onExpired' => 'force update',
+ 'onDisabled' => 'none',
+ 'enableSelfPasswordChange' => true,
+ 'createAccount' => 'byAdmin',
+ 'adminGroup' => 'useradmin',
+ 'categories' => array('tanár','diák','titkárság','egyéb'),
+ 'categoryMap' => array(
+ 'tanar' => 'cn=teachers,ou=group,%BASEDN%',
+ 'diak' => 'cn=students,ou=group,%BASEDN%',
+ 'titkarsag' => 'cn=administration,ou=group,%BASEDN%',
+ 'egyeb' => 'cn=other,ou=group,%BASEDN%',
+
+ 'useradmin' => 'cn=useradmins,ou=group,%BASEDN%',
+ 'naploadmin' => 'cn=diaryadmins,ou=group,%BASEDN%',
+ 'diakadmin' => 'cn=studentadmins,ou=group,%BASEDN%',
+ 'uzenoadmin' => 'cn=msgadmins,ou=group,%BASEDN%',
+ 'hirekadmin' => 'cn=newsadmins,ou=group,%BASEDN%',
+ 'vezetoseg' => 'cn=management,ou=group,%BASEDN%',
+
+ ),
+ 'accountAttrs' => array('studyId','mail','telephoneNumber'),
+ 'unixStyleAccounts' => false,
+
+ 'shadowLastChange' => intval(time()/(60*60*24)),
+ 'shadowMin' => 2,
+ 'shadowMax' => 80,
+ 'shadowWarning' => 10,
+ 'shadowInactive' => 0,
+
+ # LDAPNG
+ 'backend' => 'ldapng',
+ 'ldapHostname' => 'ldap://localhost',
+ 'ldapBaseDn' => '%BASEDN%',
+ #'ldapUser' => 'CN=User,OU=Users,%BASEDN%', // Olvasási jog az LDAP-ben - Normál user
+ #'ldapPw' => 'jelszó',
+ #'ldapAccountOperatorUser' => 'CN=Op,OU=Users,%BASEDN%', // Account Operators (Fiókfelelősök) csoport tag pl (jelszóváltoztatás)
+ #'ldapAccountOperatorPw' => 'jelszó',
+ 'ldapUserObjectClass' => 'person', // Userek objectum osztálya (volt posixAccount)
+ 'ldapStudyIdAttr' => 'employeenumber', // Az oktatási azonosítót tároló attribútum (studyId)
+ 'ldapUserAccountAttr' => 'uid', // A felhasználói azonosítót tároló attribútum (uid)
+ 'ldapCnAttr' => 'cn', // A felhasználói teljes neve (cn)
+ 'ldapGroupObjectClass' => 'posixgroup', // volt: 'groupofnames' (bár ebben memberUid lenne, de feltesszük, hogy van member is..,// Csoportok objectum osztálya (volt nayorGroup)
+ 'ldapGroupCnAttr' => 'cn', // A csoport teljes neve (cn)
+
+ 'ldapContainers' => array(
+ 'ou=People,%BASEDN%',
+ 'ou=group,%BASEDN%'
+ ),
+ 'cacheable' => true,
+ );
+
+?>
diff --git a/mayor-orig/mayor-installer-sulix/config/public-conf.php.sulix b/mayor-orig/mayor-installer-sulix/config/public-conf.php.sulix
new file mode 100644
index 00000000..fcd3206a
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/public-conf.php.sulix
@@ -0,0 +1,21 @@
+<?php
+
+// A kezdőlap beállítása
+// Ha a portál modult telepítjük:
+// $DEFAULT_PSF['public'] = array('page'=>'portal', 'sub'=>'portal', 'f' => 'portal');
+// Illetve nélküle, csak napló modullal:
+ $DEFAULT_PSF['public'] = array('page'=>'auth', 'sub'=>'', 'f' => 'login');
+
+$AUTH['public'] = array(
+ 'skin' => 'sulix',
+ 'backend' => 'file',
+ 'authentication' => 'optional',
+ 'onExpired' => 'force update',
+ 'onDisabled' => 'refuse',
+ 'accountAttrs' => array('mail'),
+
+ 'file account file' => '/tmp/passwd',
+ 'file group file' => '/tmp/group',
+);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-sulix/config/skin-classic/config.php.sulix b/mayor-orig/mayor-installer-sulix/config/skin-classic/config.php.sulix
new file mode 100644
index 00000000..81eb6810
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/skin-classic/config.php.sulix
@@ -0,0 +1,6 @@
+<?php
+ // site skin specific html head
+ $SSSHH = '';
+ //$SSSHH .= '<meta name="robots" content="index,follow" />'."\n";
+ //$SSSHH .= '<link rel="shortcut icon" href="/favicon.ico" />'."\n";
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-sulix/config/skin-classic/naplo-config.php.sulix b/mayor-orig/mayor-installer-sulix/config/skin-classic/naplo-config.php.sulix
new file mode 100644
index 00000000..10972b78
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/skin-classic/naplo-config.php.sulix
@@ -0,0 +1,14 @@
+<?php
+
+// Javascript rutinok - pl. mozgatható elemek
+if (
+ ($policy=='private') && $page=='naplo'
+ && (
+ ($sub=='osztalyozo' && $f=='targySorrend')
+ || ($sub=='haladasi' && $f=='helyettesites')
+ )
+) {
+ $SSSHH .= ' <script src="skin/classic/share/javascript/scriptaculous/scriptaculous.js" type="text/javascript"></script>'."\n";
+}
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-sulix/config/skin-sulix/config.php.sulix b/mayor-orig/mayor-installer-sulix/config/skin-sulix/config.php.sulix
new file mode 100644
index 00000000..92075724
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/skin-sulix/config.php.sulix
@@ -0,0 +1,7 @@
+<?php
+
+ // Engedélyezzü a MaYoR IFRAME-be ágyazását - !! Biztonsági kockázat !!
+ define('_ENABLE_IFRAME_EMBEDDING',true);
+ define('_SULIX_DESIGN',true);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-sulix/config/skin-teszt/config.php.sulix b/mayor-orig/mayor-installer-sulix/config/skin-teszt/config.php.sulix
new file mode 100644
index 00000000..92e1bff1
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/skin-teszt/config.php.sulix
@@ -0,0 +1,21 @@
+<?php
+
+ // Az iskola logója
+ define('_SCHOOL_LOGO',_BASEDIR.'/skin/teszt/base/img/mayor_small_ssl.png');
+ // Átszínezzük-e a logo-t?
+ define('_SCHOOL_LOGO_COLORIZE', true);
+ // Átméretezzük-e a logo-t?
+ define('_SCHOOL_LOGO_RESIZE', true);
+ // Készerítsük a logo generálására - akkor is, ha el van cache-elve? (csak az "próbálgatás" idejére érdemes true-ra állítani!)
+ define('_SCHOOL_LOGO_FORCE_GENERATE', false);
+
+ // Az intézmény megjelenítendő neve
+ define('_SCHOOL_IDENTITY','MaYoR elektronikus napló');
+ // Az iskole honlapcíme
+ define('_SCHOOL_URL','http://www.mayor.hu');
+
+ // site skin specific html head
+ $SSSHH = '';
+ //$SSSHH .= '<meta name="robots" content="index,follow" />'."\n";
+ //$SSSHH .= '<link rel="shortcut icon" href="/favicon.ico" />'."\n";
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-sulix/config/skin-winter/config.php.sulix b/mayor-orig/mayor-installer-sulix/config/skin-winter/config.php.sulix
new file mode 100644
index 00000000..d106ade5
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/config/skin-winter/config.php.sulix
@@ -0,0 +1,6 @@
+?php
+ // site skin specific html head
+ $SSSHH = '';
+ //$SSSHH .= '<meta name="robots" content="index,follow" />'."\n";
+ //$SSSHH .= '<link rel="shortcut icon" href="/favicon.ico" />'."\n";
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-installer-sulix/devel/copy-sulixconfig.sh b/mayor-orig/mayor-installer-sulix/devel/copy-sulixconfig.sh
new file mode 100644
index 00000000..3b227646
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/devel/copy-sulixconfig.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+cp -r /root/mayor/sulix/* /srv/mayor
+
diff --git a/mayor-orig/mayor-installer-sulix/devel/example2sulix.sh b/mayor-orig/mayor-installer-sulix/devel/example2sulix.sh
new file mode 100644
index 00000000..6f2ceac2
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/devel/example2sulix.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+for i in $(find /srv/mayor/ -name *.example -print | sed -e 's/.example//'); do
+ name=`basename $i`;
+ dir=$(echo $i | sed -e 's#/srv/mayor#/root/mayor/sulix#' -e "s/$name//");
+ mkdir -p $dir;
+ cp $i.example $(echo $i | sed -e 's#/srv/mayor#/root/mayor/sulix#').sulix;
+done
diff --git a/mayor-orig/mayor-installer-sulix/install/install.d/05env.sh b/mayor-orig/mayor-installer-sulix/install/install.d/05env.sh
new file mode 100755
index 00000000..90d18659
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/install/install.d/05env.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+#
+
+cat <<EOF
+A rendszer telepítéséhez szükséges környezet kialakítása
+
+Létrehozzuk a szükséges könyvtárakat, kicsomagoljuk a forrásokat...
+EOF
+
+if [ ! -d "$MAYORDIR" ]; then
+ echo Telepítési könyvtár: $MAYORDIR
+ mkdir -p $MAYORDIR
+fi
+if [ ! -d "$BACKUPDIR" ]; then
+ echo Mentési könyvtár: $BACKUPDIR
+ mkdir -p $BACKUPDIR
+fi
diff --git a/mayor-orig/mayor-installer-sulix/install/install.d/15createconfig.sh b/mayor-orig/mayor-installer-sulix/install/install.d/15createconfig.sh
new file mode 100755
index 00000000..3727094a
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/install/install.d/15createconfig.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+#
+
+cat <<EOF
+A konfigurációs állományok létrehozása
+
+A MaYoR konfigurációs állományait a minták alapján készítheti el.
+A konfigurációs állományok nélkül a telepítés nem fut le helyesen, ezért ezt
+a lépést akkor hagyja csak ki, ha ezeket már sajátkezűleg elkészítette!
+
+EOF
+
+if [ "$MAYORDIR" = "" ]; then echo "A MAYORDIR változó üres. Kilépek."; exit 1; fi
+
+echo -e "\nKonfigurációs állományok létrehozása:"
+for file in main-config.php parent-conf.php private-conf.php public-conf.php
+do
+ if [ -e "${MAYORDIR}/config/${file}" ]; then echo " $file létezik."; else
+ echo -n " $file.sulix --> "
+ PW=`mypwgen`
+# echo "$MAYORDIR/config/$file.sulix" sed -e "s/%SQLPW%/${PW}/" -e "s/%BASEDN%/${BASEDN}/" -e "s#%MAYORDIR%#${MAYORDIR}#"
+ cat "$MAYORDIR/config/$file.sulix" | sed -e "s/%SQLPW%/${PW}/" -e "s/%BASEDN%/${BASEDN}/" -e "s#%MAYORDIR%#${MAYORDIR}#" > "$MAYORDIR/config/$file"
+ echo $file
+ fi
+done
+
+echo -n " module-naplo/config.php.sulix --> "
+PW=`mypwgen`
+PWREAD=`mypwgen`
+if [ -e "$MAYORDIR/config/module-naplo/config.php" ]; then echo " module-naplo/config.php létezik."; else
+ cat "$MAYORDIR/config/module-naplo/config.php.sulix" | sed -e "s/%SQLPW%/${PW}/" -e "s/%SQLPWREAD%/${PWREAD}/" > "$MAYORDIR/config/module-naplo/config.php"
+ echo "module-naplo/config.php"
+fi
+
+if [ -e "$MAYORDIR/config/skin-classic/naplo-config.php" ]; then echo " skin-classic/naplo-config.php létezik."; else
+ echo -n " skin-classic/naplo-config.php.sulix --> "
+ cp $MAYORDIR/config/skin-classic/naplo-config.php.sulix $MAYORDIR/config/skin-classic/naplo-config.php
+ echo "config/skin-classic/naplo-config.php"
+fi
+
+# A private menü átalakítása (nincs Kilépés, Felhasználói adatok - ahol nem kell...)
+if [ -e "$MAYORDIR/config/menu/private/menu-hu_HU.php" ]; then echo " menu/private/menu-hu_HU.php"; else
+ echo -n " menu/private/menu-hu_HU.php.sulix --> "
+ cp $MAYORDIR/config/menu/private/menu-hu_HU.php.sulix $MAYORDIR/config/menu/private/menu-hu_HU.php
+ echo "menu/private/menu-hu_HU.php"
+fi
+
+# A public menü átalakítása (szülői bejelentkezés)
+if [ -e "$MAYORDIR/config/menu/public/menu-hu_HU.php" ]; then echo " menu/public/menu-hu_HU.php"; else
+ echo -n " menu/public/menu-hu_HU.php.sulix --> "
+ cp $MAYORDIR/config/menu/public/menu-hu_HU.php.sulix $MAYORDIR/config/menu/public/menu-hu_HU.php
+ echo "menu/public/menu-hu_HU.php"
+fi
+
+# A parent menü átalakítása (utolsó két menüpont törlése)
+if [ -e "$MAYORDIR/config/menu/parent/menu-hu_HU.php" ]; then echo " menu/parent/menu-hu_HU.php"; else
+ echo -n " menu/parent/menu-hu_HU.php.sulix --> "
+ cp $MAYORDIR/config/menu/parent/menu-hu_HU.php.sulix $MAYORDIR/config/menu/parent/menu-hu_HU.php
+ echo "menu/parent/menu-hu_HU.php"
+fi
+
+# IFRAME-be ágyazás engedélyezése
+if [ -e "$MAYORDIR/config/skin-sulix/config.php" ]; then echo " skin-sulix/config.php"; else
+ echo -n " skin-sulix/config.php.sulix --> "
+ cp $MAYORDIR/config/skin-sulix/config.php.sulix $MAYORDIR/config/skin-sulix/config.php
+ echo "skin-sulix/config.php"
+fi
+
diff --git a/mayor-orig/mayor-installer-sulix/install/install.d/35createdatabases.sh b/mayor-orig/mayor-installer-sulix/install/install.d/35createdatabases.sh
new file mode 100755
index 00000000..2ca1a258
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/install/install.d/35createdatabases.sh
@@ -0,0 +1,114 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Adatbázisok létrehozása
+
+A felhasználói azonosítók és csoportok adatainak tárolásához, a
+munkamenetek adminisztrálásához és a napló modul adatainak tárolásához
+szükséges adatbázisok létrehozása következik.
+
+Ez a lépés csak a szükséges konfigurációs állományok megléte
+esetén fut le helyesen!
+
+A telepítő először elkészíti a betöltendő SQL utasításokat tartalmazó
+állományokat a $TMPDIR/mysql alá, majd - amennyiben engedélyezzük -
+be is tölti az állományokat.
+
+EOF
+
+if [ "$MAYORDIR" = "" ]; then echo "MAYORDIR változó üres. Kilépek!"; exit 1; fi
+
+echo -n -e "\n Config fileok ellenőrzése..."
+
+if [ ! -e "$MAYORDIR/log" ]; then mkdir $MAYORDIR/log; fi
+if [ ! -e /var/log/mayor ]; then ln -s $MAYORDIR/log /var/log/mayor; fi
+if [ ! -e /etc/mayor ]; then ln -s $MAYORDIR/config /etc/mayor; fi
+chmod +x $MAYORDIR/bin/mayor
+
+FILES="$MAYORDIR/config/parent-conf.php $MAYORDIR/config/private-conf.php $MAYORDIR/config/main-config.php $MAYORDIR/config/module-naplo/config.php $MAYORDIR/install/base/mysql/mayor-login.sql $MAYORDIR/install/base/mysql/mayor-auth.sql $MAYORDIR/install/base/mysql/private-users.sql $MAYORDIR/install/module-naplo/mysql/naplo-users.sql"
+for f in $FILES
+do
+ if [ ! -e $f ]; then echo -e "\n\r Nincs meg a szükséges ${f} config file!"; exit 1; else echo -n '.'; fi
+done;
+echo " kész.";
+
+if [ ! -e $MAYORDIR/log/mayor-base.rev ]; then
+ echo " Hiányzó mayor-base.rev file";
+ if [ -e $MAYORDIR/log/revision ];
+ then
+ IREV=`cat $MAYORDIR/log/revision`
+ else
+ IREV="";
+ fi
+else
+ cp $MAYORDIR/log/mayor-base.rev $MAYORDIR/log/revision
+ IREV=`cat $MAYORDIR/log/revision`
+fi
+
+echo " Az aktuális revision: ${IREV}"
+
+if [ "$IREV" = "" ]
+then
+ echo " Nincs revision file és helyreállítani sem tudom. Kilépek!"
+ exit 1;
+fi
+
+echo " SQL fileok létrehozása... "
+mkdir -p $TMPDIR/mysql
+cd $TMPDIR/mysql
+DB=`grep db $MAYORDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USER=`grep user $MAYORDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+PW=`grep pw $MAYORDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+cat $MAYORDIR/install/base/mysql/mayor-login.sql | sed -e "s/%MYSQL_LOGIN_DB%/$DB/g" -e "s/%MYSQL_LOGIN_USER%/$USER/g" \
+ -e "s/%MYSQL_LOGIN_PW%/$PW/g" > mayor-login.sql
+DB=`grep db $MAYORDIR/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+USER=`grep user $MAYORDIR/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+PW=`grep pw $MAYORDIR/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+cat $MAYORDIR/install/base/mysql/mayor-auth.sql | sed -e "s/%MYSQL_AUTH_DB%/$DB/g" -e "s/%MYSQL_AUTH_USER%/$USER/g" \
+ -e "s/%MYSQL_AUTH_PW%/$PW/g" > mayor-parent.sql
+
+# A private hozzáférési szint LDAP-ot használ!!
+#DB=`grep db $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+#USER=`grep 'mysql user' $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+#PW=`grep pw $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+#cat $MAYORDIR/install/base/mysql/mayor-auth.sql | sed -e "s/%MYSQL_AUTH_DB%/$DB/g" -e "s/%MYSQL_AUTH_USER%/$USER/g" \
+# -e "s/%MYSQL_AUTH_PW%/$PW/g" > mayor-private.sql
+
+DB=`grep db $MAYORDIR/config/module-naplo/config.php | grep naplo_base | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USER=`egrep 'userWrite.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USERREAD=`egrep 'userRead.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+PW=`egrep 'pwWrite.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+PWREAD=`egrep 'pwRead.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+cat $MAYORDIR/install/module-naplo/mysql/base.sql | sed -e "s/%MYSQL_NAPLO_DB%/$DB/g" -e "s/%MYSQL_NAPLO_USER%/$USER/g" \
+ -e "s/%MYSQL_NAPLO_PW%/$PW/g" -e "s/%MYSQL_NAPLO_USER_READ%/$USERREAD/g" \
+ -e "s/%MYSQL_NAPLO_PW_READ%/$PWREAD/g" > base.sql
+
+# A private hozzáférési szint LDAP-ot használ!!
+# DB=`grep db $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+#cat $MAYORDIR/install/base/mysql/private-users.sql | sed -e "s/%MYSQL_PRIVATE_DB%/$DB/g" > private-users.sql
+#cat $MAYORDIR/install/module-naplo/mysql/naplo-users.sql | sed -e "s/%MYSQL_PRIVATE_DB%/$DB/g" > naplo-users.sql
+
+echo " A létrejött sql fileok:"
+FILES=`ls *.sql`
+for f in $FILES
+do
+ echo " * ${f}";
+done;
+echo -e "\n"
+
+if [ ! -e $MAYORDIR/config/main.conf ]; then
+ cat $MAYORDIR/config/main.conf.sulix | sed -e s/%SQLPW%/$MYSQLROOTPW/ -e s/%BASEDN%/$BASEDN/g > $MAYORDIR/config/main.conf
+ chmod 600 $MAYORDIR/config/main.conf
+fi
+
+if [ "$MYSQLROOTPW" != "" ]; then MYSQLROOTPW="-p$MYSQLROOTPW"; fi
+cat $TMPDIR/mysql/mayor-login.sql | mysql $MYSQLROOTPW --user=root --default-character-set=utf8
+cat $TMPDIR/mysql/mayor-parent.sql | mysql $MYSQLROOTPW --user=root --default-character-set=utf8
+
+# A private hozzáférési szint LDAP-ot használ!!
+#cat $TMPDIR/mysql/mayor-private.sql | mysql $MYSQLROOTPW --user=root --default-character-set=utf8
+#cat $TMPDIR/mysql/private-users.sql | mysql $MYSQLROOTPW --user=root --default-character-set=utf8
+#cat $TMPDIR/mysql/naplo-users.sql | mysql $MYSQLROOTPW --user=root --default-character-set=utf8
+
+cat $TMPDIR/mysql/base.sql | mysql $MYSQLROOTPW --user=root --default-character-set=utf8
diff --git a/mayor-orig/mayor-installer-sulix/install/install.d/40binary.sh b/mayor-orig/mayor-installer-sulix/install/install.d/40binary.sh
new file mode 100755
index 00000000..ab6ac346
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/install/install.d/40binary.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Karbantartást segítő szkriptek
+
+A telepítő szimbolikus linket készít a /usr/local/sbin-be, hogy
+a "mayor update" illettve "mayor backup" parancsokat bárhonnan
+kiadhassuk, majd az /etc/cron.daily könyvtár alá is link készül,
+hogy a mentések és frissítések rendszeresen lefuthassanak.
+
+EOF
+
+if [ "$MAYORDIR" = "" ]; then echo "MAYORDIR változó üres. Kilépek!"; exit 1; fi
+
+ # A karbantartást segítő scriptek:
+ if [ ! -e /usr/local/sbin/mayor ]; then
+ ln -s $MAYORDIR/bin/mayor /usr/local/sbin/mayor;
+ echo -e "\n Az /usr/local/sbin/ alá létrejött a mayor szimbolikus link.";
+ fi
+# Majd meglátjuk mi lesz a frissítéssel / mentéssel...
+# if [ ! -e /etc/cron.daily/mayor ]; then
+# ln -s $MAYORDIR/bin/etc/cron.daily/mayor /etc/cron.daily;
+# echo -e "\n Az /etc/cron.daily/ alá létrejött a mayor szimbolikus link.";
+# fi
diff --git a/mayor-orig/mayor-installer-sulix/install/install.d/45intezmeny.sh b/mayor-orig/mayor-installer-sulix/install/install.d/45intezmeny.sh
new file mode 100755
index 00000000..3a9b665d
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/install/install.d/45intezmeny.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Intézmény létrehozása
+
+A telepítő segítségével létrehozhatjuk az intézmény adatbázisát.
+(Ezt a lépést a webes felületen is végezhetnénk.)
+
+A telepítő létrehozza az
+ * intézmény konfigurációs állományát,
+ * az intézmény adatbázisát és
+ * bejegyzését a mayor_naplo.intezmeny táblába.
+
+Ehhez meg kell adnia az intézmény OM kódját, nevét és rövid nevét
+(mint vmg, njszki, fasori, stb).
+
+EOF
+
+if [ "$MAYORDIR" = "" ]; then echo "MAYORDIR változó üres. Kilépek!"; exit 1; fi
+
+echo -e "\n"
+OMKOD=$(grep SCHOOLOM $SCHOOLSERVERCONF | sed -e 's/SCHOOLOM="//' -e 's/"//')
+if [ "$OMKOD" = "" ]; then
+ echo "Nincs OM kód - kilépek!"
+ exit 1
+fi
+
+INTEZMENYNEV=$(grep SCHOOLNAME $SCHOOLSERVERCONF | sed -e 's/SCHOOLNAME="//' -e 's/"//')
+if [ "$INTEZMENYNEV" = "" ]; then
+ echo "Nincs intézménynév - kilépek!"
+ exit 1
+fi
+
+ROVID=$(grep SCHOOLSHORTNAME $SCHOOLSERVERCONF | sed -e 's/SCHOOLSHORTNAME="//' -e 's/"//')
+if [ "$ROVID" = "" ]; then
+ echo "Nincs rövid név - kilépek!"
+ exit 1
+fi
+echo -e "\nOM: ${OMKOD}; Név: ${INTEZMENYNEV}; Rövidnév: ${ROVID}\n"
+
+echo -n " Az intézmény konfigurációs állománya: "
+cp "$MAYORDIR/config/module-naplo/config-pl.php.sulix" "$MAYORDIR/config/module-naplo/config-$ROVID.php"
+echo "$MAYORDIR/config/module-naplo/config-$ROVID.php"
+
+DB=`grep db $MAYORDIR/config/module-naplo/config.php | grep naplo_base | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USER=`egrep 'userWrite.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USERREAD=`egrep 'userRead.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+
+echo -e "\nAz adatbázis létrehozása\n"
+cat <<EOF > $TMPDIR/mysql/intezmeny.sql
+
+insert into $DB.intezmeny (OMKod, rovidNev, nev, alapertelmezett) VALUES ('$OMKOD','$ROVID','$INTEZMENYNEV',1);
+create database intezmeny_$ROVID character set utf8 collate utf8_hungarian_ci;
+grant select,execute on intezmeny_$ROVID.* to '$USERREAD'@'localhost';
+grant all on intezmeny_$ROVID.* to '$USER'@'localhost';
+use intezmeny_$ROVID;
+
+EOF
+
+#if [ "$MYSQLROOTPW" == "" ]; then
+# read -p " A mysql root jelszó (a begépelt szöveg nem látszik!): " -s MYSQLROOTPW
+#fi
+
+if [ "$MYSQLROOTPW" != "" ]; then MYSQLROOTPW="-p$MYSQLROOTPW"; fi
+
+cat $TMPDIR/mysql/intezmeny.sql $MAYORDIR/install/module-naplo/mysql/intezmeny.sql | mysql $MYSQLROOTPW $INTEZMENYDB --default-character-set=utf8
+
diff --git a/mayor-orig/mayor-installer-sulix/install/install.d/47tanev.sh b/mayor-orig/mayor-installer-sulix/install/install.d/47tanev.sh
new file mode 100755
index 00000000..f529bc9d
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/install/install.d/47tanev.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Tanév megnyitása
+
+A telepítő segítségével létrehozhatunk egy aktív tanévet.
+(Ezt a lépést a webes felületen is végezhetnénk.)
+
+A telepítő létrehozza az
+ * a tanév adatbázisát
+ * módosítja a szemeszter tábla megfelelő bejegyzéseit.
+
+A program feltételezi, hogy jelenleg nincsenek még osztályok definiálva!
+
+A művelethez meg kell adnia a megnyitandó tanév kezdetének évét!
+
+EOF
+
+if [ "$MAYORDIR" = "" ]; then echo "MAYORDIR változó üres. Kilépek!"; exit 1; fi
+
+TANEV=$(grep SCHOOLYEAR $SCHOOLSERVERCONF | sed -e 's/SCHOOLYEAR="//' -e 's/"//')
+if [ "$TANEV" = "" ]; then
+ TANEV=2012
+ echo "Nincs megadva tanév - az alapértelemzett: ${TANEV}"
+fi
+
+ROVID=$(grep SCHOOLSHORTNAME $SCHOOLSERVERCONF | sed -e 's/SCHOOLSHORTNAME="//' -e 's/"//')
+if [ "$ROVID" = "" ]; then
+ echo "Nincs rövid név - kilépek!"
+ exit 1
+fi
+echo -e "\nTanév: ${TANEV}; Rövidnév: ${ROVID}\n"
+
+DB="naplo_${ROVID}_${TANEV}"
+USER=`egrep 'userWrite.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USERREAD=`egrep 'userRead.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+INTEZMENYDB="intezmeny_${ROVID}"
+
+echo -e "\nAz adatbázis létrehozása\n"
+cat <<EOF > $TMPDIR/mysql/tanev.sql
+
+create database $DB character set utf8 collate utf8_hungarian_ci;
+grant select,execute on $DB.* to '$USERREAD'@'localhost';
+grant all on $DB.* to '$USER'@'localhost';
+
+update $INTEZMENYDB.szemeszter SET statusz='aktív' where tanev=$TANEV;
+
+use $DB;
+
+EOF
+
+#if [ "$MYSQLROOTPW" == "" ]; then
+# read -p " A mysql root jelszó (a begépelt szöveg nem látszik!): " -s MYSQLROOTPW
+#fi
+
+if [ "$MYSQLROOTPW" != "" ]; then MYSQLROOTPW="-p$MYSQLROOTPW"; fi
+
+cat $TMPDIR/mysql/tanev.sql $MAYORDIR/install/module-naplo/mysql/tanev.sql | sed -e s/%DB%/$INTEZMENYDB/g | mysql $MYSQLROOTPW $INTEZMENYDB --default-character-set=utf8
+
diff --git a/mayor-orig/mayor-installer-sulix/install/install.d/50linker.sh b/mayor-orig/mayor-installer-sulix/install/install.d/50linker.sh
new file mode 100755
index 00000000..96d17007
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/install/install.d/50linker.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+cat <<EOF
+Linkek létrehozása a parent és public policyben
+
+EOF
+
+source $MAYORDIR/config/main.conf
+source $MAYORDIR/update/linkme.sh
+
+if [ "$MAYORDIR" = "" ]; then echo "MAYORDIR változó üres. Kilépek!"; exit 1; fi
+if [ "$WEB_SERVER_USER" = "" ]; then echo "WEB_SERVER_USER változó üres. Kilépek!"; exit 1; fi
+
+# Ennek nem itt a helye
+echo -e "\n * A szükséges jogosultságok beállítása"
+if [ -e "$MAYORDIR/config" ]; then
+ chmod 700 $MAYORDIR/config/
+ chown -R $WEB_SERVER_USER $MAYORDIR/config
+fi
+if [ -e "$MAYORDIR/config/main.conf" ]; then chown root $MAYORDIR/config/main.conf; fi
+if [ -e "$MAYORDIR/download" ]; then chown -R $WEB_SERVER_USER $MAYORDIR/download; fi
+if [ -e "$MAYORDIR/www/wiki/conf" ]; then chown -R $WEB_SERVER_USER $MAYORDIR/www/wiki/conf; fi
+if [ -e "$MAYORDIR/www/wiki/data" ]; then chown -R $WEB_SERVER_USER $MAYORDIR/www/wiki/data; fi
+
+ln -s $MAYORDIR/www /var/www/mayor
+
+echo -e " * Szimbolikus linkek ellenőrzése/létrehozása"
+POLICIES="parent public"
+for POLICY in $POLICIES; do
+ eval "LIST=\$${POLICY}Link"
+ for f in $LIST; do
+ DIR=`echo $f | cut -d / -f 1-2`
+ if [ ! -d $MAYORDIR/www/policy/$POLICY/$DIR ]; then
+ echo " Könyvtár: $MAYORDIR/www/policy/$POLICY/$DIR"
+ mkdir -p $MAYORDIR/www/policy/$POLICY/$DIR
+ else
+ echo " [OK] A könyvtár már létezik: $MAYORDIR/www/policy/$POLICY/$DIR"
+ fi
+ FILES="$f-pre.php $f.php"
+ for file in $FILES; do
+ if [ ! -e $MAYORDIR/www/policy/$POLICY/$file ]; then
+ if [ -f $MAYORDIR/www/policy/private/$file ]; then
+ echo " $MAYORDIR/www/policy/private/$file --> $MAYORDIR/www/policy/$POLICY/$file"
+ ln -s $MAYORDIR/www/policy/private/$file $MAYORDIR/www/policy/$POLICY/$file
+ else
+ echo " Hiányzó file: $MAYORDIR/www/policy/private/$file"
+ fi
+ else
+ echo " [OK] A file már létezik: " $file
+ fi
+ done
+ done
+done
diff --git a/mayor-orig/mayor-installer-sulix/install/install.d/55tex.sh b/mayor-orig/mayor-installer-sulix/install/install.d/55tex.sh
new file mode 100755
index 00000000..c0886c08
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/install/install.d/55tex.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+#
+cat <<EOF
+A mayor.fmt előllítása...
+
+EOF
+
+cd $MAYORDIR/print/module-naplo/tex/
+fmtutil-sys --cnffile $MAYORDIR/print/module-naplo/tex/mayor.cnf --fmtdir $MAYORDIR/print/module-naplo/ --byfmt mayor
+# Ha az fmtutil nem a tex alkönyvtárba hozná létre a mayor.fmt-t, akkor áthelyezzük:
+if [ -e "$MAYORDIR/print/module-naplo/mayor.fmt" ]; then
+ mv $MAYORDIR/print/module-naplo/mayor.fmt $MAYORDIR/print/module-naplo/tex/mayor.fmt
+fi
diff --git a/mayor-orig/mayor-installer-sulix/install/install.d/60portal.sh b/mayor-orig/mayor-installer-sulix/install/install.d/60portal.sh
new file mode 100755
index 00000000..4bb9b224
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/install/install.d/60portal.sh
@@ -0,0 +1,90 @@
+#!/bin/bash
+#
+
+#
+# A $ROVID-nek itt nincs értéke - le kell kérdezni a schoolconfig állományból!!
+#
+
+cat <<EOF
+A MaYoR Portal modul telepítése
+
+A keretrendszer és az elektronikus napló modul mellett
+telepíthető a portál modul, ami egy egyszerű, testreszabható
+nyitóoldalt ad az egyes hozzáférési szintekhez. A személyes
+kezdőlapon megjeleníthető a napi órarend, a legutóbbi üzenetek,
+az aktuális kérelmek listája, név- és születésnap információk,
+illetve kiírhatunk híreket is.
+
+EOF
+
+echo -e "\nA main.conf módosítása ..."
+if [ ! -e $MAYORDIR/config/main.conf ]; then
+ echo -e "\nHiányzó konfigurációs állomány: $MAYORDIR/config/main.conf"
+ exit 1;
+fi
+
+sed -r -i.60portal \
+ -e "s#mayor-naplo#mayor-naplo mayor-portal#" $MAYORDIR/config/main.conf
+
+echo -e "\nA telepítőcsomag letöltése ..."
+
+echo -e "\nA porál modul konfigurációs állományának létrehozása"
+file="module-portal/config.php"
+if [ -e "${MAYORDIR}/config/${file}" ]; then echo " $file létezik."; else
+ echo -n " $file.sulix --> "
+ PW=`mypwgen`
+ if [ "$ROVID" = "" ]; then
+ ROVID="demo"
+ fi
+ cat "$MAYORDIR/config/$file.sulix" | sed -e "s/%SQLPW%/$PW/" -e "s/demo/${ROVID}/" > "$MAYORDIR/config/$file"
+ echo $file
+fi
+
+echo -e "\n SQL file létrehozása... "
+if [ ! -d $TMPDIR/mysql ]; then
+ mkdir -p $TMPDIR/mysql
+fi
+cd $TMPDIR/mysql
+PDB=`grep db $MAYORDIR/config/$file | sed -e "s/.*=\ *['\"]//g" -e "s/['\"];//g"`
+USER=`grep user $MAYORDIR/config/$file | sed -e "s/.*=\ *['\"]//g" -e "s/['\"];//g"`
+PW=`grep pw $MAYORDIR/config/$file | sed -e "s/.*=\ *['\"]//g" -e "s/['\"];//g"`
+
+cat $MAYORDIR/install/mayor-portal/mysql/mayor-portal.sql | sed \
+ -e "s/%MYSQL_PORTAL_DB%/$PDB/g" \
+ -e "s/%MYSQL_PORTAL_USER%/$USER/g" \
+ -e "s/%MYSQL_PORTAL_PW%/$PW/g" > mayor-portal.sql
+
+# Ezek LDAP-ból jönnének!!!
+#DB=`grep db $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+#cat $MAYORDIR/install/mayor-portal/mysql/portal-init.sql | sed \
+# -e "s/%MYSQL_PRIVATE_DB%/$DB/g" \
+# -e "s/%MYSQL_PORTAL_DB%/$PDB/g" > portal-init.sql
+
+
+#if [ "$MYSQLROOTPW" == "" ]; then
+# read -p " A mysql root jelszó (a begépelt szöveg nem látszik!): " -s MYSQLROOTPW
+#fi
+
+if [ "$MYSQLROOTPW" != "" ]; then MYSQLROOTPW="-p$MYSQLROOTPW"; fi
+#cat $TMPDIR/mysql/mayor-portal.sql $TMPDIR/mysql/portal-init.sql | mysql -p$MYSQLROOTPW --user=root --default-character-set=utf8
+cat $TMPDIR/mysql/mayor-portal.sql | mysql $MYSQLROOTPW --user=root --default-character-set=utf8
+
+echo ""
+for file in private-conf.php parent-conf.php public-conf.php; do
+ echo -n " $file ... "
+ sed -i.60portal -e "s/^[ \t]*\$DEFAULT_PSF\[\(.*\)\]\(.*\)/\/\/\t\$DEFAULT_PSF\[\1\]\2\n\t\$DEFAULT_PSF\[\1\] = array('page'=>'portal', 'sub' => 'portal', 'f' => 'portal');/" $MAYORDIR/config/$file
+ echo ok
+done
+
+if [ "$ROVID" != "demo" ]; then
+ echo -e "\nEgyedi kezdőoldalak létrehozása:"
+ for policy in private public parent; do
+ echo -n " $policy "
+ for skin in classic pda; do
+ cp $MAYORDIR/www/policy/$policy/portal/portal/portal_demo.$skin.php $MAYORDIR/www/policy/$policy/portal/portal/portal_$ROVID.$skin.php
+ echo -n "... "
+ done
+ echo "ok"
+ done
+fi
+
diff --git a/mayor-orig/mayor-installer-sulix/install/mayor-installer-sulix/ldap/group.lidf b/mayor-orig/mayor-installer-sulix/install/mayor-installer-sulix/ldap/group.lidf
new file mode 100644
index 00000000..49a852df
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/install/mayor-installer-sulix/ldap/group.lidf
@@ -0,0 +1,32 @@
+# naploadmin, group, vmayort.hu
+dn: cn=naploadmin,ou=group,dc=vmayort,dc=hu
+cn: naploadmin
+displayName: naploadmin
+sambaSID: S-1-5-21-3317027340-1707170271-2205240687-3095
+sambaGroupType: 2
+MailCommand: "|/usr/bin/formail -I \"From \" | sudo -u mail /usr/lib/cyrus-ima
+ pd/deliver -r 12D -a cyrus -m 12D"
+gidNumber: 1047
+description:: T3N6dMOhbHk=
+member: uid=admin,ou=people,dc=vmayort,dc=hu
+memberUid: admin
+phpgwAccountType: g
+phpgwAccountStatus: A
+phpgwAccountExpires: -1
+objectClass: top
+objectClass: posixGroup
+objectClass: MailRecipient
+objectClass: sambaGroupMapping
+objectClass: groupOfNames
+objectClass: SchoolClass
+objectClass: phpgwAccount
+parentList: 12D-szulok
+parentListAdminEmail: admin@vmayort.hu
+parentListCommand: "|/usr/sbin/filter_parent_list 12D"
+
+# search result
+search: 2
+result: 0 Success
+
+# numResponses: 2
+# numEntries: 1
diff --git a/mayor-orig/mayor-installer-sulix/install/mayor-installer-sulix/ldap/user.ldif b/mayor-orig/mayor-installer-sulix/install/mayor-installer-sulix/ldap/user.ldif
new file mode 100644
index 00000000..5f8824f0
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/install/mayor-installer-sulix/ldap/user.ldif
@@ -0,0 +1,49 @@
+# mayoradmin, People, vmayort.hu
+dn: uid=mayoradmin,ou=People,dc=vmayort,dc=hu
+uid: mayoradmin
+sn: mayoradmin
+cn: mayoradmin
+uidNumber: 10000
+gidNumber: 500
+homeDirectory: /home/mayor
+preferredLanguage: HU
+o:: VsOhcm9zbWFqb3JpIFRlc3p0IEdpbW7DoXppdW0=
+c: HU
+OXGroupID: 500
+loginShell: /bin/bash
+shadowLastChange: 15393
+shadowMax: 99999
+shadowMin: 0
+shadowWarning: 7
+shadowInactive: 0
+phpgwAccountType: u
+phpgwAccountStatus: A
+phpgwAccountExpires: -1
+OXTaskDays: 5
+OXAppointmentDays: 5
+mailEnabled: ok
+internetDisabled: false
+objectClass: top
+objectClass: shadowAccount
+objectClass: posixAccount
+objectClass: person
+objectClass: inetOrgPerson
+objectClass: OXUserObject
+objectClass: phpgwAccount
+objectClass: SchoolAccount
+objectClass: MailRecipient
+objectClass: organizationalPerson
+objectClass: sambaSamAccount
+sambaSID: S-1-5-21-3317027340-1707170271-2205240687-1001
+displayName: admin
+sambaLMPassword: 5918854540F40002AAD3B435B51404EE
+sambaNTPassword: F05F2E35765692F94D23CC3F3691C94E
+sambaPasswordHistory: 00000000000000000000000000000000000000000000000000000000
+ 00000000
+sambaPwdLastSet: 1330016069
+sambaAcctFlags: [U ]
+mailDomain: vmayort.hu
+imapServer: mailserver.vmayort.hu
+smtpServer: mailserver.vmayort.hu
+imapPort: 143
+sievePort: 4190
diff --git a/mayor-orig/mayor-installer-sulix/install/setup b/mayor-orig/mayor-installer-sulix/install/setup
new file mode 100755
index 00000000..a293dab6
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/install/setup
@@ -0,0 +1,38 @@
+#!/bin/bash
+clear
+echo "-------------------------------------------"
+echo " MaYoR Setup "
+echo "-------------------------------------------"
+
+MAYORDIR="/srv/mayor"
+TMPDIR="/tmp"
+TGZDIR="/root/mayor/tgz"
+MYSQLROOTPW=$(tdbdump /var/lib/samba/private/secrets.tdb | grep -A 2 LDAP_BIND_PW | grep data | sed -e 's/\\00"//' -e 's/^.*"//')
+VERSION="current"
+SCHOOLSERVERCONF="/etc/sysconfig/schoolserver"
+export SCHOOLSERVERCONF
+export MAYORDIR
+export TMPDIR
+export TGZDIR
+export MYSQLROOTPW
+export VERSION
+
+# --------- Ez a main.conf-ban bent van - jobb lenne itt nem megadni...
+
+BACKUPDIR=/backup/mayor/
+export BACKUPDIR
+BASEDN=$(grep LDAPBASE $SCHOOLSERVERCONF | sed -e 's/LDAPBASE="//' -e 's/"//')
+export BASEDN
+
+function mypwgen() { eval 'head /dev/urandom | tr -dc A-Za-z0-9_ | head -c8'; }
+export -f mypwgen
+
+echo -e "A MaYoR keretrendszer és elektronikus napló telepítője...\n"
+
+for f in install.d/*
+do
+ echo -e "\n----------------------------------------------\n$f\n----------------------------------------------\n"
+ ./$f $@
+done
+
+echo -e "MaYoR (c) setup 2012.\n"
diff --git a/mayor-orig/mayor-installer-sulix/log/mayor-installer-sulix.rev b/mayor-orig/mayor-installer-sulix/log/mayor-installer-sulix.rev
new file mode 100644
index 00000000..ab5135de
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/log/mayor-installer-sulix.rev
@@ -0,0 +1 @@
+4455
diff --git a/mayor-orig/mayor-installer-sulix/www/skin/classic/module-portal/config.php.sulix b/mayor-orig/mayor-installer-sulix/www/skin/classic/module-portal/config.php.sulix
new file mode 100644
index 00000000..fe68ca47
--- /dev/null
+++ b/mayor-orig/mayor-installer-sulix/www/skin/classic/module-portal/config.php.sulix
@@ -0,0 +1,10 @@
+<?php
+
+if ( ($policy=='private' || $policy=='parent') && $page=='portal' && $sub=='hirek' && $f=='egyhir') {
+ $SSSHH .= '
+ <script src="skin/classic/share/javascript/tiny_mce/tiny_mce.js" type="text/javascript"></script>
+ <script src="skin/classic/module-portal/javascript/hirek/egyhir.php?lang='.$lang.'" type="text/javascript"></script>
+ ';
+}
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-jatek/config/module-jatek/config.php.example b/mayor-orig/mayor-jatek/config/module-jatek/config.php.example
new file mode 100644
index 00000000..89213f8d
--- /dev/null
+++ b/mayor-orig/mayor-jatek/config/module-jatek/config.php.example
@@ -0,0 +1,18 @@
+<?php
+
+ define('__JATEK_INSTALLED',true);
+
+ $MYSQL_DATA['jatek']['userRead']= 'mayor_jatek_read';
+ $MYSQL_DATA['jatek']['pwRead']= '1234';
+ $MYSQL_DATA['jatek']['userWrite']= 'mayor_jatek';
+ $MYSQL_DATA['jatek']['pwWrite']= '1212';
+
+/* default */
+
+ $MYSQL_DATA['jatek']['user']= $MYSQL_DATA['jatek']['userRead'];
+ $MYSQL_DATA['jatek']['pw']= $MYSQL_DATA['jatek']['pwRead'];
+
+
+ $MYSQL_DATA['jatek']['db']= 'mayor_jatek';
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-jatek/install/module-jatek/mysql/egyszam.sql b/mayor-orig/mayor-jatek/install/module-jatek/mysql/egyszam.sql
new file mode 100644
index 00000000..1f4c9271
--- /dev/null
+++ b/mayor-orig/mayor-jatek/install/module-jatek/mysql/egyszam.sql
@@ -0,0 +1,14 @@
+DROP DATABASE IF EXISTS mayor_jatek;
+CREATE DATABASE mayor_jatek CHARACTER SET utf8;
+GRANT ALL ON mayor_jatek.* TO 'mayor_jatek'@'localhost' IDENTIFIED BY '1212';
+GRANT SELECT ON mayor_jatek.* TO 'mayor_jatek_read'@'localhost' IDENTIFIED BY '1234';
+USE mayor_jatek;
+
+CREATE TABLE egyszam (
+ userAccount VARCHAR(32) NULL,
+ ev YEAR NULL,
+ het TINYINT UNSIGNED NULL,
+ szam TINYINT UNSIGNED NULL,
+ PRIMARY KEY(userAccount,ev,het,szam)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
diff --git a/mayor-orig/mayor-jatek/log/mayor-jatek.rev b/mayor-orig/mayor-jatek/log/mayor-jatek.rev
new file mode 100644
index 00000000..ab5135de
--- /dev/null
+++ b/mayor-orig/mayor-jatek/log/mayor-jatek.rev
@@ -0,0 +1 @@
+4455
diff --git a/mayor-orig/mayor-jatek/www/include/alert/hu_HU/module-jatek.php b/mayor-orig/mayor-jatek/www/include/alert/hu_HU/module-jatek.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/include/alert/hu_HU/module-jatek.php
diff --git a/mayor-orig/mayor-jatek/www/include/menu/private/hu_HU/module-jatek.php b/mayor-orig/mayor-jatek/www/include/menu/private/hu_HU/module-jatek.php
new file mode 100644
index 00000000..d96d14e3
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/include/menu/private/hu_HU/module-jatek.php
@@ -0,0 +1,14 @@
+<?php
+
+ $MENU['jatek'] = array(
+ array('txt' => 'Játék', 'url' => 'index.php?page=jatek&f=2048')
+ );
+
+ $MENU['modules']['jatek'][''] = array(
+ array('txt' => '2048', 'url' => 'index.php?page=jatek&f=2048'),
+ array('txt' => 'Egyszámjáték szavazó', 'url' => 'index.php?page=jatek&f=egyszam'),
+ array('txt' => 'Egyszámjáték eredmény', 'url' => 'index.php?page=jatek&f=jatek')
+ );
+
+
+?>
diff --git a/mayor-orig/mayor-jatek/www/include/modules/jatek/base/base.php b/mayor-orig/mayor-jatek/www/include/modules/jatek/base/base.php
new file mode 100644
index 00000000..0cbc0821
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/include/modules/jatek/base/base.php
@@ -0,0 +1,58 @@
+<?php
+
+ function egyszamszavaz($het,$szam) {
+
+ if (!is_numeric($szam) || $szam<=0 || $szam>=200) return false;
+ if (!is_numeric($het) || $het==0) $het = getEgyszamHet();
+
+ /* a kulcs ellenőrzés miatt nem szavazhat 2* */
+ $q = "INSERT INTO egyszam (ev,het,szam,userAccount) VALUES (year(now()),$het,$szam,'"._USERACCOUNT."')";
+
+ _my_query($q,array('db'=>'jatek'));
+
+ }
+
+ function getEgyszamHet() {
+ return date('W');
+ }
+
+ function egyszamSzavazott($het='') { //:bool
+
+ if (!is_numeric($het) || $het==0) $het = getEgyszamHet();
+
+ /* a kulcs ellenőrzés miatt nem szavazhat 2* */
+ $q = "SELECT count(*) AS db FROM egyszam WHERE ev=year(now()) AND het=$het AND userAccount='"._USERACCOUNT."'";
+
+ $db = _my_value_query($q,array('db'=>'jatek'));
+
+ return ($db==1)?true:false;
+
+ }
+
+ function getEgyszamEredmeny($het) {
+
+ if (!is_numeric($het) || $het==0) $het = getEgyszamHet()-1; // évváltás!
+ if ($het==0) {
+ //kérdezd le a year-1 max(het)
+ $q = "SELECT max(het) FROM egyszam WHERE ev = year(now())-1";
+ $het = _my_value_query($q,array('db'=>'jatek'));
+ }
+
+ /* a kulcs ellenőrzés miatt nem szavazhat 2* */
+ $q = "SELECT count(*) AS db,szam FROM egyszam WHERE ev=year(now()) AND het=$het GROUP BY szam ORDER BY szam";
+ return _my_assoc_query($q,'szam',array('db'=>'jatek'));
+
+ }
+
+ function getEgyszamNyertes($het) {
+
+ if (!is_numeric($het) || $het==0) $het = getEgyszamHet(); // évváltás!
+
+ /* a kulcs ellenőrzés miatt nem szavazhat 2* */
+ $q = "SELECT szam,count(*) AS db,userAccount FROM egyszam WHERE ev=year(now()) AND het=$het GROUP BY szam HAVING db=1 ORDER BY szam LIMIT 1";
+ $RET = _my_query($q,array('db'=>'jatek'));
+ return $RET[0];
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-jatek/www/include/modules/jatek/base/query.php b/mayor-orig/mayor-jatek/www/include/modules/jatek/base/query.php
new file mode 100644
index 00000000..2351f682
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/include/modules/jatek/base/query.php
@@ -0,0 +1,36 @@
+<?php
+
+/* AZ ÁLTALÁNOS RÉSZ */
+
+ function _my_query($q,$DATA='',$olr='') {
+ $DATA['modul'] = $DATA['db'];
+ $DATA['result'] = 'indexed';
+ return db_query($q, $DATA, $olr);
+ }
+
+ function _my_assoc_query($q,$keyfield,$DATA='',$olr='') {
+ $DATA['modul'] = $DATA['db'];
+ $DATA['result'] = 'assoc';
+ $DATA['keyfield'] = $keyfield;
+ return db_query($q, $DATA, $olr);
+ }
+
+ function _my_multiassoc_query($q,$keyfield,$DATA='',$olr='') {
+ $DATA['modul'] = $DATA['db'];
+ $DATA['result'] = 'multiassoc';
+ $DATA['keyfield'] = $keyfield;
+ return db_query($q, $DATA, $olr);
+ }
+
+ function _my_id_query($q,$DATA,$olr='') {
+ $DATA['modul'] = $DATA['db'];
+ $DATA['result'] = 'idonly';
+ return db_query($q, $DATA, $olr);
+ }
+ function _my_value_query($q,$DATA,$olr='') {
+ $DATA['modul'] = $DATA['db'];
+ $DATA['result'] = 'value';
+ return db_query($q, $DATA, $olr);
+ }
+
+?>
diff --git a/mayor-orig/mayor-jatek/www/lang/hu_HU/module-jatek/egyszam.php b/mayor-orig/mayor-jatek/www/lang/hu_HU/module-jatek/egyszam.php
new file mode 100644
index 00000000..9f3fb04a
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/lang/hu_HU/module-jatek/egyszam.php
@@ -0,0 +1,10 @@
+<?php
+
+ define('_EGYSZAMJATEK','Egyszámjáték');
+ define('_EDDIG','Eddig');
+ define('_SZAVAZAT','szavazat');
+ define('_NYERTES','Előző nyertes');
+ define('_MARSZAVAZOTT','Már szavazott!');
+ define('_OK','ok');
+
+?>
diff --git a/mayor-orig/mayor-jatek/www/lang/hu_HU/module-jatek/jatek.php b/mayor-orig/mayor-jatek/www/lang/hu_HU/module-jatek/jatek.php
new file mode 100644
index 00000000..2ffb3060
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/lang/hu_HU/module-jatek/jatek.php
@@ -0,0 +1,7 @@
+<?php
+
+ define('_JATEKHET','Játékhét');
+ define('_SZAM','szám');
+ define('_DB','darab');
+
+?>
diff --git a/mayor-orig/mayor-jatek/www/policy/private/jatek/2048-pre.php b/mayor-orig/mayor-jatek/www/policy/private/jatek/2048-pre.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/policy/private/jatek/2048-pre.php
diff --git a/mayor-orig/mayor-jatek/www/policy/private/jatek/2048.php b/mayor-orig/mayor-jatek/www/policy/private/jatek/2048.php
new file mode 100644
index 00000000..e9524d55
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/policy/private/jatek/2048.php
@@ -0,0 +1,5 @@
+<?php
+
+ jatek2048();
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-jatek/www/policy/private/jatek/egyszam-pre.php b/mayor-orig/mayor-jatek/www/policy/private/jatek/egyszam-pre.php
new file mode 100644
index 00000000..67f52d59
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/policy/private/jatek/egyszam-pre.php
@@ -0,0 +1,18 @@
+<?php
+
+
+ if (!($ADAT['szavazott'] = egyszamSzavazott()) && $action=='szavaz') {
+
+ $het = getEgyszamHet();
+ $szam = readVariable($_POST['szam'],'numeric');
+ if ($szam>0 && $szam<200) {
+ egyszamszavaz($het,$szam);
+ } // különben hibás számra akart szavazni. XSS??
+ $ADAT['szavazott'] = true;
+
+ }
+
+ $ADAT['db'] = count(getEgyszamEredmeny(getegyszamHet()));
+ $ADAT['elozoNyertes'] = getEgyszamNyertes(getegyszamHet()-1);
+
+?>
diff --git a/mayor-orig/mayor-jatek/www/policy/private/jatek/egyszam.php b/mayor-orig/mayor-jatek/www/policy/private/jatek/egyszam.php
new file mode 100644
index 00000000..91b217e7
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/policy/private/jatek/egyszam.php
@@ -0,0 +1,7 @@
+<?php
+
+ global $ADAT;
+
+ putEgyszamForm($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-jatek/www/policy/private/jatek/jatek-pre.php b/mayor-orig/mayor-jatek/www/policy/private/jatek/jatek-pre.php
new file mode 100644
index 00000000..3a66e3ef
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/policy/private/jatek/jatek-pre.php
@@ -0,0 +1,6 @@
+<?php
+
+
+ $ADAT[getegyszamHet()-1]= getEgyszamEredmeny(getegyszamHet()-1);
+
+?>
diff --git a/mayor-orig/mayor-jatek/www/policy/private/jatek/jatek.php b/mayor-orig/mayor-jatek/www/policy/private/jatek/jatek.php
new file mode 100644
index 00000000..d7cc96a0
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/policy/private/jatek/jatek.php
@@ -0,0 +1,7 @@
+<?php
+
+ global $ADAT;
+
+ putEgyszamTablazat($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/2048.css b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/2048.css
new file mode 100644
index 00000000..50125755
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/2048.css
@@ -0,0 +1,499 @@
+@import url(fonts/clear-sans.css);
+div.mayorbody {
+ font-family: "Clear Sans", "Helvetica Neue", Arial, sans-serif;
+ font-size: 18px; }
+*/
+/*body {
+ margin: 80px 0; }*/
+
+div.mayorbody .heading:after {
+ content: "";
+ display: block;
+ clear: both; }
+
+div.mayorbody h1.title {
+ font-size: 80px;
+ font-weight: bold;
+ margin: 0;
+ display: block;
+ float: left; }
+
+@-webkit-keyframes move-up {
+ 0% {
+ top: 25px;
+ opacity: 1; }
+
+ 100% {
+ top: -50px;
+ opacity: 0; } }
+@-moz-keyframes move-up {
+ 0% {
+ top: 25px;
+ opacity: 1; }
+
+ 100% {
+ top: -50px;
+ opacity: 0; } }
+@keyframes move-up {
+ 0% {
+ top: 25px;
+ opacity: 1; }
+
+ 100% {
+ top: -50px;
+ opacity: 0; } }
+.scores-container {
+ float: right;
+ text-align: right; }
+
+.score-container, .best-container {
+ position: relative;
+ display: inline-block;
+ background: #bbada0;
+ padding: 15px 25px;
+ font-size: 25px;
+ height: 25px;
+ line-height: 47px;
+ font-weight: bold;
+ border-radius: 3px;
+ color: white;
+ margin-top: 8px;
+ text-align: center; }
+ .score-container:after, .best-container:after {
+ position: absolute;
+ width: 100%;
+ top: 10px;
+ left: 0;
+ text-transform: uppercase;
+ font-size: 13px;
+ line-height: 13px;
+ text-align: center;
+ color: #eee4da; }
+ .score-container .score-addition, .best-container .score-addition {
+ position: absolute;
+ right: 30px;
+ color: red;
+ font-size: 25px;
+ line-height: 25px;
+ font-weight: bold;
+ color: rgba(119, 110, 101, 0.9);
+ z-index: 100;
+ -webkit-animation: move-up 600ms ease-in;
+ -moz-animation: move-up 600ms ease-in;
+ animation: move-up 600ms ease-in;
+ -webkit-animation-fill-mode: both;
+ -moz-animation-fill-mode: both;
+ animation-fill-mode: both; }
+
+.score-container:after {
+ content: "Score"; }
+
+.best-container:after {
+ content: "Best"; }
+
+div.mayorbody p {
+ margin-top: 0;
+ margin-bottom: 10px;
+ line-height: 1.65; }
+
+div.mayorbody a {
+ color: #776e65;
+ font-weight: bold;
+ text-decoration: underline;
+ cursor: pointer; }
+
+div.mayorbody strong.important {
+ text-transform: uppercase; }
+
+div.mayorbody hr {
+ border: none;
+ border-bottom: 1px solid #d8d4d0;
+ margin-top: 20px;
+ margin-bottom: 30px; }
+
+.container {
+ width: 500px;
+ margin: 0 auto; }
+
+@-webkit-keyframes fade-in {
+ 0% {
+ opacity: 0; }
+
+ 100% {
+ opacity: 1; } }
+@-moz-keyframes fade-in {
+ 0% {
+ opacity: 0; }
+
+ 100% {
+ opacity: 1; } }
+@keyframes fade-in {
+ 0% {
+ opacity: 0; }
+
+ 100% {
+ opacity: 1; } }
+.game-container {
+ margin-top: 40px;
+ position: relative;
+ padding: 15px;
+ cursor: default;
+ -webkit-touch-callout: none;
+ -ms-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ -ms-touch-action: none;
+ touch-action: none;
+ background: #bbada0;
+ border-radius: 6px;
+ width: 500px;
+ height: 500px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box; }
+ .game-container .game-message {
+ display: none;
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ background: rgba(238, 228, 218, 0.5);
+ z-index: 100;
+ text-align: center;
+ -webkit-animation: fade-in 800ms ease 1200ms;
+ -moz-animation: fade-in 800ms ease 1200ms;
+ animation: fade-in 800ms ease 1200ms;
+ -webkit-animation-fill-mode: both;
+ -moz-animation-fill-mode: both;
+ animation-fill-mode: both; }
+ .game-container .game-message p {
+ font-size: 60px;
+ font-weight: bold;
+ height: 60px;
+ line-height: 60px;
+ margin-top: 222px; }
+ .game-container .game-message .lower {
+ display: block;
+ margin-top: 59px; }
+ .game-container .game-message a {
+ display: inline-block;
+ background: #8f7a66;
+ border-radius: 3px;
+ padding: 0 20px;
+ text-decoration: none;
+ color: #f9f6f2;
+ height: 40px;
+ line-height: 42px;
+ margin-left: 9px; }
+ .game-container .game-message a.keep-playing-button {
+ display: none; }
+ .game-container .game-message.game-won {
+ background: rgba(237, 194, 46, 0.5);
+ color: #f9f6f2; }
+ .game-container .game-message.game-won a.keep-playing-button {
+ display: inline-block; }
+ .game-container .game-message.game-won, .game-container .game-message.game-over {
+ display: block; }
+
+.grid-container {
+ position: absolute;
+ z-index: 1; }
+
+.grid-row {
+ margin-bottom: 15px; }
+ .grid-row:last-child {
+ margin-bottom: 0; }
+ .grid-row:after {
+ content: "";
+ display: block;
+ clear: both; }
+
+.grid-cell {
+ width: 106.25px;
+ height: 106.25px;
+ margin-right: 15px;
+ float: left;
+ border-radius: 3px;
+ background: rgba(238, 228, 218, 0.35); }
+ .grid-cell:last-child {
+ margin-right: 0; }
+
+.tile-container {
+ position: absolute;
+ z-index: 2; }
+
+.tile, .tile .tile-inner {
+ width: 107px;
+ height: 107px;
+ line-height: 116.25px; }
+.tile.tile-position-1-1 {
+ -webkit-transform: translate(0px, 0px);
+ -moz-transform: translate(0px, 0px);
+ transform: translate(0px, 0px); }
+.tile.tile-position-1-2 {
+ -webkit-transform: translate(0px, 121px);
+ -moz-transform: translate(0px, 121px);
+ transform: translate(0px, 121px); }
+.tile.tile-position-1-3 {
+ -webkit-transform: translate(0px, 242px);
+ -moz-transform: translate(0px, 242px);
+ transform: translate(0px, 242px); }
+.tile.tile-position-1-4 {
+ -webkit-transform: translate(0px, 363px);
+ -moz-transform: translate(0px, 363px);
+ transform: translate(0px, 363px); }
+.tile.tile-position-2-1 {
+ -webkit-transform: translate(121px, 0px);
+ -moz-transform: translate(121px, 0px);
+ transform: translate(121px, 0px); }
+.tile.tile-position-2-2 {
+ -webkit-transform: translate(121px, 121px);
+ -moz-transform: translate(121px, 121px);
+ transform: translate(121px, 121px); }
+.tile.tile-position-2-3 {
+ -webkit-transform: translate(121px, 242px);
+ -moz-transform: translate(121px, 242px);
+ transform: translate(121px, 242px); }
+.tile.tile-position-2-4 {
+ -webkit-transform: translate(121px, 363px);
+ -moz-transform: translate(121px, 363px);
+ transform: translate(121px, 363px); }
+.tile.tile-position-3-1 {
+ -webkit-transform: translate(242px, 0px);
+ -moz-transform: translate(242px, 0px);
+ transform: translate(242px, 0px); }
+.tile.tile-position-3-2 {
+ -webkit-transform: translate(242px, 121px);
+ -moz-transform: translate(242px, 121px);
+ transform: translate(242px, 121px); }
+.tile.tile-position-3-3 {
+ -webkit-transform: translate(242px, 242px);
+ -moz-transform: translate(242px, 242px);
+ transform: translate(242px, 242px); }
+.tile.tile-position-3-4 {
+ -webkit-transform: translate(242px, 363px);
+ -moz-transform: translate(242px, 363px);
+ transform: translate(242px, 363px); }
+.tile.tile-position-4-1 {
+ -webkit-transform: translate(363px, 0px);
+ -moz-transform: translate(363px, 0px);
+ transform: translate(363px, 0px); }
+.tile.tile-position-4-2 {
+ -webkit-transform: translate(363px, 121px);
+ -moz-transform: translate(363px, 121px);
+ transform: translate(363px, 121px); }
+.tile.tile-position-4-3 {
+ -webkit-transform: translate(363px, 242px);
+ -moz-transform: translate(363px, 242px);
+ transform: translate(363px, 242px); }
+.tile.tile-position-4-4 {
+ -webkit-transform: translate(363px, 363px);
+ -moz-transform: translate(363px, 363px);
+ transform: translate(363px, 363px); }
+
+.tile {
+ position: absolute;
+ -webkit-transition: 100ms ease-in-out;
+ -moz-transition: 100ms ease-in-out;
+ transition: 100ms ease-in-out;
+ -webkit-transition-property: -webkit-transform;
+ -moz-transition-property: -moz-transform;
+ transition-property: transform; }
+ .tile .tile-inner {
+ border-radius: 3px;
+ background: #eee4da;
+ text-align: center;
+ font-weight: bold;
+ z-index: 10;
+ font-size: 55px; }
+ .tile.tile-2 .tile-inner {
+ background: #eee4da;
+ box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); }
+ .tile.tile-4 .tile-inner {
+ background: #ede0c8;
+ box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); }
+ .tile.tile-8 .tile-inner {
+ color: #f9f6f2;
+ background: #f2b179; }
+ .tile.tile-16 .tile-inner {
+ color: #f9f6f2;
+ background: #f59563; }
+ .tile.tile-32 .tile-inner {
+ color: #f9f6f2;
+ background: #f67c5f; }
+ .tile.tile-64 .tile-inner {
+ color: #f9f6f2;
+ background: #f65e3b; }
+ .tile.tile-128 .tile-inner {
+ color: #f9f6f2;
+ background: #edcf72;
+ box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.2381), inset 0 0 0 1px rgba(255, 255, 255, 0.14286);
+ font-size: 45px; }
+ @media screen and (max-width: 520px) {
+ .tile.tile-128 .tile-inner {
+ font-size: 25px; } }
+ .tile.tile-256 .tile-inner {
+ color: #f9f6f2;
+ background: #edcc61;
+ box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.31746), inset 0 0 0 1px rgba(255, 255, 255, 0.19048);
+ font-size: 45px; }
+ @media screen and (max-width: 520px) {
+ .tile.tile-256 .tile-inner {
+ font-size: 25px; } }
+ .tile.tile-512 .tile-inner {
+ color: #f9f6f2;
+ background: #edc850;
+ box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.39683), inset 0 0 0 1px rgba(255, 255, 255, 0.2381);
+ font-size: 45px; }
+ @media screen and (max-width: 520px) {
+ .tile.tile-512 .tile-inner {
+ font-size: 25px; } }
+ .tile.tile-1024 .tile-inner {
+ color: #f9f6f2;
+ background: #edc53f;
+ box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.47619), inset 0 0 0 1px rgba(255, 255, 255, 0.28571);
+ font-size: 35px; }
+ @media screen and (max-width: 520px) {
+ .tile.tile-1024 .tile-inner {
+ font-size: 15px; } }
+ .tile.tile-2048 .tile-inner {
+ color: #f9f6f2;
+ background: #edc22e;
+ box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.55556), inset 0 0 0 1px rgba(255, 255, 255, 0.33333);
+ font-size: 35px; }
+ @media screen and (max-width: 520px) {
+ .tile.tile-2048 .tile-inner {
+ font-size: 15px; } }
+ .tile.tile-super .tile-inner {
+ color: #f9f6f2;
+ background: #3c3a32;
+ font-size: 30px; }
+ @media screen and (max-width: 520px) {
+ .tile.tile-super .tile-inner {
+ font-size: 10px; } }
+
+@-webkit-keyframes appear {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale(0);
+ -moz-transform: scale(0);
+ transform: scale(0); }
+
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ -moz-transform: scale(1);
+ transform: scale(1); } }
+@-moz-keyframes appear {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale(0);
+ -moz-transform: scale(0);
+ transform: scale(0); }
+
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ -moz-transform: scale(1);
+ transform: scale(1); } }
+@keyframes appear {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale(0);
+ -moz-transform: scale(0);
+ transform: scale(0); }
+
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ -moz-transform: scale(1);
+ transform: scale(1); } }
+.tile-new .tile-inner {
+ -webkit-animation: appear 200ms ease 100ms;
+ -moz-animation: appear 200ms ease 100ms;
+ animation: appear 200ms ease 100ms;
+ -webkit-animation-fill-mode: backwards;
+ -moz-animation-fill-mode: backwards;
+ animation-fill-mode: backwards; }
+
+@-webkit-keyframes pop {
+ 0% {
+ -webkit-transform: scale(0);
+ -moz-transform: scale(0);
+ transform: scale(0); }
+
+ 50% {
+ -webkit-transform: scale(1.2);
+ -moz-transform: scale(1.2);
+ transform: scale(1.2); }
+
+ 100% {
+ -webkit-transform: scale(1);
+ -moz-transform: scale(1);
+ transform: scale(1); } }
+@-moz-keyframes pop {
+ 0% {
+ -webkit-transform: scale(0);
+ -moz-transform: scale(0);
+ transform: scale(0); }
+
+ 50% {
+ -webkit-transform: scale(1.2);
+ -moz-transform: scale(1.2);
+ transform: scale(1.2); }
+
+ 100% {
+ -webkit-transform: scale(1);
+ -moz-transform: scale(1);
+ transform: scale(1); } }
+@keyframes pop {
+ 0% {
+ -webkit-transform: scale(0);
+ -moz-transform: scale(0);
+ transform: scale(0); }
+
+ 50% {
+ -webkit-transform: scale(1.2);
+ -moz-transform: scale(1.2);
+ transform: scale(1.2); }
+
+ 100% {
+ -webkit-transform: scale(1);
+ -moz-transform: scale(1);
+ transform: scale(1); } }
+.tile-merged .tile-inner {
+ z-index: 20;
+ -webkit-animation: pop 200ms ease 100ms;
+ -moz-animation: pop 200ms ease 100ms;
+ animation: pop 200ms ease 100ms;
+ -webkit-animation-fill-mode: backwards;
+ -moz-animation-fill-mode: backwards;
+ animation-fill-mode: backwards; }
+
+.above-game:after {
+ content: "";
+ display: block;
+ clear: both; }
+
+.game-intro {
+ float: left;
+ line-height: 42px;
+ margin-bottom: 0; }
+
+.restart-button {
+ display: inline-block;
+ background: #8f7a66;
+ border-radius: 3px;
+ padding: 0 20px;
+ text-decoration: none;
+ color: #f9f6f2;
+ height: 40px;
+ line-height: 42px;
+ display: block;
+ text-align: center;
+ float: right; }
+
+.game-explanation {
+ margin-top: 50px; }
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/egyszam.css b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/egyszam.css
new file mode 100644
index 00000000..b0dac656
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/egyszam.css
@@ -0,0 +1,2 @@
+
+ \ No newline at end of file
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Bold-webfont.eot b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Bold-webfont.eot
new file mode 100755
index 00000000..3678ef2a
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Bold-webfont.eot
Binary files differ
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Bold-webfont.svg b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Bold-webfont.svg
new file mode 100755
index 00000000..aa985aeb
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Bold-webfont.svg
@@ -0,0 +1,640 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="clear_sansbold" horiz-adv-x="1217" >
+<font-face units-per-em="2048" ascent="1489" descent="-559" />
+<missing-glyph horiz-adv-x="492" />
+<glyph unicode="&#xfb01;" horiz-adv-x="1208" d="M35 844v205h133v102q0 195 96.5 282t290.5 87q91 0 193 -25l-50 -225q-72 24 -139 24q-76 0 -104.5 -31.5t-28.5 -111.5v-102h213v-205h-213v-844h-258v844h-133zM790 1335q0 70 32 100.5t109 30.5q78 0 112 -29.5t34 -101.5q0 -73 -36 -102t-110 -29q-82 0 -111.5 34 t-29.5 97zM804 0v1049h258v-1049h-258z" />
+<glyph unicode="&#xfb02;" horiz-adv-x="1208" d="M35 844v205h133v102q0 195 96.5 282t290.5 87q91 0 193 -25l-50 -225q-72 24 -139 24q-76 0 -104.5 -31.5t-28.5 -111.5v-102h213v-205h-213v-844h-258v844h-133zM804 0v1489h258v-1489h-258z" />
+<glyph unicode="&#xfb03;" horiz-adv-x="1868" d="M35 844v205h133v102q0 195 96.5 282t290.5 87q91 0 193 -25l-50 -225q-72 24 -139 24q-76 0 -104.5 -31.5t-28.5 -111.5v-102h213v-205h-213v-844h-258v844h-133zM694 844v205h133v102q0 195 96.5 282t290.5 87q91 0 193 -25l-50 -225q-72 24 -139 24q-76 0 -104.5 -31.5 t-28.5 -111.5v-102h213v-205h-213v-844h-258v844h-133zM1450 1335q0 70 32 100.5t109 30.5q78 0 112 -29.5t34 -101.5q0 -73 -36 -102t-110 -29q-82 0 -111.5 34t-29.5 97zM1464 0v1049h258v-1049h-258z" />
+<glyph unicode="&#xfb04;" horiz-adv-x="1868" d="M35 844v205h133v102q0 195 96.5 282t290.5 87q91 0 193 -25l-50 -225q-72 24 -139 24q-76 0 -104.5 -31.5t-28.5 -111.5v-102h213v-205h-213v-844h-258v844h-133zM694 844v205h133v102q0 195 96.5 282t290.5 87q91 0 193 -25l-50 -225q-72 24 -139 24q-76 0 -104.5 -31.5 t-28.5 -111.5v-102h213v-205h-213v-844h-258v844h-133zM1464 0v1489h258v-1489h-258z" />
+<glyph horiz-adv-x="0" />
+<glyph unicode="&#xd;" horiz-adv-x="492" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="0" />
+<glyph unicode=" " horiz-adv-x="492" />
+<glyph unicode="&#x09;" horiz-adv-x="492" />
+<glyph unicode="&#xa0;" horiz-adv-x="492" />
+<glyph unicode="!" horiz-adv-x="584" d="M129 139q0 82 36 118t126 36q92 0 128 -35t36 -119q0 -86 -39 -119.5t-125 -33.5q-94 0 -128 37.5t-34 115.5zM152 1384h280l-31 -944h-215z" />
+<glyph unicode="&#x22;" horiz-adv-x="977" d="M137 1384h275l-45 -612h-185zM565 1384h275l-45 -612h-185z" />
+<glyph unicode="#" horiz-adv-x="1405" d="M72 383v180h280l70 258h-234v180h283l104 385h193l-104 -385h247l105 385h192l-104 -385h229v-180h-278l-70 -258h232v-180h-279l-104 -383h-193l104 383h-247l-105 -383h-192l104 383h-233zM545 563h248l69 258h-248z" />
+<glyph unicode="$" horiz-adv-x="1280" d="M123 291l205 139q37 -49 99 -94t134 -53v315q-164 41 -246.5 86.5t-125 112.5t-42.5 159q0 160 111 247t303 104v106h180v-106q144 -11 247.5 -69t162.5 -155l-193 -137q-34 47 -90.5 87t-126.5 50v-280q191 -50 269 -96t118.5 -112.5t40.5 -164.5q0 -166 -111.5 -258 t-316.5 -109v-196h-180v192q-310 32 -438 232zM414 971q0 -39 30.5 -68t116.5 -53v237q-65 -4 -106 -32.5t-41 -83.5zM741 281q74 8 118 41.5t44 85.5q0 51 -34.5 83.5t-127.5 61.5v-272z" />
+<glyph unicode="%" horiz-adv-x="2163" d="M88 963q0 221 101.5 335.5t289.5 114.5q192 0 292.5 -116t100.5 -334q0 -216 -101 -330.5t-292 -114.5q-185 0 -288 114.5t-103 330.5zM334 963q0 -152 37 -208.5t108 -56.5q80 0 114 63.5t34 201.5q0 136 -32 203t-116 67q-78 0 -111.5 -64.5t-33.5 -205.5zM590 -51 l747 1487h238l-750 -1487h-235zM1290 414q0 219 100 334.5t291 115.5q193 0 293.5 -116t100.5 -334q0 -216 -102.5 -330.5t-291.5 -114.5q-185 0 -288 114.5t-103 330.5zM1536 414q0 -152 37 -208t108 -56q81 0 114.5 63.5t33.5 200.5q0 97 -16 158t-45 86.5t-87 25.5 q-78 0 -111.5 -64.5t-33.5 -205.5z" />
+<glyph unicode="&#x26;" horiz-adv-x="1417" d="M92 373q0 131 57.5 217t231.5 194q-59 72 -101 148t-42 153q0 160 106 244t303 84q165 0 271 -74t106 -209q0 -72 -31 -136t-85 -120t-165 -129l263 -309q64 87 102 230l227 -52q-51 -211 -176 -356l217 -258h-327l-72 86q-72 -49 -158 -82t-215 -33q-237 0 -374.5 109 t-137.5 293zM358 371q0 -90 67 -140.5t183 -50.5q129 0 226 76l-308 356q-94 -59 -131 -114.5t-37 -126.5zM500 1096q0 -41 23.5 -81t70.5 -93q65 43 103.5 77.5t52.5 61t14 67.5t-34 68t-89 27q-70 0 -105.5 -34t-35.5 -93z" />
+<glyph unicode="'" horiz-adv-x="549" d="M137 1384h275l-45 -612h-185z" />
+<glyph unicode="(" horiz-adv-x="856" d="M113 561q0 528 409 961h293q-217 -205 -337 -438.5t-120 -522.5t120 -520t337 -436h-293q-409 433 -409 956z" />
+<glyph unicode=")" horiz-adv-x="856" d="M41 -395q217 205 337 436t120 520t-120 522.5t-337 438.5h293q409 -433 409 -961q0 -523 -409 -956h-293z" />
+<glyph unicode="*" horiz-adv-x="911" d="M31 983l282 141l-282 146l90 149l258 -159l-10 260h174l-13 -260l261 159l90 -151l-283 -142l283 -143l-90 -149l-259 159l11 -260h-174l12 260l-260 -159z" />
+<glyph unicode="+" horiz-adv-x="1427" d="M133 479v205h479v479h205v-479h477v-205h-477v-477h-205v477h-479z" />
+<glyph unicode="," horiz-adv-x="584" d="M129 145q0 74 35 117t131 43q160 0 160 -180q0 -123 -42 -234.5t-91 -183.5h-177q41 69 72.5 151t36.5 132q-66 4 -95.5 42t-29.5 113z" />
+<glyph unicode="-" horiz-adv-x="786" d="M82 399v254h623v-254h-623z" />
+<glyph unicode="." horiz-adv-x="584" d="M129 145q0 82 36 121t126 39q92 0 128 -38t36 -122q0 -86 -39 -122.5t-125 -36.5q-94 0 -128 41t-34 118z" />
+<glyph unicode="/" horiz-adv-x="1036" d="M-12 -299l690 1819h256l-692 -1819h-254z" />
+<glyph unicode="0" horiz-adv-x="1280" d="M100 690q0 371 131 547t408 176q279 0 410 -175t131 -546q0 -373 -131 -548t-410 -175q-277 0 -408 175t-131 546zM391 690q0 -248 59.5 -363.5t188.5 -115.5t189.5 116.5t60.5 364.5t-60.5 363.5t-189.5 115.5t-188.5 -116.5t-59.5 -364.5z" />
+<glyph unicode="1" horiz-adv-x="1280" d="M248 928v190q144 9 217.5 34.5t117 79.5t68.5 152h215v-1384h-282v928h-336z" />
+<glyph unicode="2" horiz-adv-x="1204" d="M102 1178q85 127 201.5 181t290.5 54q214 0 337.5 -100t123.5 -281q0 -133 -48.5 -233.5t-138 -195t-223 -208.5t-164.5 -137h619v-258h-994v236q163 137 297 262t207 207.5t113.5 158t40.5 158.5q0 65 -49 103t-135 38q-93 0 -152 -43t-98 -102z" />
+<glyph unicode="3" horiz-adv-x="1204" d="M66 195l227 155q37 -57 92 -92t150 -35q120 0 174.5 46t54.5 141q0 192 -254 192h-123v242h107q127 0 185 50t58 130q0 59 -42 98t-138 39t-153.5 -30.5t-98.5 -92.5l-225 158q82 111 198.5 164t299.5 53q139 0 242.5 -43.5t156.5 -120.5t53 -176q0 -271 -280 -340 q137 -9 221 -103.5t84 -240.5q0 -213 -139.5 -315.5t-383.5 -102.5q-174 0 -294.5 63.5t-171.5 160.5z" />
+<glyph unicode="4" horiz-adv-x="1280" d="M63 229v260l676 895h289v-913h170v-242h-170v-229h-270v229h-695zM338 471h420v543z" />
+<glyph unicode="5" horiz-adv-x="1204" d="M49 199l225 159q77 -135 261 -135q276 0 276 238q0 100 -72.5 157.5t-201.5 57.5q-138 0 -209 -74h-197l82 782h809v-258h-584l-28 -243q95 39 211 39q222 0 350.5 -119t128.5 -348q0 -226 -144.5 -355t-416.5 -129q-339 0 -490 228z" />
+<glyph unicode="6" horiz-adv-x="1204" d="M100 608q0 392 147 598.5t429 206.5q267 0 395 -113l-160 -217q-49 43 -104 65.5t-131 22.5q-135 0 -196.5 -92t-78.5 -262q80 54 143.5 75t151.5 21q195 0 309.5 -119.5t114.5 -344.5q0 -222 -134 -350t-363 -128q-250 0 -386.5 165.5t-136.5 471.5zM393 598 q0 -153 23 -225t73 -116t136 -44q94 0 153.5 50t59.5 179q0 106 -59 169t-158 63q-78 0 -137.5 -25.5t-90.5 -50.5z" />
+<glyph unicode="7" horiz-adv-x="1280" d="M113 1126v258h1038v-172l-520 -1212h-316l510 1126h-712z" />
+<glyph unicode="8" horiz-adv-x="1204" d="M84 375q0 123 69.5 215t186.5 145q-112 55 -167.5 133.5t-55.5 169.5q0 183 128 279t357 96q223 0 353 -93t130 -280q0 -62 -29.5 -115t-76.5 -96t-143 -96q115 -56 170 -105t83.5 -112t28.5 -141q0 -192 -133.5 -298t-382.5 -106q-246 0 -382 101.5t-136 302.5zM367 373 q0 -78 56 -128t179 -50t178.5 52t55.5 128q0 86 -57.5 143t-176.5 113q-127 -56 -181 -113t-54 -145zM393 1042q0 -45 20 -76t66.5 -65.5t122.5 -64.5q117 51 162 100t45 100q0 66 -48 111t-159 45q-119 0 -164 -45t-45 -105z" />
+<glyph unicode="9" horiz-adv-x="1204" d="M84 936q0 216 133.5 346.5t353.5 130.5q271 0 402 -169t131 -468q0 -386 -146.5 -595.5t-427.5 -209.5q-278 0 -413 115l157 215q101 -88 256 -88q233 0 273 354q-60 -41 -122.5 -68.5t-150.5 -27.5q-213 0 -329.5 120t-116.5 345zM365 942q0 -105 58.5 -168t160.5 -63 q78 0 137 25.5t90 49.5q0 211 -55.5 298t-180.5 87q-98 0 -154 -60.5t-56 -168.5z" />
+<glyph unicode=":" horiz-adv-x="584" d="M129 145q0 82 36 121t126 39q92 0 128 -38t36 -122q0 -86 -39 -122.5t-125 -36.5q-94 0 -128 41t-34 118zM129 889q0 82 36 121t126 39q92 0 128 -38t36 -122q0 -86 -39 -123t-125 -37q-94 0 -128 41t-34 119z" />
+<glyph unicode=";" horiz-adv-x="584" d="M129 145q0 74 35 117t131 43q160 0 160 -180q0 -123 -42 -234.5t-91 -183.5h-177q41 69 72.5 151t36.5 132q-66 4 -95.5 42t-29.5 113zM129 889q0 82 36 121t126 39q92 0 128 -38t36 -122q0 -86 -39 -123t-125 -37q-94 0 -128 41t-34 119z" />
+<glyph unicode="&#x3c;" horiz-adv-x="1427" d="M131 481v203l1163 479v-225l-866 -354l866 -355v-225z" />
+<glyph unicode="=" horiz-adv-x="1427" d="M133 233v205h1161v-205h-1161zM133 725v205h1161v-205h-1161z" />
+<glyph unicode="&#x3e;" horiz-adv-x="1427" d="M131 4v225l866 355l-866 354v225l1163 -479v-203z" />
+<glyph unicode="?" horiz-adv-x="1071" d="M35 1165q69 123 184 185.5t291 62.5q238 0 363.5 -98.5t125.5 -276.5q0 -99 -40.5 -176t-114.5 -140t-240 -144v-179h-272v301q163 68 235 112t107 93t35 113q0 153 -197 153q-90 0 -144.5 -35.5t-99.5 -109.5zM309 139q0 82 36 118t126 36q92 0 128 -36t36 -118 q0 -86 -39 -119.5t-125 -33.5q-94 0 -128 37.5t-34 115.5z" />
+<glyph unicode="@" horiz-adv-x="1950" d="M104 553q0 239 114 436.5t319 310.5t452 113q402 0 629 -223t227 -621q0 -169 -45 -292t-135.5 -192t-224.5 -69q-99 0 -164.5 27t-93.5 98q-141 -98 -283 -98q-127 0 -215 59t-134 166.5t-46 249.5q0 231 113 367.5t315 136.5q113 0 231 -70v41h215v-696q0 -66 22.5 -81 t51.5 -15q64 0 106 46t64.5 128t22.5 186q0 328 -168.5 499t-485.5 171q-195 0 -353 -88t-245.5 -244.5t-87.5 -347.5q0 -207 84.5 -361t238 -235.5t359.5 -81.5q123 0 228.5 9t220.5 36l39 -180q-190 -47 -490 -47q-260 0 -460 104.5t-310.5 302t-110.5 455.5zM725 520 q0 -143 55 -209.5t158 -66.5q89 0 223 92v422q-114 69 -198 69q-117 0 -177.5 -72.5t-60.5 -234.5z" />
+<glyph unicode="A" horiz-adv-x="1337" d="M27 0l458 1384h367l459 -1384h-289l-92 281h-533l-90 -281h-280zM477 528h373l-186 572z" />
+<glyph unicode="B" horiz-adv-x="1298" d="M150 0v1384h489q266 0 381 -77.5t115 -245.5q0 -129 -62.5 -209t-195.5 -107q174 -24 253.5 -110t79.5 -234q0 -208 -143 -304.5t-397 -96.5h-520zM432 250h143q165 0 227.5 16t91 54t28.5 106q0 93 -63 131.5t-236 38.5h-191v-346zM432 842h172q125 0 185.5 35t60.5 122 q0 79 -58 109.5t-180 30.5h-180v-297z" />
+<glyph unicode="C" horiz-adv-x="1333" d="M96 692q0 369 163 545t470 176q203 0 331 -68.5t195 -179.5l-219 -170q-48 72 -88 104t-91 48t-122 16q-170 0 -259 -108.5t-89 -362.5q0 -237 83.5 -354t266.5 -117q123 0 191.5 47t124.5 125l223 -164q-89 -133 -218.5 -195.5t-318.5 -62.5q-643 0 -643 721z" />
+<glyph unicode="D" horiz-adv-x="1313" d="M137 0v1384h418q245 0 389.5 -71t213.5 -221.5t69 -399.5q0 -250 -69 -402t-208 -221t-391 -69h-422zM420 258h108q167 0 251.5 38.5t120.5 128.5t36 269q0 181 -35.5 268.5t-120.5 125.5t-252 38h-108v-868z" />
+<glyph unicode="E" horiz-adv-x="1149" d="M150 0v1384h899v-249h-617v-295h520v-250h-520v-332h617v-258h-899z" />
+<glyph unicode="F" horiz-adv-x="1104" d="M150 0v1384h890v-258h-608v-299h510v-249h-510v-578h-282z" />
+<glyph unicode="G" horiz-adv-x="1415" d="M96 680q0 733 645 733q188 0 328 -63t213 -185l-217 -170q-53 86 -129 127t-191 41q-189 0 -273.5 -121.5t-84.5 -361.5q0 -238 83.5 -348.5t268.5 -110.5q140 0 258 58v215h-270v249h553v-612q-96 -72 -238.5 -116t-293.5 -44q-324 0 -488 169t-164 540z" />
+<glyph unicode="H" horiz-adv-x="1409" d="M150 0v1384h282v-538h545v538h283v-1384h-283v588h-545v-588h-282z" />
+<glyph unicode="I" horiz-adv-x="872" d="M102 0v217h193v950h-193v217h668v-217h-192v-950h192v-217h-668z" />
+<glyph unicode="J" horiz-adv-x="924" d="M20 23l86 251q32 -17 102.5 -36t110.5 -19q74 0 107 20t47 70t14 144v931h283v-1007q0 -219 -110.5 -313.5t-346.5 -94.5q-51 0 -142 15t-151 39z" />
+<glyph unicode="K" horiz-adv-x="1280" d="M150 0v1384h282v-540l453 540h329l-516 -596l553 -788h-352l-383 578l-84 -97v-481h-282z" />
+<glyph unicode="L" horiz-adv-x="1038" d="M150 0v1384h282v-1126h582v-258h-864z" />
+<glyph unicode="M" horiz-adv-x="1667" d="M150 0v1384h325l361 -657l364 657h318v-1384h-273v930l-332 -578h-163l-328 578v-930h-272z" />
+<glyph unicode="N" horiz-adv-x="1411" d="M150 0v1384h366l469 -933v933h277v-1384h-332l-504 989v-989h-276z" />
+<glyph unicode="O" horiz-adv-x="1364" d="M86 692q0 344 144.5 532.5t451.5 188.5q309 0 452.5 -188.5t143.5 -532.5q0 -361 -152.5 -541t-443.5 -180q-307 0 -451.5 189.5t-144.5 531.5zM377 692q0 -246 70.5 -358.5t234.5 -112.5q166 0 235.5 112.5t69.5 358.5t-69.5 358.5t-235.5 112.5t-235.5 -112.5 t-69.5 -358.5z" />
+<glyph unicode="P" horiz-adv-x="1239" d="M150 0v1384h520q235 0 363 -109.5t128 -354.5q0 -250 -117.5 -371t-381.5 -121h-230v-428h-282zM432 674h115q155 0 214.5 21.5t84 72.5t24.5 150q0 117 -64.5 169t-232.5 52h-141v-465z" />
+<glyph unicode="Q" horiz-adv-x="1364" d="M86 692q0 346 144.5 533.5t453.5 187.5q307 0 450.5 -188.5t143.5 -532.5q0 -611 -428 -706q10 -54 43 -78.5t119 -24.5q45 0 104.5 9.5t100.5 21.5l65 -227q-34 -11 -118 -23t-160 -12q-399 0 -461 330q-213 32 -335 205t-122 505zM377 692q0 -246 69.5 -358.5 t237.5 -112.5t235.5 114t67.5 357q0 246 -69.5 358.5t-233.5 112.5q-170 0 -238.5 -112.5t-68.5 -358.5z" />
+<glyph unicode="R" horiz-adv-x="1284" d="M150 0v1384h503q267 0 390.5 -96t123.5 -315q0 -177 -74.5 -282t-211.5 -134l370 -557h-323l-353 524h-143v-524h-282zM432 770h207q95 0 146 18t73.5 56t22.5 117q0 106 -53.5 142t-176.5 36h-219v-369z" />
+<glyph unicode="S" horiz-adv-x="1229" d="M66 229l217 166q48 -68 91 -102t102 -53t136 -19q115 0 179.5 39.5t64.5 120.5q0 46 -22.5 77t-67.5 53.5t-156 51.5q-108 29 -203.5 58.5t-165 76.5t-109.5 118t-40 179q0 197 133 307.5t381 110.5q359 0 508 -246l-215 -168q-57 88 -128 126t-169 38t-159.5 -35.5 t-61.5 -111.5q0 -67 64 -102.5t223 -71.5q88 -23 174 -49.5t153.5 -73.5t108.5 -123t41 -195q0 -208 -136.5 -319t-402.5 -111q-184 0 -319.5 61t-220.5 197z" />
+<glyph unicode="T" horiz-adv-x="1204" d="M35 1126v258h1134v-258h-426v-1126h-282v1126h-426z" />
+<glyph unicode="U" horiz-adv-x="1438" d="M150 578v806h282v-786q0 -141 27 -222t86 -119t172 -38q161 0 225 85.5t64 289.5v790h282v-806q0 -325 -132 -467t-437 -142q-302 0 -435.5 140.5t-133.5 468.5z" />
+<glyph unicode="V" horiz-adv-x="1243" d="M27 1384h286l312 -1032l311 1032h281l-431 -1384h-333z" />
+<glyph unicode="W" horiz-adv-x="1833" d="M43 1384h281l221 -903l229 903h279l231 -909l227 909h279l-358 -1384h-289l-232 915l-233 -915h-285z" />
+<glyph unicode="X" horiz-adv-x="1286" d="M29 0l463 694l-451 690h321l287 -466l297 466h311l-454 -684l452 -700h-317l-297 477l-301 -477h-311z" />
+<glyph unicode="Y" horiz-adv-x="1188" d="M18 1384h308l270 -579l276 579h297l-434 -856v-528h-284v522z" />
+<glyph unicode="Z" horiz-adv-x="1147" d="M72 0v238l635 888h-605v258h942v-227l-641 -899h658v-258h-989z" />
+<glyph unicode="[" horiz-adv-x="764" d="M154 -395v1884h548v-207h-309v-1470h309v-207h-548z" />
+<glyph unicode="\" horiz-adv-x="1036" d="M102 1520h256l691 -1819h-254z" />
+<glyph unicode="]" horiz-adv-x="764" d="M61 -188h310v1470h-310v207h549v-1884h-549v207z" />
+<glyph unicode="^" horiz-adv-x="1300" d="M123 594l434 790h186l435 -790h-220l-307 557l-309 -557h-219z" />
+<glyph unicode="_" horiz-adv-x="1024" d="M-10 -154h1044v-102h-1044v102z" />
+<glyph unicode="`" horiz-adv-x="1044" d="M195 1569h315l188 -361h-204z" />
+<glyph unicode="a" horiz-adv-x="1139" d="M84 295q0 112 45.5 185t135 114.5t257.5 58.5l221 21v47q0 88 -53 120.5t-155 32.5q-84 0 -144.5 -28t-89.5 -80l-201 129q53 89 166 136.5t273 47.5q245 0 353.5 -85.5t108.5 -280.5v-713h-237v109q-153 -140 -328 -140q-174 0 -263 91.5t-89 234.5zM350 299 q0 -72 40 -98.5t106 -26.5q47 0 114.5 29.5t132.5 83.5v200l-131 -12q-139 -12 -200.5 -53t-61.5 -123z" />
+<glyph unicode="b" d="M145 0v1489h258v-524q142 114 314 114q211 0 309 -145.5t98 -401.5q0 -261 -109.5 -412t-312.5 -151q-80 0 -174.5 36.5t-150.5 92.5l-35 -98h-197zM403 291q43 -37 104.5 -65.5t119.5 -28.5q111 0 171 84.5t60 246.5t-51 243t-164 81q-63 0 -127.5 -29.5t-112.5 -72.5 v-459z" />
+<glyph unicode="c" horiz-adv-x="1059" d="M92 518q0 265 126 413t378 148q135 0 240.5 -44t160.5 -136l-192 -137q-35 47 -82 69.5t-121 22.5q-132 0 -188 -81t-56 -251t57.5 -248.5t196.5 -78.5q60 0 110 17t95 75l195 -137q-60 -89 -158 -135t-248 -46q-254 0 -384 138.5t-130 410.5z" />
+<glyph unicode="d" d="M92 516q0 267 115.5 415t324.5 148q74 0 152 -30.5t129 -77.5v518h258v-1489h-237v102q-72 -61 -152 -97t-182 -36q-198 0 -303 143t-105 404zM358 520q0 -151 51.5 -237t159.5 -86q64 0 130.5 29.5t113.5 72.5v459q-41 37 -101.5 65.5t-123.5 28.5q-104 0 -167 -89.5 t-63 -242.5z" />
+<glyph unicode="e" horiz-adv-x="1143" d="M92 516q0 563 504 563q224 0 341.5 -126.5t117.5 -368.5v-127h-697q7 -140 68 -201t192 -61q76 0 133.5 19t100.5 73l192 -137q-63 -91 -163.5 -136t-274.5 -45q-259 0 -386.5 136t-127.5 411zM365 635h434q0 239 -209 239q-69 0 -113 -23.5t-70.5 -70t-41.5 -145.5z" />
+<glyph unicode="f" horiz-adv-x="659" d="M35 844v205h133v102q0 195 96.5 282t290.5 87q91 0 193 -25l-50 -225q-72 24 -139 24q-76 0 -104.5 -31.5t-28.5 -111.5v-102h213v-205h-213v-844h-258v844h-133z" />
+<glyph unicode="g" d="M92 535q0 162 51.5 285.5t151 191t240.5 67.5q83 0 166 -36.5t139 -92.5l34 99h197v-1029q0 -210 -129 -312.5t-414 -102.5q-235 0 -411 90l76 211q163 -76 335 -76q160 0 222.5 46t62.5 155v86q-128 -117 -309 -117q-192 0 -302 138t-110 397zM358 539q0 -160 57.5 -236 t149.5 -76q128 0 248 103v428q-106 94 -231 94q-94 0 -159 -86t-65 -227z" />
+<glyph unicode="h" d="M145 0v1489h258v-576q82 82 175 124t182 42q176 0 247.5 -99t71.5 -280v-700h-258v578q0 166 -31 220t-110 54q-115 0 -277 -152v-700h-258z" />
+<glyph unicode="i" horiz-adv-x="549" d="M131 1335q0 70 32 100.5t109 30.5q78 0 112 -29.5t34 -101.5q0 -73 -36 -102t-110 -29q-82 0 -111.5 34t-29.5 97zM145 0v1049h258v-1049h-258z" />
+<glyph unicode="j" horiz-adv-x="563" d="M-162 -365l56 224q73 -29 151 -29t96.5 48t18.5 159v1012h258v-1094q0 -188 -84 -269t-275 -81q-43 0 -113 9.5t-108 20.5zM145 1335q0 70 32 100.5t110 30.5t111.5 -29.5t33.5 -101.5q0 -73 -36 -102t-109 -29q-82 0 -112 34t-30 97z" />
+<glyph unicode="k" horiz-adv-x="1100" d="M145 0v1489h258v-852l353 412h299l-396 -441l418 -608h-293l-280 434l-101 -108v-326h-258z" />
+<glyph unicode="l" horiz-adv-x="549" d="M145 0v1489h258v-1489h-258z" />
+<glyph unicode="m" horiz-adv-x="1790" d="M145 0v1049h258v-136q72 78 151 122t175 44q131 0 193.5 -45t85.5 -133q90 90 168.5 134t183.5 44q153 0 223 -87t70 -292v-700h-258v618q0 93 -11 145t-33.5 70.5t-74.5 18.5q-59 0 -125 -44t-123 -108v-700h-258v618q0 102 -9 147.5t-32 66t-78 20.5q-48 0 -111 -36.5 t-137 -115.5v-700h-258z" />
+<glyph unicode="n" d="M145 0v1049h258v-136q82 82 175 124t182 42q161 0 240 -88t79 -291v-700h-258v578q0 164 -29.5 219t-111.5 55q-115 0 -277 -152v-700h-258z" />
+<glyph unicode="o" horiz-adv-x="1190" d="M92 522q0 266 121 411.5t383 145.5q260 0 381 -145.5t121 -411.5q0 -262 -121 -407.5t-381 -145.5q-504 0 -504 553zM358 522q0 -168 55.5 -247.5t182.5 -79.5q125 0 180 78.5t55 248.5q0 173 -54 252.5t-181 79.5q-126 0 -182 -81.5t-56 -250.5z" />
+<glyph unicode="p" d="M145 -395v1444h238v-103q72 62 151.5 97.5t182.5 35.5q199 0 303 -140t104 -407q0 -169 -51 -298t-146 -197t-227 -68q-174 0 -297 109v-473h-258zM403 291q41 -37 101.5 -65.5t124.5 -28.5q106 0 167.5 90.5t61.5 240.5q0 153 -53 238.5t-158 85.5q-63 0 -129.5 -29.5 t-114.5 -72.5v-459z" />
+<glyph unicode="q" d="M92 516q0 266 114 414.5t324 148.5q95 0 178 -40t132 -89l34 99h197v-1444h-258v479q-141 -115 -313 -115q-198 0 -303 140t-105 407zM358 520q0 -153 50 -238t161 -85q64 0 130.5 29.5t113.5 72.5v459q-47 43 -107.5 68.5t-117.5 25.5q-104 0 -167 -89.5t-63 -242.5z " />
+<glyph unicode="r" horiz-adv-x="840" d="M145 0v1049h258v-150q66 72 142 119t170 47q80 0 114 -21l-51 -247q-40 20 -106 20q-72 0 -136.5 -34.5t-132.5 -100.5v-682h-258z" />
+<glyph unicode="s" horiz-adv-x="1026" d="M76 152l192 135q47 -64 108.5 -85.5t131.5 -21.5q184 0 184 107q0 47 -52 72.5t-163 52.5q-209 46 -294 130t-85 218q0 139 106.5 229t313.5 90q141 0 248.5 -45t165.5 -135l-193 -137q-69 106 -225 106q-80 0 -121 -27.5t-41 -70.5q0 -41 37 -65.5t146 -51.5 q179 -44 255.5 -87.5t116 -108t39.5 -158.5q0 -104 -52.5 -178t-149 -113t-220.5 -39q-329 0 -448 183z" />
+<glyph unicode="t" horiz-adv-x="739" d="M31 844v205h133v292h258v-292h244v-205h-244v-494q0 -98 30.5 -133t86.5 -35q71 0 141 29l45 -211q-104 -31 -219 -31q-182 0 -262 82t-80 266v527h-133z" />
+<glyph unicode="u" d="M137 348v701h258v-578q0 -111 13 -170t42.5 -81.5t86.5 -22.5q115 0 276 151v701h258v-1049h-258v135q-68 -73 -166.5 -119.5t-189.5 -46.5q-178 0 -249 98.5t-71 280.5z" />
+<glyph unicode="v" horiz-adv-x="1040" d="M27 1049h264l233 -691l232 691h258l-377 -1049h-238z" />
+<glyph unicode="w" horiz-adv-x="1565" d="M27 1049h268l162 -676l235 676h195l237 -670l156 670h258l-281 -1049h-235l-236 668l-237 -668h-236z" />
+<glyph unicode="x" horiz-adv-x="1079" d="M31 0l362 518l-356 531h301l209 -332l215 332h285l-361 -517l363 -532h-306l-208 334l-218 -334h-286z" />
+<glyph unicode="y" horiz-adv-x="1085" d="M-20 -365l55 224q84 -29 151 -29q58 0 102 35t91 145l27 62l-379 977h268l248 -670l254 670h262l-451 -1121q-55 -135 -107 -200t-121.5 -94t-174.5 -29q-114 0 -225 30z" />
+<glyph unicode="z" horiz-adv-x="930" d="M57 0v188l490 656h-477v205h786v-187l-491 -657h507v-205h-815z" />
+<glyph unicode="{" horiz-adv-x="915" d="M102 453v221h39q111 0 170.5 77.5t59.5 223.5v139q0 197 95 301.5t318 104.5h70v-207h-41q-117 0 -160 -48t-43 -165v-166q0 -137 -64.5 -231.5t-174.5 -141.5q108 -39 173.5 -137t65.5 -234v-165q0 -117 43 -165t160 -48h41v-207h-70q-221 0 -317 103.5t-96 301.5v142 q0 141 -59.5 221t-170.5 80h-39z" />
+<glyph unicode="|" horiz-adv-x="801" d="M281 -395v1915h239v-1915h-239z" />
+<glyph unicode="}" horiz-adv-x="915" d="M61 -188h41q117 0 160 48t43 165v165q0 136 65.5 234t174.5 137q-111 47 -175.5 141.5t-64.5 231.5v166q0 117 -43 165t-160 48h-41v207h70q223 0 318.5 -104.5t95.5 -301.5v-139q0 -146 59.5 -223.5t169.5 -77.5h39v-221h-39q-110 0 -169.5 -80t-59.5 -221v-142 q0 -198 -96.5 -301.5t-317.5 -103.5h-70v207z" />
+<glyph unicode="~" horiz-adv-x="1386" d="M143 580v229q56 47 106 73t95 38t117 12q65 0 128.5 -24.5t122 -54.5t114 -54.5t106.5 -24.5q80 0 154.5 38t156.5 110v-222q-67 -53 -141 -92t-166 -39q-72 0 -137.5 24.5t-126 54.5t-114.5 54.5t-101 24.5q-92 0 -170 -45t-144 -102z" />
+<glyph unicode="&#xa1;" horiz-adv-x="584" d="M129 954q0 78 34 116t128 38q86 0 125 -34t39 -120q0 -82 -36 -117.5t-128 -35.5q-90 0 -126 35.5t-36 117.5zM152 -395l34 1059h215l31 -1059h-280z" />
+<glyph unicode="&#xa2;" horiz-adv-x="1059" d="M92 518q0 265 126 413t378 148h18l48 209h180l-54 -237q145 -49 209 -152l-192 -137q-27 35 -66 61l-139 -628h12q60 0 110 17t95 75l195 -137q-60 -89 -158 -135t-248 -46l-55 2l-51 -231h-183l60 266q-152 57 -218.5 189.5t-66.5 322.5zM358 522q0 -196 74 -270 l133 600q-107 -9 -157 -86t-50 -244z" />
+<glyph unicode="&#xa3;" horiz-adv-x="1280" d="M100 0v213q65 13 103 58.5t55.5 110t17.5 183.5h-151v189h137l-11 44q-42 128 -42 228q0 187 135 287t367 100q176 0 296.5 -61.5t184.5 -167.5l-217 -131q-41 65 -111.5 104t-152.5 39q-119 0 -176.5 -54.5t-57.5 -144.5q0 -73 44 -202l11 -41h379v-189h-370 q0 -224 -117 -325h784v-240h-1108z" />
+<glyph unicode="&#xa4;" horiz-adv-x="1280" d="M139 281l142 135q-72 115 -72 231q0 125 72 232l-142 137l123 125l141 -140q105 72 236 72q57 0 119.5 -17.5t115.5 -54.5l142 140l125 -125l-144 -137q72 -109 72 -232q0 -122 -72 -231l144 -135l-125 -125l-142 139q-103 -72 -235 -72q-131 0 -236 72l-141 -139z M385 649q0 -102 75 -177t179 -75q65 0 124.5 33.5t94.5 93t35 125.5q0 104 -76.5 177t-175.5 73q-102 0 -179 -72t-77 -178z" />
+<glyph unicode="&#xa5;" horiz-adv-x="1280" d="M45 1384h307l291 -538l295 538h297l-307 -538h211v-178h-314l-45 -80v-31h359v-176h-359v-381h-282v381h-361v176h361v27l-47 84h-314v178h213z" />
+<glyph unicode="&#xa6;" horiz-adv-x="801" d="M281 283h239v-678h-239v678zM281 842v678h239v-678h-239z" />
+<glyph unicode="&#xa7;" horiz-adv-x="1110" d="M92 545q0 188 211 307q-72 53 -110.5 110.5t-38.5 129.5q0 149 105.5 235t322.5 86q282 0 407 -160l-176 -131q-84 84 -227 84q-92 0 -133 -27.5t-41 -68.5q0 -31 45 -69.5t252 -166.5q128 -79 186.5 -133t90.5 -112.5t32 -126.5q0 -191 -211 -307q78 -60 113.5 -117.5 t35.5 -120.5q0 -162 -112.5 -243t-308.5 -81q-160 0 -257.5 43t-156.5 117l176 131q75 -84 233 -84q72 0 120 23.5t48 68.5t-74.5 97.5t-222.5 142.5q-153 92 -231 176t-78 197zM336 549q0 -41 67.5 -94.5t208.5 -139.5q68 41 115 89t47 90q0 24 -15.5 46.5t-48 49t-85 59.5 t-127.5 80q-80 -49 -121 -91t-41 -89z" />
+<glyph unicode="&#xa8;" horiz-adv-x="1044" d="M152 1335q0 70 31.5 100.5t109.5 30.5t111.5 -29.5t33.5 -101.5q0 -73 -35.5 -102t-109.5 -29q-82 0 -111.5 34t-29.5 97zM596 1335q0 70 31.5 100.5t109.5 30.5t112 -29.5t34 -101.5q0 -73 -36 -102t-110 -29q-82 0 -111.5 34t-29.5 97z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1802" d="M96 610q0 217 106 402.5t293.5 293t405.5 107.5q217 0 403 -106.5t293 -292.5t107 -404q0 -217 -105.5 -403t-292.5 -295t-405 -109q-219 0 -406 108.5t-293 295t-106 403.5zM258 610q0 -176 87.5 -328t235 -237.5t320.5 -85.5t320.5 85.5t235 237t87.5 328.5 q0 173 -86 323.5t-235.5 237t-321.5 86.5q-174 0 -323 -87t-234.5 -237.5t-85.5 -322.5zM504 612q0 217 100.5 331t317.5 114q133 0 209.5 -51.5t134.5 -143.5l-176 -100q-33 47 -67 78.5t-103 31.5q-109 0 -155 -59t-46 -201q0 -143 48 -200.5t155 -57.5q65 0 104 29t76 78 l180 -96q-71 -88 -118.5 -123.5t-106 -53.5t-131.5 -18q-422 0 -422 442z" />
+<glyph unicode="&#xaa;" horiz-adv-x="834" d="M92 1014q0 105 65 164t222 73l129 13v20q0 49 -27.5 67.5t-93.5 18.5q-65 0 -95 -21.5t-46 -50.5l-148 93q31 53 100.5 91t192.5 38q146 0 224.5 -50.5t78.5 -191.5v-461h-174v57q-95 -75 -196 -75q-117 0 -174.5 59.5t-57.5 155.5zM285 1018q0 -39 19.5 -54.5 t57.5 -15.5q64 0 146 66v110l-68 -6q-90 -8 -122.5 -31.5t-32.5 -68.5z" />
+<glyph unicode="&#xab;" horiz-adv-x="1436" d="M61 524l420 471h299l-420 -471l420 -471h-299zM635 524l420 471h299l-420 -471l420 -471h-299z" />
+<glyph unicode="&#xac;" horiz-adv-x="1427" d="M133 801v205h1161v-682h-207v477h-954z" />
+<glyph unicode="&#xad;" horiz-adv-x="786" d="M82 399v254h623v-254h-623z" />
+<glyph unicode="&#xae;" horiz-adv-x="1802" d="M96 610q0 217 106 402.5t293.5 293t405.5 107.5q217 0 403 -106.5t293 -292.5t107 -404q0 -217 -105.5 -403t-292.5 -295t-405 -109q-219 0 -406 108.5t-293 295t-106 403.5zM258 610q0 -176 87.5 -328t235 -237.5t320.5 -85.5t320.5 85.5t235 237t87.5 328.5 q0 173 -86 323.5t-235.5 237t-321.5 86.5q-174 0 -323 -87t-234.5 -237.5t-85.5 -322.5zM588 201v850h305q178 0 260 -63t82 -197q0 -185 -145 -246l239 -344h-250l-211 307h-75v-307h-205zM793 682h96q54 0 81 7t39.5 25.5t12.5 65.5t-21.5 70.5t-103.5 23.5h-104v-192z " />
+<glyph unicode="&#xaf;" horiz-adv-x="1044" d="M186 1255v185h672v-185h-672z" />
+<glyph unicode="&#xb0;" horiz-adv-x="868" d="M123 1241q0 130 91.5 219.5t219.5 89.5q129 0 220 -90.5t91 -218.5q0 -83 -40.5 -154.5t-114 -115t-154.5 -43.5q-83 0 -157 42.5t-115 114t-41 156.5zM303 1241q0 -55 38 -94t95 -39q53 0 91 39t38 92q0 55 -38 93t-91 38q-59 0 -96 -39t-37 -90z" />
+<glyph unicode="&#xb1;" horiz-adv-x="1427" d="M133 0v205h1161v-205h-1161zM133 829v205h479v479h205v-479h477v-205h-477v-477h-205v477h-479z" />
+<glyph unicode="&#xb2;" horiz-adv-x="938" d="M76 1348q133 172 377 172q180 0 262 -71t82 -179q0 -60 -16 -107.5t-52.5 -92.5t-130.5 -115t-166 -111h397v-197h-737v182l108 78q228 160 283.5 217t55.5 113q0 78 -97 78q-101 0 -170 -88z" />
+<glyph unicode="&#xb3;" horiz-adv-x="938" d="M59 801l199 102q64 -88 164 -88q72 0 98.5 32t26.5 66q0 91 -141 91h-115v176h102q92 0 124 22.5t32 63.5q0 28 -27.5 48.5t-85.5 20.5q-103 0 -168 -78l-182 107q61 74 143 115t224 41q172 0 255 -67t83 -159q0 -71 -38 -116t-124 -74q92 -23 134 -77t42 -126 q0 -137 -102.5 -203.5t-282.5 -66.5q-127 0 -221.5 49t-139.5 121z" />
+<glyph unicode="&#xb4;" horiz-adv-x="1044" d="M348 1208l189 361h315l-299 -361h-205z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1202" d="M131 -395v1444h258v-750q29 -39 83 -69.5t114 -30.5q131 0 227 120v730h256v-1049h-238l-4 111q-49 -70 -104 -106t-133 -36q-62 0 -109 17.5t-92 52.5v-434h-258z" />
+<glyph unicode="&#xb6;" horiz-adv-x="1321" d="M41 1047q0 206 134 324t378 118h727v-207h-188v-1677h-234v1677h-162v-1677h-233v1001q-204 22 -313 138t-109 303z" />
+<glyph unicode="&#xb7;" horiz-adv-x="584" d="M129 743q0 82 36 121t126 39q92 0 128 -38t36 -122q0 -86 -39 -122.5t-125 -36.5q-94 0 -128 41t-34 118z" />
+<glyph unicode="&#xb8;" horiz-adv-x="1044" d="M199 -350l69 145q106 -45 193 -45q53 0 74.5 11.5t21.5 35.5q0 63 -180 72l88 170h170l-31 -62q62 -14 104 -61t42 -121q0 -190 -287 -190q-174 0 -264 45z" />
+<glyph unicode="&#xb9;" horiz-adv-x="938" d="M170 1200v152q97 3 150 17t82 43t49 91h200v-856h-252v553h-229z" />
+<glyph unicode="&#xba;" horiz-adv-x="842" d="M92 1157q0 172 80 267.5t250 95.5q168 0 248 -95.5t80 -267.5q0 -170 -80 -264t-248 -94q-172 0 -251 95t-79 263zM285 1157q0 -100 31.5 -148t105.5 -48q72 0 103.5 47.5t31.5 148.5q0 119 -39 160t-96 41q-60 0 -98.5 -41t-38.5 -160z" />
+<glyph unicode="&#xbb;" horiz-adv-x="1436" d="M82 53l420 471l-420 471h299l420 -471l-420 -471h-299zM655 53l420 471l-420 471h299l420 -471l-420 -471h-299z" />
+<glyph unicode="&#xbc;" horiz-adv-x="2095" d="M45 1085v152q97 3 150 17t82 43t49 91h200v-856h-252v553h-229zM469 -51l747 1489h238l-750 -1489h-235zM1155 160v166l492 530h227v-524h115v-172h-115v-160h-232v160h-487zM1386 332h256v276z" />
+<glyph unicode="&#xbd;" horiz-adv-x="2095" d="M43 1085v152q97 3 150 17t82 43t49 91h200v-856h-252v553h-229zM406 -51l747 1489h238l-750 -1489h-235zM1213 701q133 172 377 172q180 0 262 -71t82 -179q0 -60 -16 -107.5t-52.5 -92.5t-130.5 -115t-166 -111h397v-197h-737v182l108 78q228 160 283.5 217t55.5 113 q0 78 -97 78q-101 0 -170 -88z" />
+<glyph unicode="&#xbe;" horiz-adv-x="2095" d="M59 686l199 102q64 -88 164 -88q72 0 98.5 32t26.5 66q0 91 -141 91h-115v176h102q92 0 124 22.5t32 63.5q0 28 -27.5 48.5t-85.5 20.5q-103 0 -168 -78l-182 107q61 74 143 115t224 41q172 0 255 -67t83 -159q0 -71 -38 -116t-124 -74q92 -23 134 -77t42 -126 q0 -137 -102.5 -203.5t-282.5 -66.5q-127 0 -221.5 49t-139.5 121zM592 -51l747 1489h238l-750 -1489h-235zM1202 160v166l492 530h227v-524h115v-172h-115v-160h-232v160h-487zM1433 332h256v276z" />
+<glyph unicode="&#xbf;" horiz-adv-x="1071" d="M72 0q0 105 39 185t112.5 145.5t243.5 154.5v179h272v-302q-55 -28 -120.5 -61t-122 -75t-95.5 -94t-39 -120q0 -78 44.5 -122t152.5 -44q90 0 144.5 37t99.5 111l233 -139q-69 -123 -184 -186.5t-291 -63.5q-237 0 -363 103.5t-126 291.5zM436 954q0 86 39 120t125 34 q94 0 128 -38t34 -116q0 -82 -36 -117.5t-126 -35.5q-92 0 -128 35.5t-36 117.5z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1337" d="M27 0l458 1384h367l459 -1384h-289l-92 281h-533l-90 -281h-280zM373 1905h315l188 -361h-204zM477 528h373l-186 572z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1337" d="M27 0l458 1384h367l459 -1384h-289l-92 281h-533l-90 -281h-280zM477 528h373l-186 572zM491 1544l189 361h315l-299 -361h-205z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1337" d="M27 0l458 1384h367l459 -1384h-289l-92 281h-533l-90 -281h-280zM305 1544l235 361h244l236 -361h-211l-146 174l-149 -174h-209zM477 528h373l-186 572z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1337" d="M27 0l458 1384h367l459 -1384h-289l-92 281h-533l-90 -281h-280zM254 1567q5 155 73 236t189 81q61 0 104 -22.5t77 -48t62.5 -48t61.5 -22.5q35 0 51.5 35t16.5 92h182q-10 -165 -75.5 -243.5t-188.5 -78.5q-66 0 -109 22.5t-75.5 50.5t-59.5 50.5t-60 22.5 q-67 0 -67 -127h-182zM477 528h373l-186 572z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1337" d="M27 0l458 1384h367l459 -1384h-289l-92 281h-533l-90 -281h-280zM293 1671q0 70 31.5 100.5t109.5 30.5t111.5 -29.5t33.5 -101.5q0 -73 -35.5 -102t-109.5 -29q-82 0 -111.5 34t-29.5 97zM477 528h373l-186 572zM737 1671q0 70 31.5 100.5t109.5 30.5t112 -29.5 t34 -101.5q0 -73 -36 -102t-110 -29q-82 0 -111.5 34t-29.5 97z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1337" d="M27 0l458 1384h367l459 -1384h-289l-92 281h-533l-90 -281h-280zM434 1716q0 107 57.5 166.5t171.5 59.5q119 0 175.5 -60.5t56.5 -165.5q0 -110 -59.5 -167.5t-172.5 -57.5q-117 0 -173 60.5t-56 164.5zM477 528h373l-186 572zM577 1716q0 -90 86 -90q88 0 88 90t-88 90 q-86 0 -86 -90z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1810" d="M20 0l555 1384h1135v-249h-567v-301h469v-250h-469v-326h567v-258h-850v360h-409l-144 -360h-287zM547 608h313v527h-104z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1333" d="M96 692q0 369 163 545t470 176q203 0 331 -68.5t195 -179.5l-219 -170q-48 72 -88 104t-91 48t-122 16q-170 0 -259 -108.5t-89 -362.5q0 -237 83.5 -354t266.5 -117q123 0 191.5 47t124.5 125l223 -164q-66 -96 -165 -164.5t-263 -87.5q61 -14 103 -61t42 -121 q0 -190 -286 -190q-172 0 -265 45l70 145q106 -45 193 -45q53 0 74.5 11.5t21.5 35.5q0 63 -180 72l53 104q-578 37 -578 719z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1149" d="M150 0v1384h899v-249h-617v-295h520v-250h-520v-332h617v-258h-899zM267 1905h315l188 -361h-204z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1149" d="M150 0v1384h899v-249h-617v-295h520v-250h-520v-332h617v-258h-899zM426 1544l189 361h315l-299 -361h-205z" />
+<glyph unicode="&#xca;" horiz-adv-x="1149" d="M150 0v1384h899v-249h-617v-295h520v-250h-520v-332h617v-258h-899zM236 1544l235 361h244l236 -361h-211l-146 174l-149 -174h-209z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1149" d="M150 0v1384h899v-249h-617v-295h520v-250h-520v-332h617v-258h-899zM228 1671q0 70 31.5 100.5t109.5 30.5t111.5 -29.5t33.5 -101.5q0 -73 -35.5 -102t-109.5 -29q-82 0 -111.5 34t-29.5 97zM672 1671q0 70 31.5 100.5t109.5 30.5t112 -29.5t34 -101.5q0 -73 -36 -102 t-110 -29q-82 0 -111.5 34t-29.5 97z" />
+<glyph unicode="&#xcc;" horiz-adv-x="872" d="M80 1905h315l188 -361h-204zM102 0v217h193v950h-193v217h668v-217h-192v-950h192v-217h-668z" />
+<glyph unicode="&#xcd;" horiz-adv-x="872" d="M102 0v217h193v950h-193v217h668v-217h-192v-950h192v-217h-668zM270 1544l189 361h315l-299 -361h-205z" />
+<glyph unicode="&#xce;" horiz-adv-x="872" d="M78 1544l235 361h244l236 -361h-211l-146 174l-149 -174h-209zM102 0v217h193v950h-193v217h668v-217h-192v-950h192v-217h-668z" />
+<glyph unicode="&#xcf;" horiz-adv-x="872" d="M72 1671q0 70 31.5 100.5t109.5 30.5t111.5 -29.5t33.5 -101.5q0 -73 -35.5 -102t-109.5 -29q-82 0 -111.5 34t-29.5 97zM102 0v217h193v950h-193v217h668v-217h-192v-950h192v-217h-668zM516 1671q0 70 31.5 100.5t109.5 30.5t112 -29.5t34 -101.5q0 -73 -36 -102 t-110 -29q-82 0 -111.5 34t-29.5 97z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1399" d="M2 580v225h148v579h434q263 0 416.5 -70.5t228 -222.5t74.5 -399q0 -250 -74.5 -402t-224.5 -221t-418 -69h-436v580h-148zM432 258h127q184 0 278 40t134.5 130t40.5 266t-39 264.5t-132 128t-282 39.5h-127v-321h322v-225h-322v-322z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1411" d="M150 0v1384h366l469 -933v933h277v-1384h-332l-504 989v-989h-276zM285 1526q5 155 73 236t189 81q61 0 104 -22.5t77 -48t62.5 -48t61.5 -22.5q35 0 51.5 35t16.5 92h182q-10 -165 -75.5 -243.5t-188.5 -78.5q-66 0 -109 22.5t-75.5 50.5t-59.5 50.5t-60 22.5 q-67 0 -67 -127h-182z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1364" d="M86 692q0 344 144.5 532.5t451.5 188.5q309 0 452.5 -188.5t143.5 -532.5q0 -361 -152.5 -541t-443.5 -180q-307 0 -451.5 189.5t-144.5 531.5zM371 1905h315l188 -361h-204zM377 692q0 -246 70.5 -358.5t234.5 -112.5q166 0 235.5 112.5t69.5 358.5t-69.5 358.5 t-235.5 112.5t-235.5 -112.5t-69.5 -358.5z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1364" d="M86 692q0 344 144.5 532.5t451.5 188.5q309 0 452.5 -188.5t143.5 -532.5q0 -361 -152.5 -541t-443.5 -180q-307 0 -451.5 189.5t-144.5 531.5zM377 692q0 -246 70.5 -358.5t234.5 -112.5q166 0 235.5 112.5t69.5 358.5t-69.5 358.5t-235.5 112.5t-235.5 -112.5 t-69.5 -358.5zM530 1544l189 361h315l-299 -361h-205z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1364" d="M86 692q0 344 144.5 532.5t451.5 188.5q309 0 452.5 -188.5t143.5 -532.5q0 -361 -152.5 -541t-443.5 -180q-307 0 -451.5 189.5t-144.5 531.5zM334 1544l235 361h244l236 -361h-211l-146 174l-149 -174h-209zM377 692q0 -246 70.5 -358.5t234.5 -112.5 q166 0 235.5 112.5t69.5 358.5t-69.5 358.5t-235.5 112.5t-235.5 -112.5t-69.5 -358.5z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1364" d="M86 692q0 344 144.5 532.5t451.5 188.5q309 0 452.5 -188.5t143.5 -532.5q0 -361 -152.5 -541t-443.5 -180q-307 0 -451.5 189.5t-144.5 531.5zM283 1567q5 155 73 236t189 81q61 0 104 -22.5t77 -48t62.5 -48t61.5 -22.5q35 0 51.5 35t16.5 92h182 q-10 -165 -75.5 -243.5t-188.5 -78.5q-66 0 -109 22.5t-75.5 50.5t-59.5 50.5t-60 22.5q-67 0 -67 -127h-182zM377 692q0 -246 70.5 -358.5t234.5 -112.5q166 0 235.5 112.5t69.5 358.5t-69.5 358.5t-235.5 112.5t-235.5 -112.5t-69.5 -358.5z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1364" d="M86 692q0 344 144.5 532.5t451.5 188.5q309 0 452.5 -188.5t143.5 -532.5q0 -361 -152.5 -541t-443.5 -180q-307 0 -451.5 189.5t-144.5 531.5zM332 1671q0 70 31.5 100.5t109.5 30.5t111.5 -29.5t33.5 -101.5q0 -73 -35.5 -102t-109.5 -29q-82 0 -111.5 34t-29.5 97z M377 692q0 -246 70.5 -358.5t234.5 -112.5q166 0 235.5 112.5t69.5 358.5t-69.5 358.5t-235.5 112.5t-235.5 -112.5t-69.5 -358.5zM776 1671q0 70 31.5 100.5t109.5 30.5t112 -29.5t34 -101.5q0 -73 -36 -102t-110 -29q-82 0 -111.5 34t-29.5 97z" />
+<glyph unicode="&#xd7;" horiz-adv-x="1427" d="M129 145l438 437l-438 436l145 145l439 -436l438 436l145 -145l-438 -436l438 -437l-145 -145l-438 438l-439 -438z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1364" d="M27 -115l194 285q-135 180 -135 522q0 344 144.5 532.5t451.5 188.5q201 0 334 -84l108 160h199l-184 -270q139 -182 139 -527q0 -361 -152.5 -541t-443.5 -180q-207 0 -338 86l-117 -172h-200zM377 692q0 -157 26 -256l461 674q-69 53 -182 53q-166 0 -235.5 -112.5 t-69.5 -358.5zM496 276q67 -55 186 -55q166 0 235.5 112.5t69.5 358.5q0 158 -29 262z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1438" d="M150 578v806h282v-786q0 -141 27 -222t86 -119t172 -38q161 0 225 85.5t64 289.5v790h282v-806q0 -325 -132 -467t-437 -142q-302 0 -435.5 140.5t-133.5 468.5zM392 1905h315l188 -361h-204z" />
+<glyph unicode="&#xda;" horiz-adv-x="1438" d="M150 578v806h282v-786q0 -141 27 -222t86 -119t172 -38q161 0 225 85.5t64 289.5v790h282v-806q0 -325 -132 -467t-437 -142q-302 0 -435.5 140.5t-133.5 468.5zM551 1544l189 361h315l-299 -361h-205z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1438" d="M150 578v806h282v-786q0 -141 27 -222t86 -119t172 -38q161 0 225 85.5t64 289.5v790h282v-806q0 -325 -132 -467t-437 -142q-302 0 -435.5 140.5t-133.5 468.5zM365 1544l235 361h244l236 -361h-211l-146 174l-149 -174h-209z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1438" d="M150 578v806h282v-786q0 -141 27 -222t86 -119t172 -38q161 0 225 85.5t64 289.5v790h282v-806q0 -325 -132 -467t-437 -142q-302 0 -435.5 140.5t-133.5 468.5zM353 1671q0 70 31.5 100.5t109.5 30.5t111.5 -29.5t33.5 -101.5q0 -73 -35.5 -102t-109.5 -29 q-82 0 -111.5 34t-29.5 97zM797 1671q0 70 31.5 100.5t109.5 30.5t112 -29.5t34 -101.5q0 -73 -36 -102t-110 -29q-82 0 -111.5 34t-29.5 97z" />
+<glyph unicode="&#xdd;" horiz-adv-x="1188" d="M18 1384h308l270 -579l276 579h297l-434 -856v-528h-284v522zM424 1544l189 361h315l-299 -361h-205z" />
+<glyph unicode="&#xde;" horiz-adv-x="1239" d="M150 0v1384h282v-200h238q235 0 363 -109.5t128 -355.5q0 -250 -117.5 -371t-381.5 -121h-230v-227h-282zM432 473h115q155 0 214 21.5t84 71.5t25 151q0 81 -30 129.5t-91 70t-176 21.5h-141v-465z" />
+<glyph unicode="&#xdf;" d="M145 0v1020q0 252 117.5 376t355.5 124q203 0 313.5 -91t110.5 -255q0 -123 -53 -196t-129 -106q122 -27 193 -136.5t71 -262.5q0 -250 -93 -377t-312 -127q-47 0 -103.5 10.5t-89.5 20.5v227q86 -30 154 -30q88 0 131 63.5t43 220.5q0 108 -28.5 160.5t-92.5 74 t-190 21.5v224q93 0 143 18.5t72 57t22 118.5q0 70 -43 106.5t-123 36.5q-104 0 -157.5 -59t-53.5 -211v-1028h-258z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1139" d="M84 295q0 112 45.5 185t135 114.5t257.5 58.5l221 21v47q0 88 -53 120.5t-155 32.5q-84 0 -144.5 -28t-89.5 -80l-201 129q53 89 166 136.5t273 47.5q245 0 353.5 -85.5t108.5 -280.5v-713h-237v109q-153 -140 -328 -140q-174 0 -263 91.5t-89 234.5zM207 1569h315 l188 -361h-204zM350 299q0 -72 40 -98.5t106 -26.5q47 0 114.5 29.5t132.5 83.5v200l-131 -12q-139 -12 -200.5 -53t-61.5 -123z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1139" d="M84 295q0 112 45.5 185t135 114.5t257.5 58.5l221 21v47q0 88 -53 120.5t-155 32.5q-84 0 -144.5 -28t-89.5 -80l-201 129q53 89 166 136.5t273 47.5q245 0 353.5 -85.5t108.5 -280.5v-713h-237v109q-153 -140 -328 -140q-174 0 -263 91.5t-89 234.5zM350 299 q0 -72 40 -98.5t106 -26.5q47 0 114.5 29.5t132.5 83.5v200l-131 -12q-139 -12 -200.5 -53t-61.5 -123zM366 1208l189 361h315l-299 -361h-205z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1139" d="M84 295q0 112 45.5 185t135 114.5t257.5 58.5l221 21v47q0 88 -53 120.5t-155 32.5q-84 0 -144.5 -28t-89.5 -80l-201 129q53 89 166 136.5t273 47.5q245 0 353.5 -85.5t108.5 -280.5v-713h-237v109q-153 -140 -328 -140q-174 0 -263 91.5t-89 234.5zM195 1208l235 361 h244l236 -361h-211l-146 174l-149 -174h-209zM350 299q0 -72 40 -98.5t106 -26.5q47 0 114.5 29.5t132.5 83.5v200l-131 -12q-139 -12 -200.5 -53t-61.5 -123z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1139" d="M84 295q0 112 45.5 185t135 114.5t257.5 58.5l221 21v47q0 88 -53 120.5t-155 32.5q-84 0 -144.5 -28t-89.5 -80l-201 129q53 89 166 136.5t273 47.5q245 0 353.5 -85.5t108.5 -280.5v-713h-237v109q-153 -140 -328 -140q-174 0 -263 91.5t-89 234.5zM150 1231 q5 155 73 236t189 81q61 0 104 -22.5t77 -48t62.5 -48t61.5 -22.5q35 0 51.5 35t16.5 92h182q-10 -165 -75.5 -243.5t-188.5 -78.5q-66 0 -109 22.5t-75.5 50.5t-59.5 50.5t-60 22.5q-67 0 -67 -127h-182zM350 299q0 -72 40 -98.5t106 -26.5q47 0 114.5 29.5t132.5 83.5v200 l-131 -12q-139 -12 -200.5 -53t-61.5 -123z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1139" d="M84 295q0 112 45.5 185t135 114.5t257.5 58.5l221 21v47q0 88 -53 120.5t-155 32.5q-84 0 -144.5 -28t-89.5 -80l-201 129q53 89 166 136.5t273 47.5q245 0 353.5 -85.5t108.5 -280.5v-713h-237v109q-153 -140 -328 -140q-174 0 -263 91.5t-89 234.5zM168 1335 q0 70 31.5 100.5t109.5 30.5t111.5 -29.5t33.5 -101.5q0 -73 -35.5 -102t-109.5 -29q-82 0 -111.5 34t-29.5 97zM350 299q0 -72 40 -98.5t106 -26.5q47 0 114.5 29.5t132.5 83.5v200l-131 -12q-139 -12 -200.5 -53t-61.5 -123zM612 1335q0 70 31.5 100.5t109.5 30.5 t112 -29.5t34 -101.5q0 -73 -36 -102t-110 -29q-82 0 -111.5 34t-29.5 97z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1139" d="M84 295q0 112 45.5 185t135 114.5t257.5 58.5l221 21v47q0 88 -53 120.5t-155 32.5q-84 0 -144.5 -28t-89.5 -80l-201 129q53 89 166 136.5t273 47.5q245 0 353.5 -85.5t108.5 -280.5v-713h-237v109q-153 -140 -328 -140q-174 0 -263 91.5t-89 234.5zM309 1378 q0 107 57.5 166.5t171.5 59.5q119 0 175.5 -60.5t56.5 -165.5q0 -110 -59.5 -167.5t-172.5 -57.5q-117 0 -173 60.5t-56 164.5zM350 299q0 -72 40 -98.5t106 -26.5q47 0 114.5 29.5t132.5 83.5v200l-131 -12q-139 -12 -200.5 -53t-61.5 -123zM452 1378q0 -90 86 -90 q88 0 88 90t-88 90q-86 0 -86 -90z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1786" d="M84 303q0 157 105.5 244t332.5 106l221 21v47q0 86 -52 119.5t-148 33.5q-109 0 -162 -32.5t-80 -75.5l-201 129q53 89 164.5 136.5t276.5 47.5q254 0 356 -123q121 123 350 123q220 0 335.5 -127.5t115.5 -367.5v-127h-697q7 -140 67 -201t196 -61q73 0 130.5 19 t100.5 73l193 -137q-64 -91 -162.5 -136t-257.5 -45q-299 0 -428 168q-97 -82 -196 -125t-212 -43q-170 0 -259 91.5t-89 242.5zM350 299q0 -125 139 -125q64 0 140 25.5t141 76.5q-13 40 -20 113t-7 98l-131 -12q-139 -12 -200.5 -53t-61.5 -123zM1008 635h434 q0 239 -211 239q-113 0 -160 -64.5t-63 -174.5z" />
+<glyph unicode="&#xe7;" horiz-adv-x="1059" d="M92 518q0 265 126 413t378 148q135 0 240.5 -44t160.5 -136l-192 -137q-35 47 -82 69.5t-121 22.5q-132 0 -188 -81t-56 -251t57.5 -248.5t196.5 -78.5q60 0 110 17t95 75l195 -137q-105 -153 -318 -177q56 -16 93.5 -62t37.5 -116q0 -190 -286 -190q-172 0 -265 45 l70 145q106 -45 193 -45q53 0 74.5 11.5t21.5 35.5q0 63 -180 72l55 106q-416 56 -416 543z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1143" d="M92 516q0 563 504 563q224 0 341.5 -126.5t117.5 -368.5v-127h-697q7 -140 68 -201t192 -61q76 0 133.5 19t100.5 73l192 -137q-63 -91 -163.5 -136t-274.5 -45q-259 0 -386.5 136t-127.5 411zM248 1569h315l188 -361h-204zM365 635h434q0 239 -209 239q-69 0 -113 -23.5 t-70.5 -70t-41.5 -145.5z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1143" d="M92 516q0 563 504 563q224 0 341.5 -126.5t117.5 -368.5v-127h-697q7 -140 68 -201t192 -61q76 0 133.5 19t100.5 73l192 -137q-63 -91 -163.5 -136t-274.5 -45q-259 0 -386.5 136t-127.5 411zM365 635h434q0 239 -209 239q-69 0 -113 -23.5t-70.5 -70t-41.5 -145.5z M407 1208l189 361h315l-299 -361h-205z" />
+<glyph unicode="&#xea;" horiz-adv-x="1143" d="M92 516q0 563 504 563q224 0 341.5 -126.5t117.5 -368.5v-127h-697q7 -140 68 -201t192 -61q76 0 133.5 19t100.5 73l192 -137q-63 -91 -163.5 -136t-274.5 -45q-259 0 -386.5 136t-127.5 411zM232 1208l235 361h244l236 -361h-211l-146 174l-149 -174h-209zM365 635h434 q0 239 -209 239q-69 0 -113 -23.5t-70.5 -70t-41.5 -145.5z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1143" d="M92 516q0 563 504 563q224 0 341.5 -126.5t117.5 -368.5v-127h-697q7 -140 68 -201t192 -61q76 0 133.5 19t100.5 73l192 -137q-63 -91 -163.5 -136t-274.5 -45q-259 0 -386.5 136t-127.5 411zM220 1335q0 70 31.5 100.5t109.5 30.5t111.5 -29.5t33.5 -101.5 q0 -73 -35.5 -102t-109.5 -29q-82 0 -111.5 34t-29.5 97zM365 635h434q0 239 -209 239q-69 0 -113 -23.5t-70.5 -70t-41.5 -145.5zM664 1335q0 70 31.5 100.5t109.5 30.5t112 -29.5t34 -101.5q0 -73 -36 -102t-110 -29q-82 0 -111.5 34t-29.5 97z" />
+<glyph unicode="&#xec;" horiz-adv-x="549" d="M-53 1569h315l188 -361h-204zM145 0v1049h258v-1049h-258z" />
+<glyph unicode="&#xed;" horiz-adv-x="549" d="M127 1208l189 361h315l-299 -361h-205zM145 0v1049h258v-1049h-258z" />
+<glyph unicode="&#xee;" horiz-adv-x="549" d="M-80 1208l235 361h244l236 -361h-211l-146 174l-149 -174h-209zM145 0v1049h258v-1049h-258z" />
+<glyph unicode="&#xef;" horiz-adv-x="549" d="M-92 1335q0 70 31.5 100.5t109.5 30.5t111.5 -29.5t33.5 -101.5q0 -73 -35.5 -102t-109.5 -29q-82 0 -111.5 34t-29.5 97zM145 0v1049h258v-1049h-258zM352 1335q0 70 31.5 100.5t109.5 30.5t112 -29.5t34 -101.5q0 -73 -36 -102t-110 -29q-82 0 -111.5 34t-29.5 97z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1190" d="M92 520q0 156 55 278t158 186.5t238 64.5q41 0 94 -18.5t94 -49.5q-15 39 -65.5 122t-90.5 130l-225 -94l-67 149l180 76q-34 48 -184 156h274q49 -29 98 -78l187 78l69 -148l-131 -55q142 -147 232 -360t90 -435q0 -267 -126.5 -410t-375.5 -143q-247 0 -375.5 138 t-128.5 413zM358 520q0 -158 54.5 -241.5t183.5 -83.5t182 83.5t53 243.5q0 303 -237 303q-116 0 -176 -77.5t-60 -227.5z" />
+<glyph unicode="&#xf1;" d="M145 0v1049h258v-136q82 82 175 124t182 42q161 0 240 -88t79 -291v-700h-258v578q0 164 -29.5 219t-111.5 55q-115 0 -277 -152v-700h-258zM197 1231q5 155 73 236t189 81q61 0 104 -22.5t77 -48t62.5 -48t61.5 -22.5q35 0 51.5 35t16.5 92h182q-10 -165 -75.5 -243.5 t-188.5 -78.5q-66 0 -109 22.5t-75.5 50.5t-59.5 50.5t-60 22.5q-67 0 -67 -127h-182z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1190" d="M92 522q0 266 121 411.5t383 145.5q260 0 381 -145.5t121 -411.5q0 -262 -121 -407.5t-381 -145.5q-504 0 -504 553zM269 1569h315l188 -361h-204zM358 522q0 -168 55.5 -247.5t182.5 -79.5q125 0 180 78.5t55 248.5q0 173 -54 252.5t-181 79.5q-126 0 -182 -81.5 t-56 -250.5z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1190" d="M92 522q0 266 121 411.5t383 145.5q260 0 381 -145.5t121 -411.5q0 -262 -121 -407.5t-381 -145.5q-504 0 -504 553zM358 522q0 -168 55.5 -247.5t182.5 -79.5q125 0 180 78.5t55 248.5q0 173 -54 252.5t-181 79.5q-126 0 -182 -81.5t-56 -250.5zM428 1208l189 361h315 l-299 -361h-205z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1190" d="M92 522q0 266 121 411.5t383 145.5q260 0 381 -145.5t121 -411.5q0 -262 -121 -407.5t-381 -145.5q-504 0 -504 553zM242 1208l235 361h244l236 -361h-211l-146 174l-149 -174h-209zM358 522q0 -168 55.5 -247.5t182.5 -79.5q125 0 180 78.5t55 248.5q0 173 -54 252.5 t-181 79.5q-126 0 -182 -81.5t-56 -250.5z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1190" d="M92 522q0 266 121 411.5t383 145.5q260 0 381 -145.5t121 -411.5q0 -262 -121 -407.5t-381 -145.5q-504 0 -504 553zM191 1231q5 155 73 236t189 81q61 0 104 -22.5t77 -48t62.5 -48t61.5 -22.5q35 0 51.5 35t16.5 92h182q-10 -165 -75.5 -243.5t-188.5 -78.5 q-66 0 -109 22.5t-75.5 50.5t-59.5 50.5t-60 22.5q-67 0 -67 -127h-182zM358 522q0 -168 55.5 -247.5t182.5 -79.5q125 0 180 78.5t55 248.5q0 173 -54 252.5t-181 79.5q-126 0 -182 -81.5t-56 -250.5z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1190" d="M92 522q0 266 121 411.5t383 145.5q260 0 381 -145.5t121 -411.5q0 -262 -121 -407.5t-381 -145.5q-504 0 -504 553zM230 1335q0 70 31.5 100.5t109.5 30.5t111.5 -29.5t33.5 -101.5q0 -73 -35.5 -102t-109.5 -29q-82 0 -111.5 34t-29.5 97zM358 522q0 -168 55.5 -247.5 t182.5 -79.5q125 0 180 78.5t55 248.5q0 173 -54 252.5t-181 79.5q-126 0 -182 -81.5t-56 -250.5zM674 1335q0 70 31.5 100.5t109.5 30.5t112 -29.5t34 -101.5q0 -73 -36 -102t-110 -29q-82 0 -111.5 34t-29.5 97z" />
+<glyph unicode="&#xf7;" horiz-adv-x="1427" d="M133 479v205h1161v-205h-1161zM592 2v252h246v-252h-246zM592 911v252h246v-252h-246z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1190" d="M92 522q0 266 121 411.5t383 145.5q141 0 246 -47l61 92h182l-118 -180q131 -145 131 -422q0 -262 -121 -407.5t-381 -145.5q-144 0 -248 45l-59 -90h-183l117 176q-131 141 -131 422zM358 522q0 -103 23 -184l328 493q-45 23 -113 23q-126 0 -182 -81.5t-56 -250.5z M483 215q47 -20 113 -20q125 0 180 78.5t55 248.5q0 108 -22 185z" />
+<glyph unicode="&#xf9;" d="M137 348v701h258v-578q0 -111 13 -170t42.5 -81.5t86.5 -22.5q115 0 276 151v701h258v-1049h-258v135q-68 -73 -166.5 -119.5t-189.5 -46.5q-178 0 -249 98.5t-71 280.5zM281 1569h315l188 -361h-204z" />
+<glyph unicode="&#xfa;" d="M137 348v701h258v-578q0 -111 13 -170t42.5 -81.5t86.5 -22.5q115 0 276 151v701h258v-1049h-258v135q-68 -73 -166.5 -119.5t-189.5 -46.5q-178 0 -249 98.5t-71 280.5zM440 1208l189 361h315l-299 -361h-205z" />
+<glyph unicode="&#xfb;" d="M137 348v701h258v-578q0 -111 13 -170t42.5 -81.5t86.5 -22.5q115 0 276 151v701h258v-1049h-258v135q-68 -73 -166.5 -119.5t-189.5 -46.5q-178 0 -249 98.5t-71 280.5zM244 1208l235 361h244l236 -361h-211l-146 174l-149 -174h-209z" />
+<glyph unicode="&#xfc;" d="M137 348v701h258v-578q0 -111 13 -170t42.5 -81.5t86.5 -22.5q115 0 276 151v701h258v-1049h-258v135q-68 -73 -166.5 -119.5t-189.5 -46.5q-178 0 -249 98.5t-71 280.5zM232 1335q0 70 31.5 100.5t109.5 30.5t111.5 -29.5t33.5 -101.5q0 -73 -35.5 -102t-109.5 -29 q-82 0 -111.5 34t-29.5 97zM676 1335q0 70 31.5 100.5t109.5 30.5t112 -29.5t34 -101.5q0 -73 -36 -102t-110 -29q-82 0 -111.5 34t-29.5 97z" />
+<glyph unicode="&#xfd;" horiz-adv-x="1085" d="M-20 -365l55 224q84 -29 151 -29q58 0 102 35t91 145l27 62l-379 977h268l248 -670l254 670h262l-451 -1121q-55 -135 -107 -200t-121.5 -94t-174.5 -29q-114 0 -225 30zM368 1208l189 361h315l-299 -361h-205z" />
+<glyph unicode="&#xfe;" d="M145 -395v1884h258v-533q127 123 316 123q198 0 301.5 -141.5t103.5 -405.5q0 -169 -51 -298t-146 -197t-227 -68q-174 0 -297 109v-473h-258zM403 291q41 -37 101.5 -65.5t124.5 -28.5q106 0 167.5 90.5t61.5 240.5q0 153 -53 238.5t-158 85.5q-63 0 -129.5 -29.5 t-114.5 -72.5v-459z" />
+<glyph unicode="&#xff;" horiz-adv-x="1085" d="M-20 -365l55 224q84 -29 151 -29q58 0 102 35t91 145l27 62l-379 977h268l248 -670l254 670h262l-451 -1121q-55 -135 -107 -200t-121.5 -94t-174.5 -29q-114 0 -225 30zM179 1335q0 70 31.5 100.5t109.5 30.5t111.5 -29.5t33.5 -101.5q0 -73 -35.5 -102t-109.5 -29 q-82 0 -111.5 34t-29.5 97zM623 1335q0 70 31.5 100.5t109.5 30.5t112 -29.5t34 -101.5q0 -73 -36 -102t-110 -29q-82 0 -111.5 34t-29.5 97z" />
+<glyph unicode="&#x152;" horiz-adv-x="1919" d="M96 692q0 344 151.5 532.5t459.5 188.5q121 0 247 -29h865v-249h-568v-301h467v-250h-467v-326h568v-258h-861q-106 -29 -251 -29q-312 0 -461.5 189.5t-149.5 531.5zM387 692q0 -246 78 -358.5t264 -112.5q78 0 130 14.5t108 49.5v813q-100 65 -238 65q-182 0 -262 -110 t-80 -361z" />
+<glyph unicode="&#x153;" horiz-adv-x="1874" d="M92 522q0 269 121 413t373 144q244 0 377 -149q57 63 144 106t230 43q219 0 334 -128.5t115 -366.5v-127h-696q6 -140 66.5 -201t193.5 -61q73 0 131.5 19t101.5 73l193 -137q-64 -91 -162 -136t-260 -45q-264 0 -391 152q-139 -152 -367 -152q-264 0 -384 146.5 t-120 406.5zM358 522q0 -168 55.5 -247.5t182.5 -79.5q117 0 176 74.5t59 252.5q0 184 -58 258t-177 74q-126 0 -182 -81.5t-56 -250.5zM1096 635h434q0 239 -209 239q-68 0 -113 -23.5t-71 -70.5t-41 -145z" />
+<glyph unicode="&#x178;" horiz-adv-x="1188" d="M18 1384h308l270 -579l276 579h297l-434 -856v-528h-284v522zM226 1671q0 70 31.5 100.5t109.5 30.5t111.5 -29.5t33.5 -101.5q0 -73 -35.5 -102t-109.5 -29q-82 0 -111.5 34t-29.5 97zM670 1671q0 70 31.5 100.5t109.5 30.5t112 -29.5t34 -101.5q0 -73 -36 -102 t-110 -29q-82 0 -111.5 34t-29.5 97z" />
+<glyph unicode="&#x2c6;" horiz-adv-x="1044" d="M164 1208l235 361h244l236 -361h-211l-146 174l-149 -174h-209z" />
+<glyph unicode="&#x2dc;" horiz-adv-x="1044" d="M113 1231q5 155 73 236t189 81q61 0 104 -22.5t77 -48t62.5 -48t61.5 -22.5q35 0 51.5 35t16.5 92h182q-10 -165 -75.5 -243.5t-188.5 -78.5q-66 0 -109 22.5t-75.5 50.5t-59.5 50.5t-60 22.5q-67 0 -67 -127h-182z" />
+<glyph unicode="&#x2000;" horiz-adv-x="971" />
+<glyph unicode="&#x2001;" horiz-adv-x="1942" />
+<glyph unicode="&#x2002;" horiz-adv-x="971" />
+<glyph unicode="&#x2003;" horiz-adv-x="1942" />
+<glyph unicode="&#x2004;" horiz-adv-x="647" />
+<glyph unicode="&#x2005;" horiz-adv-x="485" />
+<glyph unicode="&#x2006;" horiz-adv-x="323" />
+<glyph unicode="&#x2007;" horiz-adv-x="323" />
+<glyph unicode="&#x2008;" horiz-adv-x="242" />
+<glyph unicode="&#x2009;" horiz-adv-x="388" />
+<glyph unicode="&#x200a;" horiz-adv-x="107" />
+<glyph unicode="&#x2010;" horiz-adv-x="786" d="M82 399v254h623v-254h-623z" />
+<glyph unicode="&#x2011;" horiz-adv-x="786" d="M82 399v254h623v-254h-623z" />
+<glyph unicode="&#x2012;" horiz-adv-x="786" d="M82 399v254h623v-254h-623z" />
+<glyph unicode="&#x2013;" horiz-adv-x="1044" d="M31 424v205h983v-205h-983z" />
+<glyph unicode="&#x2014;" horiz-adv-x="2068" d="M31 424v205h2007v-205h-2007z" />
+<glyph unicode="&#x2018;" horiz-adv-x="584" d="M129 967q0 123 42 234.5t91 182.5h193q-62 -86 -91.5 -164.5t-33.5 -117.5q65 -4 95 -42t30 -114q0 -74 -35 -117t-131 -43q-160 0 -160 181z" />
+<glyph unicode="&#x2019;" horiz-adv-x="584" d="M129 815q61 86 91 165t34 118q-66 4 -95.5 42t-29.5 113q0 74 35 117t131 43q160 0 160 -180q0 -123 -42 -234.5t-91 -183.5h-193z" />
+<glyph unicode="&#x201a;" horiz-adv-x="584" d="M129 145q0 74 35 117t131 43q160 0 160 -180q0 -123 -42 -234.5t-91 -183.5h-193q61 86 91 165t34 118q-66 4 -95.5 42t-29.5 113z" />
+<glyph unicode="&#x201c;" horiz-adv-x="1047" d="M129 967q0 123 42 234.5t91 182.5h193q-62 -86 -91.5 -164.5t-33.5 -117.5q65 -4 95 -42t30 -114q0 -74 -35 -117t-131 -43q-160 0 -160 181zM592 967q0 123 42 234.5t91 182.5h193q-62 -86 -91.5 -164.5t-33.5 -117.5q65 -4 95 -42t30 -114q0 -74 -35 -117t-131 -43 q-160 0 -160 181z" />
+<glyph unicode="&#x201d;" horiz-adv-x="1047" d="M129 815q61 86 91 165t34 118q-66 4 -95.5 42t-29.5 113q0 74 35 117t131 43q160 0 160 -180q0 -123 -42 -234.5t-91 -183.5h-193zM592 815q61 86 91 165t34 118q-66 4 -95.5 42t-29.5 113q0 74 35 117t131 43q160 0 160 -180q0 -123 -42 -234.5t-92 -183.5h-192z" />
+<glyph unicode="&#x201e;" horiz-adv-x="1047" d="M129 145q0 74 35 117t131 43q160 0 160 -180q0 -123 -42 -234.5t-91 -183.5h-193q61 86 91 165t34 118q-66 4 -95.5 42t-29.5 113zM592 145q0 74 35 117t131 43q160 0 160 -180q0 -123 -42 -234.5t-92 -183.5h-192q61 86 91 165t34 118q-66 4 -95.5 42t-29.5 113z" />
+<glyph unicode="&#x2022;" horiz-adv-x="760" d="M92 745q0 78 38.5 145t106.5 105.5t144 38.5q115 0 201 -83t86 -206q0 -118 -84 -202t-203 -84q-76 0 -143 37.5t-106.5 104.5t-39.5 144z" />
+<glyph unicode="&#x2026;" horiz-adv-x="2068" d="M188 145q0 82 36 121t126 39q92 0 128 -38t36 -122q0 -86 -39 -122.5t-125 -36.5q-94 0 -128 41t-34 118zM870 145q0 82 36 121t126 39q92 0 128 -38t36 -122q0 -86 -39 -122.5t-125 -36.5q-94 0 -128 41t-34 118zM1552 145q0 82 36 121t126 39q92 0 128 -38t36 -122 q0 -86 -39 -122.5t-125 -36.5q-94 0 -128 41t-34 118z" />
+<glyph unicode="&#x202f;" horiz-adv-x="388" />
+<glyph unicode="&#x2039;" horiz-adv-x="862" d="M61 524l420 471h299l-420 -471l420 -471h-299z" />
+<glyph unicode="&#x203a;" horiz-adv-x="862" d="M82 53l420 471l-420 471h299l420 -471l-420 -471h-299z" />
+<glyph unicode="&#x205f;" horiz-adv-x="485" />
+<glyph unicode="&#x20ac;" horiz-adv-x="1280" d="M20 444l39 191h58v119h-97l43 190h76q96 469 592 469q197 0 321 -68.5t189 -179.5l-201 -161q-53 78 -90.5 107.5t-85.5 44.5t-116 15q-132 0 -206.5 -55t-107.5 -172h522l-43 -190h-505v-119h487l-39 -191h-424q35 -127 110.5 -179t205.5 -52q92 0 162 40t143 146 l209 -149q-80 -118 -149 -174t-157 -80.5t-215 -24.5q-505 0 -602 473h-119z" />
+<glyph unicode="&#x2122;" horiz-adv-x="1692" d="M43 1208v176h639v-176h-219v-538h-199v538h-221zM836 670v714h215l149 -303l152 303h215v-714h-193v391l-117 -232h-110l-119 234v-393h-192z" />
+<glyph unicode="&#x25fc;" horiz-adv-x="1050" d="M0 0v1050h1050v-1050h-1050z" />
+<hkern u1="&#x28;" u2="j" k="-164" />
+<hkern u1="&#x2a;" u2="&#xc5;" k="123" />
+<hkern u1="&#x2a;" u2="&#xc4;" k="123" />
+<hkern u1="&#x2a;" u2="&#xc3;" k="123" />
+<hkern u1="&#x2a;" u2="&#xc2;" k="123" />
+<hkern u1="&#x2a;" u2="&#xc1;" k="123" />
+<hkern u1="&#x2a;" u2="&#xc0;" k="123" />
+<hkern u1="&#x2a;" u2="T" k="-92" />
+<hkern u1="&#x2a;" u2="J" k="174" />
+<hkern u1="&#x2a;" u2="A" k="123" />
+<hkern u1="A" u2="&#x3f;" k="102" />
+<hkern u1="A" u2="&#x2a;" k="123" />
+<hkern u1="F" u2="&#xef;" k="-61" />
+<hkern u1="F" u2="&#xee;" k="-20" />
+<hkern u1="K" u2="&#xef;" k="-10" />
+<hkern u1="K" u2="&#xee;" k="41" />
+<hkern u1="L" u2="&#xd8;" k="10" />
+<hkern u1="L" u2="&#x3f;" k="102" />
+<hkern u1="L" u2="&#x2a;" k="205" />
+<hkern u1="T" u2="&#xef;" k="-123" />
+<hkern u1="T" u2="&#xee;" k="-61" />
+<hkern u1="T" u2="&#xe4;" k="123" />
+<hkern u1="T" u2="&#xe3;" k="123" />
+<hkern u1="T" u2="&#xe2;" k="164" />
+<hkern u1="T" u2="&#x3f;" k="-82" />
+<hkern u1="T" u2="&#x2a;" k="-92" />
+<hkern u1="V" u2="&#xef;" k="-72" />
+<hkern u1="V" u2="&#xee;" k="-10" />
+<hkern u1="W" u2="&#xef;" k="-72" />
+<hkern u1="W" u2="&#xee;" k="-10" />
+<hkern u1="X" u2="&#xef;" k="-82" />
+<hkern u1="X" u2="&#xee;" k="-41" />
+<hkern u1="Y" u2="&#xef;" k="-102" />
+<hkern u1="Y" u2="&#xee;" k="-20" />
+<hkern u1="[" u2="j" k="-164" />
+<hkern u1="f" u2="&#xef;" k="-225" />
+<hkern u1="f" u2="&#xee;" k="-102" />
+<hkern u1="f" u2="&#xec;" k="-82" />
+<hkern u1="f" u2="&#x3f;" k="-123" />
+<hkern u1="f" u2="&#x2a;" k="-143" />
+<hkern u1="f" u2="&#x21;" k="-61" />
+<hkern u1="j" u2="&#xff;" k="-41" />
+<hkern u1="j" u2="&#xfd;" k="-41" />
+<hkern u1="j" u2="y" k="-41" />
+<hkern u1="&#x7b;" u2="j" k="-164" />
+<hkern u1="&#xa1;" u2="&#x178;" k="102" />
+<hkern u1="&#xa1;" u2="&#xdd;" k="102" />
+<hkern u1="&#xa1;" u2="Y" k="102" />
+<hkern u1="&#xa1;" u2="W" k="61" />
+<hkern u1="&#xa1;" u2="V" k="61" />
+<hkern u1="&#xbf;" u2="&#x178;" k="184" />
+<hkern u1="&#xbf;" u2="&#xdd;" k="184" />
+<hkern u1="&#xbf;" u2="Y" k="184" />
+<hkern u1="&#xbf;" u2="W" k="123" />
+<hkern u1="&#xbf;" u2="V" k="123" />
+<hkern u1="&#xbf;" u2="T" k="184" />
+<hkern u1="&#xc0;" u2="&#x3f;" k="102" />
+<hkern u1="&#xc0;" u2="&#x2a;" k="123" />
+<hkern u1="&#xc1;" u2="&#x3f;" k="102" />
+<hkern u1="&#xc1;" u2="&#x2a;" k="123" />
+<hkern u1="&#xc2;" u2="&#x3f;" k="102" />
+<hkern u1="&#xc2;" u2="&#x2a;" k="123" />
+<hkern u1="&#xc3;" u2="&#x3f;" k="102" />
+<hkern u1="&#xc3;" u2="&#x2a;" k="123" />
+<hkern u1="&#xc4;" u2="&#x3f;" k="102" />
+<hkern u1="&#xc4;" u2="&#x2a;" k="123" />
+<hkern u1="&#xc5;" u2="&#x3f;" k="102" />
+<hkern u1="&#xc5;" u2="&#x2a;" k="123" />
+<hkern u1="&#xdd;" u2="&#xef;" k="-102" />
+<hkern u1="&#xdd;" u2="&#xee;" k="-20" />
+<hkern u1="&#xde;" u2="X" k="123" />
+<hkern u1="&#xde;" u2="W" k="31" />
+<hkern u1="&#xde;" u2="V" k="31" />
+<hkern u1="&#xde;" u2="T" k="82" />
+<hkern u1="&#x178;" u2="&#xef;" k="-102" />
+<hkern u1="&#x178;" u2="&#xee;" k="-20" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="T" k="164" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="V" k="82" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="W" k="61" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="Y,Yacute,Ydieresis" k="113" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quotedbl,quotesingle" k="123" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="-41" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="colon,semicolon" k="-41" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="41" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="t" k="31" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="z" k="-31" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="trademark" k="164" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quoteleft,quotedblleft" k="184" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quoteright,quotedblright" k="164" />
+<hkern g1="B" g2="J" k="61" />
+<hkern g1="B" g2="T" k="41" />
+<hkern g1="B" g2="V" k="41" />
+<hkern g1="B" g2="W" k="41" />
+<hkern g1="B" g2="Y,Yacute,Ydieresis" k="51" />
+<hkern g1="C,Ccedilla" g2="J" k="20" />
+<hkern g1="C,Ccedilla" g2="V" k="31" />
+<hkern g1="C,Ccedilla" g2="W" k="31" />
+<hkern g1="C,Ccedilla" g2="X" k="31" />
+<hkern g1="C,Ccedilla" g2="Y,Yacute,Ydieresis" k="41" />
+<hkern g1="F" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="102" />
+<hkern g1="F" g2="J" k="246" />
+<hkern g1="F" g2="X" k="41" />
+<hkern g1="F" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="231" />
+<hkern g1="F" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20" />
+<hkern g1="F" g2="t" k="20" />
+<hkern g1="F" g2="z" k="61" />
+<hkern g1="F" g2="S" k="20" />
+<hkern g1="F" g2="Z" k="41" />
+<hkern g1="F" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="41" />
+<hkern g1="F" g2="i,j,igrave,iacute,icircumflex,idieresis" k="41" />
+<hkern g1="F" g2="m,n,p,r,ntilde" k="72" />
+<hkern g1="F" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="61" />
+<hkern g1="F" g2="s" k="82" />
+<hkern g1="F" g2="u,ugrave,uacute,ucircumflex,udieresis" k="41" />
+<hkern g1="F" g2="v" k="41" />
+<hkern g1="F" g2="w" k="41" />
+<hkern g1="F" g2="x" k="82" />
+<hkern g1="F" g2="y,yacute,ydieresis" k="61" />
+<hkern g1="G" g2="J" k="51" />
+<hkern g1="G" g2="T" k="41" />
+<hkern g1="G" g2="V" k="41" />
+<hkern g1="G" g2="W" k="41" />
+<hkern g1="G" g2="X" k="31" />
+<hkern g1="G" g2="Y,Yacute,Ydieresis" k="61" />
+<hkern g1="J" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="41" />
+<hkern g1="J" g2="J" k="61" />
+<hkern g1="J" g2="X" k="20" />
+<hkern g1="J" g2="AE" k="61" />
+<hkern g1="K" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="41" />
+<hkern g1="K" g2="T" k="31" />
+<hkern g1="K" g2="V" k="51" />
+<hkern g1="K" g2="W" k="51" />
+<hkern g1="K" g2="X" k="41" />
+<hkern g1="K" g2="Y,Yacute,Ydieresis" k="82" />
+<hkern g1="K" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="41" />
+<hkern g1="K" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="41" />
+<hkern g1="K" g2="t" k="61" />
+<hkern g1="K" g2="S" k="51" />
+<hkern g1="K" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="61" />
+<hkern g1="K" g2="i,j,igrave,iacute,icircumflex,idieresis" k="41" />
+<hkern g1="K" g2="m,n,p,r,ntilde" k="41" />
+<hkern g1="K" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="41" />
+<hkern g1="K" g2="s" k="61" />
+<hkern g1="K" g2="u,ugrave,uacute,ucircumflex,udieresis" k="61" />
+<hkern g1="K" g2="v" k="51" />
+<hkern g1="K" g2="w" k="51" />
+<hkern g1="K" g2="y,yacute,ydieresis" k="102" />
+<hkern g1="K" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="20" />
+<hkern g1="L" g2="T" k="143" />
+<hkern g1="L" g2="V" k="102" />
+<hkern g1="L" g2="W" k="102" />
+<hkern g1="L" g2="Y,Yacute,Ydieresis" k="143" />
+<hkern g1="L" g2="quotedbl,quotesingle" k="287" />
+<hkern g1="L" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="-20" />
+<hkern g1="L" g2="colon,semicolon" k="-41" />
+<hkern g1="L" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20" />
+<hkern g1="L" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="41" />
+<hkern g1="L" g2="t" k="31" />
+<hkern g1="L" g2="trademark" k="287" />
+<hkern g1="L" g2="quoteleft,quotedblleft" k="328" />
+<hkern g1="L" g2="quoteright,quotedblright" k="328" />
+<hkern g1="L" g2="S" k="10" />
+<hkern g1="L" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="20" />
+<hkern g1="L" g2="v" k="61" />
+<hkern g1="L" g2="w" k="61" />
+<hkern g1="L" g2="y,yacute,ydieresis" k="102" />
+<hkern g1="L" g2="copyright,registered" k="61" />
+<hkern g1="P,Thorn" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="102" />
+<hkern g1="P,Thorn" g2="J" k="164" />
+<hkern g1="P,Thorn" g2="T" k="20" />
+<hkern g1="P,Thorn" g2="V" k="-10" />
+<hkern g1="P,Thorn" g2="W" k="-10" />
+<hkern g1="P,Thorn" g2="X" k="20" />
+<hkern g1="P,Thorn" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="266" />
+<hkern g1="P,Thorn" g2="S" k="-20" />
+<hkern g1="P,Thorn" g2="Z" k="41" />
+<hkern g1="P,Thorn" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20" />
+<hkern g1="P,Thorn" g2="AE" k="82" />
+<hkern g1="P,Thorn" g2="I,Igrave,Iacute,Icircumflex,Idieresis" k="41" />
+<hkern g1="R" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="41" />
+<hkern g1="R" g2="T" k="20" />
+<hkern g1="R" g2="V" k="41" />
+<hkern g1="R" g2="W" k="41" />
+<hkern g1="R" g2="Y,Yacute,Ydieresis" k="41" />
+<hkern g1="S" g2="J" k="41" />
+<hkern g1="S" g2="T" k="41" />
+<hkern g1="S" g2="V" k="31" />
+<hkern g1="S" g2="W" k="31" />
+<hkern g1="S" g2="X" k="20" />
+<hkern g1="S" g2="Y,Yacute,Ydieresis" k="61" />
+<hkern g1="T" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="164" />
+<hkern g1="T" g2="J" k="143" />
+<hkern g1="T" g2="X" k="20" />
+<hkern g1="T" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="184" />
+<hkern g1="T" g2="colon,semicolon" k="82" />
+<hkern g1="T" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="51" />
+<hkern g1="T" g2="t" k="20" />
+<hkern g1="T" g2="z" k="156" />
+<hkern g1="T" g2="trademark" k="-82" />
+<hkern g1="T" g2="quoteleft,quotedblleft" k="-41" />
+<hkern g1="T" g2="quoteright,quotedblright" k="-41" />
+<hkern g1="T" g2="S" k="41" />
+<hkern g1="T" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="205" />
+<hkern g1="T" g2="i,j,igrave,iacute,icircumflex,idieresis" k="41" />
+<hkern g1="T" g2="m,n,p,r,ntilde" k="184" />
+<hkern g1="T" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="205" />
+<hkern g1="T" g2="s" k="205" />
+<hkern g1="T" g2="u,ugrave,uacute,ucircumflex,udieresis" k="143" />
+<hkern g1="T" g2="v" k="184" />
+<hkern g1="T" g2="w" k="184" />
+<hkern g1="T" g2="x" k="205" />
+<hkern g1="T" g2="y,yacute,ydieresis" k="143" />
+<hkern g1="T" g2="AE" k="184" />
+<hkern g1="T" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="20" />
+<hkern g1="T" g2="copyright,registered" k="102" />
+<hkern g1="T" g2="hyphen,endash,emdash" k="102" />
+<hkern g1="T" g2="guillemotleft,guilsinglleft" k="143" />
+<hkern g1="T" g2="guillemotright,guilsinglright" k="61" />
+<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="41" />
+<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="J" k="51" />
+<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="X" k="41" />
+<hkern g1="W" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="61" />
+<hkern g1="W" g2="J" k="143" />
+<hkern g1="W" g2="X" k="20" />
+<hkern g1="W" g2="Y,Yacute,Ydieresis" k="41" />
+<hkern g1="W" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="143" />
+<hkern g1="W" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20" />
+<hkern g1="W" g2="t" k="20" />
+<hkern g1="W" g2="z" k="41" />
+<hkern g1="W" g2="S" k="10" />
+<hkern g1="W" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="61" />
+<hkern g1="W" g2="m,n,p,r,ntilde" k="61" />
+<hkern g1="W" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="61" />
+<hkern g1="W" g2="s" k="61" />
+<hkern g1="W" g2="u,ugrave,uacute,ucircumflex,udieresis" k="61" />
+<hkern g1="W" g2="x" k="31" />
+<hkern g1="W" g2="y,yacute,ydieresis" k="20" />
+<hkern g1="W" g2="AE" k="41" />
+<hkern g1="W" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="20" />
+<hkern g1="W" g2="b,h,k,l,germandbls,thorn" k="31" />
+<hkern g1="X" g2="T" k="20" />
+<hkern g1="X" g2="V" k="20" />
+<hkern g1="X" g2="W" k="20" />
+<hkern g1="X" g2="Y,Yacute,Ydieresis" k="41" />
+<hkern g1="X" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="41" />
+<hkern g1="X" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="41" />
+<hkern g1="X" g2="S" k="20" />
+<hkern g1="X" g2="m,n,p,r,ntilde" k="31" />
+<hkern g1="X" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="61" />
+<hkern g1="X" g2="u,ugrave,uacute,ucircumflex,udieresis" k="82" />
+<hkern g1="X" g2="v" k="41" />
+<hkern g1="X" g2="w" k="41" />
+<hkern g1="X" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="31" />
+<hkern g1="X" g2="copyright,registered" k="61" />
+<hkern g1="Y,Yacute,Ydieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="113" />
+<hkern g1="Y,Yacute,Ydieresis" g2="J" k="184" />
+<hkern g1="Y,Yacute,Ydieresis" g2="V" k="41" />
+<hkern g1="Y,Yacute,Ydieresis" g2="W" k="41" />
+<hkern g1="Y,Yacute,Ydieresis" g2="X" k="41" />
+<hkern g1="Y,Yacute,Ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="205" />
+<hkern g1="Y,Yacute,Ydieresis" g2="colon,semicolon" k="41" />
+<hkern g1="Y,Yacute,Ydieresis" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="61" />
+<hkern g1="Y,Yacute,Ydieresis" g2="t" k="31" />
+<hkern g1="Y,Yacute,Ydieresis" g2="z" k="102" />
+<hkern g1="Y,Yacute,Ydieresis" g2="S" k="61" />
+<hkern g1="Y,Yacute,Ydieresis" g2="Z" k="20" />
+<hkern g1="Y,Yacute,Ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="123" />
+<hkern g1="Y,Yacute,Ydieresis" g2="i,j,igrave,iacute,icircumflex,idieresis" k="41" />
+<hkern g1="Y,Yacute,Ydieresis" g2="m,n,p,r,ntilde" k="133" />
+<hkern g1="Y,Yacute,Ydieresis" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="143" />
+<hkern g1="Y,Yacute,Ydieresis" g2="s" k="123" />
+<hkern g1="Y,Yacute,Ydieresis" g2="u,ugrave,uacute,ucircumflex,udieresis" k="102" />
+<hkern g1="Y,Yacute,Ydieresis" g2="v" k="82" />
+<hkern g1="Y,Yacute,Ydieresis" g2="w" k="82" />
+<hkern g1="Y,Yacute,Ydieresis" g2="x" k="82" />
+<hkern g1="Y,Yacute,Ydieresis" g2="AE" k="143" />
+<hkern g1="Y,Yacute,Ydieresis" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="20" />
+<hkern g1="Y,Yacute,Ydieresis" g2="copyright,registered" k="82" />
+<hkern g1="Y,Yacute,Ydieresis" g2="guillemotleft,guilsinglleft" k="102" />
+<hkern g1="Y,Yacute,Ydieresis" g2="b,h,k,l,germandbls,thorn" k="41" />
+<hkern g1="Z" g2="Y,Yacute,Ydieresis" k="31" />
+<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="t" k="20" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="20" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="quoteleft,quotedblleft" k="61" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="quoteright,quotedblright" k="61" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="v" k="20" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="x" k="31" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="y,yacute,ydieresis" k="10" />
+<hkern g1="h,m,n,ntilde" g2="v" k="10" />
+<hkern g1="h,m,n,ntilde" g2="w" k="10" />
+<hkern g1="f" g2="quotedbl,quotesingle" k="-123" />
+<hkern g1="f" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="41" />
+<hkern g1="f" g2="trademark" k="-164" />
+<hkern g1="f" g2="quoteleft,quotedblleft" k="-102" />
+<hkern g1="f" g2="quoteright,quotedblright" k="-123" />
+<hkern g1="f" g2="parenright,bracketright,braceright" k="-164" />
+<hkern g1="k" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="31" />
+<hkern g1="k" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="41" />
+<hkern g1="k" g2="s" k="20" />
+<hkern g1="k" g2="v" k="20" />
+<hkern g1="k" g2="w" k="20" />
+<hkern g1="r" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="266" />
+<hkern g1="r" g2="quoteleft,quotedblleft" k="-41" />
+<hkern g1="r" g2="quoteright,quotedblright" k="-41" />
+<hkern g1="r" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20" />
+<hkern g1="r" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="41" />
+<hkern g1="r" g2="s" k="20" />
+<hkern g1="r" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="-20" />
+<hkern g1="r" g2="guillemotright,guilsinglright" k="-41" />
+<hkern g1="s" g2="t" k="20" />
+<hkern g1="s" g2="v" k="41" />
+<hkern g1="s" g2="w" k="41" />
+<hkern g1="s" g2="x" k="20" />
+<hkern g1="t" g2="z" k="-31" />
+<hkern g1="t" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-20" />
+<hkern g1="t" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="20" />
+<hkern g1="t" g2="u,ugrave,uacute,ucircumflex,udieresis" k="10" />
+<hkern g1="t" g2="v" k="10" />
+<hkern g1="t" g2="w" k="10" />
+<hkern g1="t" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="10" />
+<hkern g1="w" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="61" />
+<hkern g1="w" g2="s" k="20" />
+<hkern g1="w" g2="y,yacute,ydieresis" k="10" />
+<hkern g1="x" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="31" />
+<hkern g1="y,yacute,ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="143" />
+<hkern g1="y,yacute,ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="31" />
+<hkern g1="y,yacute,ydieresis" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="41" />
+<hkern g1="y,yacute,ydieresis" g2="s" k="31" />
+<hkern g1="y,yacute,ydieresis" g2="v" k="20" />
+<hkern g1="y,yacute,ydieresis" g2="w" k="20" />
+<hkern g1="y,yacute,ydieresis" g2="x" k="31" />
+<hkern g1="y,yacute,ydieresis" g2="parenright,bracketright,braceright" k="61" />
+<hkern g1="z" g2="z" k="-31" />
+<hkern g1="colon,semicolon" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-41" />
+<hkern g1="colon,semicolon" g2="J" k="-41" />
+<hkern g1="colon,semicolon" g2="T" k="82" />
+<hkern g1="colon,semicolon" g2="Y,Yacute,Ydieresis" k="41" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-41" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="J" k="-41" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="T" k="184" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="V" k="143" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="W" k="143" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="Y,Yacute,Ydieresis" k="205" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="quoteleft,quotedblleft" k="174" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="quoteright,quotedblright" k="174" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="20" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="v" k="61" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="w" k="61" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="AE" k="-61" />
+<hkern g1="guillemotleft,guilsinglleft" g2="T" k="61" />
+<hkern g1="guillemotright,guilsinglright" g2="T" k="143" />
+<hkern g1="guillemotright,guilsinglright" g2="Y,Yacute,Ydieresis" k="102" />
+<hkern g1="hyphen,endash,emdash" g2="T" k="102" />
+<hkern g1="parenleft,bracketleft,braceleft" g2="y,yacute,ydieresis" k="-61" />
+<hkern g1="quoteleft,quotedblleft" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="184" />
+<hkern g1="quoteleft,quotedblleft" g2="J" k="246" />
+<hkern g1="quoteleft,quotedblleft" g2="T" k="-41" />
+<hkern g1="quoteleft,quotedblleft" g2="quoteleft,quotedblleft" k="113" />
+<hkern g1="quoteleft,quotedblleft" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="61" />
+<hkern g1="quoteleft,quotedblleft" g2="AE" k="184" />
+<hkern g1="quoteright,quotedblright" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="184" />
+<hkern g1="quoteright,quotedblright" g2="J" k="246" />
+<hkern g1="quoteright,quotedblright" g2="T" k="-41" />
+<hkern g1="quoteright,quotedblright" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="174" />
+<hkern g1="quoteright,quotedblright" g2="quoteright,quotedblright" k="113" />
+<hkern g1="quoteright,quotedblright" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="61" />
+<hkern g1="quoteright,quotedblright" g2="AE" k="184" />
+<hkern g1="quotedbl,quotesingle" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="123" />
+<hkern g1="quotedbl,quotesingle" g2="J" k="225" />
+<hkern g1="V" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="82" />
+<hkern g1="V" g2="J" k="143" />
+<hkern g1="V" g2="X" k="20" />
+<hkern g1="V" g2="Y,Yacute,Ydieresis" k="41" />
+<hkern g1="V" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="143" />
+<hkern g1="V" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20" />
+<hkern g1="V" g2="t" k="20" />
+<hkern g1="V" g2="z" k="41" />
+<hkern g1="V" g2="S" k="10" />
+<hkern g1="V" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="61" />
+<hkern g1="V" g2="m,n,p,r,ntilde" k="61" />
+<hkern g1="V" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="61" />
+<hkern g1="V" g2="s" k="61" />
+<hkern g1="V" g2="u,ugrave,uacute,ucircumflex,udieresis" k="61" />
+<hkern g1="V" g2="x" k="31" />
+<hkern g1="V" g2="y,yacute,ydieresis" k="20" />
+<hkern g1="V" g2="AE" k="41" />
+<hkern g1="V" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="20" />
+<hkern g1="V" g2="b,h,k,l,germandbls,thorn" k="31" />
+<hkern g1="v" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="61" />
+<hkern g1="v" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20" />
+<hkern g1="v" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="20" />
+<hkern g1="v" g2="s" k="20" />
+<hkern g1="v" g2="y,yacute,ydieresis" k="10" />
+</font>
+</defs></svg> \ No newline at end of file
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Bold-webfont.woff b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Bold-webfont.woff
new file mode 100755
index 00000000..184a945d
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Bold-webfont.woff
Binary files differ
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Light-webfont.eot b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Light-webfont.eot
new file mode 100755
index 00000000..0dc609d1
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Light-webfont.eot
Binary files differ
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Light-webfont.svg b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Light-webfont.svg
new file mode 100755
index 00000000..1d5d2ece
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Light-webfont.svg
@@ -0,0 +1,670 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="clear_sans_lightregular" horiz-adv-x="541" >
+<font-face units-per-em="2048" ascent="1489" descent="-559" />
+<missing-glyph horiz-adv-x="539" />
+<glyph unicode="&#xfb01;" horiz-adv-x="1110" d="M47 938v111h164v116q0 91 15 158t49.5 111t90 65t136.5 21q60 0 114.5 -14.5t90.5 -32.5l-43 -109q-14 8 -33.5 16t-41 14t-44 9.5t-43.5 3.5q-46 0 -77 -13t-50 -42t-27 -76t-8 -115v-112h244v-111h-244v-938h-129v938h-164zM772 1305q0 45 20 65.5t70 20.5 q51 0 71.5 -20t20.5 -66q0 -51 -21.5 -69.5t-70.5 -18.5q-51 0 -70.5 23t-19.5 65zM798 0v1049h129v-1049h-129z" />
+<glyph unicode="&#xfb02;" horiz-adv-x="1135" d="M47 938v111h164v116q0 91 15 158t49.5 111t90 65t136.5 21q60 0 114.5 -14.5t90.5 -32.5l-43 -109q-14 8 -33.5 16t-41 14t-44 9.5t-43.5 3.5q-46 0 -77 -13t-50 -42t-27 -76t-8 -115v-112h244v-111h-244v-938h-129v938h-164zM811 0v1489h129v-1489h-129z" />
+<glyph unicode="&#xfb03;" horiz-adv-x="1729" d="M47 938v111h164v116q0 91 15 158t49.5 111t90 65t136.5 21q60 0 114.5 -14.5t90.5 -32.5l-43 -109q-14 8 -33.5 16t-41 14t-44 9.5t-43.5 3.5q-46 0 -77 -13t-50 -42t-27 -76t-8 -115v-112h244v-111h-244v-938h-129v938h-164zM665 938v111h164v116q0 91 15 158t49.5 111 t90 65t136.5 21q60 0 114.5 -14.5t90.5 -32.5l-43 -109q-14 8 -33.5 16t-41 14t-44 9.5t-43.5 3.5q-46 0 -77 -13t-50 -42t-27 -76t-8 -115v-112h244v-111h-244v-938h-129v938h-164zM1391 1305q0 45 20 65.5t70 20.5q51 0 71.5 -20t20.5 -66q0 -51 -21.5 -69.5t-70.5 -18.5 q-51 0 -70.5 23t-19.5 65zM1417 0v1049h129v-1049h-129z" />
+<glyph unicode="&#xfb04;" horiz-adv-x="1753" d="M47 938v111h164v116q0 91 15 158t49.5 111t90 65t136.5 21q60 0 114.5 -14.5t90.5 -32.5l-43 -109q-14 8 -33.5 16t-41 14t-44 9.5t-43.5 3.5q-46 0 -77 -13t-50 -42t-27 -76t-8 -115v-112h244v-111h-244v-938h-129v938h-164zM665 938v111h164v116q0 91 15 158t49.5 111 t90 65t136.5 21q60 0 114.5 -14.5t90.5 -32.5l-43 -109q-14 8 -33.5 16t-41 14t-44 9.5t-43.5 3.5q-46 0 -77 -13t-50 -42t-27 -76t-8 -115v-112h244v-111h-244v-938h-129v938h-164zM1430 0v1489h129v-1489h-129z" />
+<glyph horiz-adv-x="0" />
+<glyph unicode="&#xd;" horiz-adv-x="539" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="0" />
+<glyph unicode=" " horiz-adv-x="539" />
+<glyph unicode="&#x09;" horiz-adv-x="539" />
+<glyph unicode="&#xa0;" horiz-adv-x="539" />
+<glyph unicode="!" d="M168 78q0 49 23 70.5t77 21.5q57 0 80 -22t23 -70q0 -53 -25 -72.5t-78 -19.5q-29 0 -48.5 6t-31 18t-16 29t-4.5 39zM195 1384h149l-18 -1005h-107z" />
+<glyph unicode="&#x22;" horiz-adv-x="892" d="M197 1452h166l-37 -520h-94zM529 1452h166l-37 -520h-94z" />
+<glyph unicode="#" horiz-adv-x="1466" d="M119 397v95h289l108 399h-280v96h305l104 397h103l-105 -397h336l106 397h103l-105 -397h265v-96h-289l-107 -399h279v-95h-307l-107 -397h-102l104 397h-336l-106 -397h-101l105 397h-262zM508 492h340l108 399h-338z" />
+<glyph unicode="$" horiz-adv-x="1255" d="M199 324l106 61q16 -32 40.5 -64t59 -59t81 -46.5t106.5 -25.5v476q-100 21 -169.5 50.5t-113 69t-63 89.5t-19.5 112t21 118.5t65.5 100.5t113.5 71.5t165 31.5v104h102v-104q72 -4 129.5 -21t103 -46t80.5 -69.5t64 -91.5l-108 -59q-19 37 -43.5 68t-57 55t-74.5 38.5 t-94 18.5v-438q78 -18 148 -43t122 -65t82.5 -98t30.5 -142q0 -81 -30 -142t-81.5 -102.5t-121.5 -63.5t-150 -26v-215h-102v215q-83 4 -146 28t-110 58.5t-80 75.5t-57 80zM356 989q0 -48 20 -81t53 -56t75.5 -38t87.5 -26v414q-66 -4 -111 -21t-73 -44.5t-40 -65 t-12 -82.5zM694 190q48 3 93.5 17t81 40.5t57.5 67.5t22 99q0 88 -61 142.5t-193 86.5v-453z" />
+<glyph unicode="%" horiz-adv-x="2052" d="M123 975q0 224 90.5 331t263.5 107q181 0 269 -114t88 -324q0 -218 -88.5 -328t-268.5 -110q-185 0 -269.5 107.5t-84.5 330.5zM256 975q0 -86 10.5 -149.5t35.5 -105t67.5 -61.5t107.5 -20q64 0 107 21t69 63t37.5 105t11.5 147q0 66 -8.5 126.5t-32.5 106.5t-68 73.5 t-116 27.5q-65 0 -108 -21.5t-68 -63.5t-35 -104.5t-10 -144.5zM565 -51l799 1487h125l-801 -1487h-123zM1219 408q0 224 90 331t264 107q181 0 267.5 -112.5t86.5 -325.5q0 -439 -354 -439q-94 0 -161 27.5t-110 82t-63 137t-20 192.5zM1350 408q0 -85 10.5 -148t36 -105 t68.5 -62.5t108 -20.5q63 0 105.5 20.5t69 62.5t37.5 105t11 148q0 67 -8 127t-32 106t-68 73t-115 27q-65 0 -108 -21t-68.5 -63t-36 -104.5t-10.5 -144.5z" />
+<glyph unicode="&#x26;" horiz-adv-x="1430" d="M160 352q0 72 18.5 126.5t59 102.5t105.5 94.5t157 100.5q-44 51 -76.5 95.5t-54.5 85t-32.5 77.5t-10.5 74q0 152 89.5 228.5t262.5 76.5q81 0 141.5 -20.5t101 -56t60.5 -83.5t20 -102q0 -62 -21 -116.5t-60.5 -103.5t-97.5 -93.5t-132 -87.5l371 -439q42 53 79 127 t62 170l121 -30q-28 -116 -77 -210t-103 -153l184 -215h-172l-104 123q-39 -32 -82.5 -59.5t-93.5 -48t-109.5 -32.5t-130.5 -12q-117 0 -205.5 28.5t-148.5 79t-90.5 120.5t-30.5 153zM297 352q0 -65 26.5 -114.5t72.5 -84t108.5 -52t134.5 -17.5q108 0 191.5 37.5 t142.5 93.5l-395 471q-91 -54 -146 -95t-85 -78t-40 -75t-10 -86zM459 1112q0 -60 40 -123.5t115 -148.5q72 40 121 79.5t78.5 78t42 76t12.5 75.5q0 34 -12 63t-36.5 50t-61.5 33t-86 12q-69 0 -111 -19t-64.5 -48t-30 -63t-7.5 -65z" />
+<glyph unicode="'" horiz-adv-x="561" d="M197 1452h165l-34 -520h-95z" />
+<glyph unicode="(" horiz-adv-x="766" d="M170 561q0 144 21.5 273.5t64.5 247t108.5 226t153.5 210.5h146q-95 -94 -164.5 -204t-115.5 -232t-68.5 -253.5t-22.5 -267.5q0 -135 22 -260.5t67.5 -243.5t115.5 -230.5t166 -221.5h-146q-91 111 -156.5 220.5t-108 225t-63 241t-20.5 269.5z" />
+<glyph unicode=")" horiz-adv-x="797" d="M131 -395q193 213 282 449.5t89 506.5q0 275 -90.5 517t-280.5 440h145q88 -102 154 -210.5t110 -226t65.5 -247t21.5 -273.5q0 -147 -22 -274.5t-66 -243t-109.5 -223.5t-153.5 -215h-145z" />
+<glyph unicode="*" horiz-adv-x="967" d="M123 1016l285 155l-285 156l45 78l272 -158l-4 273h92l-4 -273l275 158l45 -78l-287 -156l287 -155l-45 -78l-275 160l4 -273h-92l4 273l-272 -160z" />
+<glyph unicode="+" horiz-adv-x="1427" d="M178 528v111h477v481h111v-481h481v-111h-481v-477h-111v477h-477z" />
+<glyph unicode="," d="M172 78q0 46 22 69t74 23q101 0 101 -115q0 -56 -10.5 -107.5t-26 -95t-34.5 -75.5t-36 -49h-76q20 22 35.5 54t26 67t15.5 71t5 66q-55 0 -75.5 22t-20.5 70z" />
+<glyph unicode="-" horiz-adv-x="848" d="M113 463v127h622v-127h-622z" />
+<glyph unicode="." d="M172 78q0 48 22 70t74 22q54 0 77.5 -21.5t23.5 -70.5q0 -53 -25 -72.5t-76 -19.5q-55 0 -75.5 23.5t-20.5 68.5z" />
+<glyph unicode="/" horiz-adv-x="952" d="M18 -299l727 1819h123l-729 -1819h-121z" />
+<glyph unicode="0" horiz-adv-x="1255" d="M137 686q0 185 29.5 320.5t89.5 223.5t152.5 130.5t218.5 42.5t218.5 -42.5t153 -130.5t90 -223t29.5 -319q0 -368 -119.5 -543.5t-371.5 -175.5q-126 0 -218.5 42.5t-152.5 131t-89.5 223.5t-29.5 320zM281 686q0 -156 21 -269t63.5 -186t107.5 -108t154 -35 q88 0 153 35t108 108.5t64 186.5t21 270t-21 269.5t-64 185t-108 107t-153 34.5q-91 0 -156.5 -35t-107.5 -108.5t-62 -186.5t-20 -268z" />
+<glyph unicode="1" horiz-adv-x="1255" d="M297 1004v112q80 4 142 27t107.5 59.5t75 83.5t44.5 98h98v-1384h-133v1128q-28 -30 -66 -53.5t-82 -39t-91.5 -23.5t-94.5 -8z" />
+<glyph unicode="2" horiz-adv-x="1180" d="M152 1178q18 35 49.5 76t83 76.5t124.5 59t173 23.5q85 0 162 -21t135 -67.5t92.5 -120t34.5 -178.5q0 -59 -12 -111t-34.5 -99.5t-54 -93t-71.5 -91.5q-43 -48 -92 -100.5t-111 -113.5t-141 -133.5t-181 -160.5h742v-123h-895v143q76 64 160.5 141.5t165.5 157 t152.5 155.5t119.5 138q46 62 76 130.5t30 156.5q0 67 -21.5 118t-59.5 84.5t-90.5 50.5t-113.5 17q-112 0 -187 -48.5t-122 -133.5z" />
+<glyph unicode="3" horiz-adv-x="1180" d="M121 164l106 72q21 -31 52.5 -57.5t70 -46t83 -31t91.5 -11.5q87 0 151 18t106 56.5t62.5 98.5t20.5 143q0 136 -84 206t-268 70h-92v119h76q77 0 140.5 17t108.5 50t70 82t25 113q0 117 -74.5 173t-206.5 56q-111 0 -187.5 -43.5t-127.5 -124.5l-113 72q25 42 62.5 81 t90 69t122.5 48.5t161 18.5q110 0 188.5 -26t129 -71t74.5 -105.5t24 -129.5q0 -137 -70 -216.5t-204 -114.5q64 -6 118.5 -31.5t94.5 -69.5t63 -107t23 -145q0 -106 -32 -185.5t-93.5 -133t-150.5 -80.5t-204 -27q-61 0 -122.5 13t-116 38t-98.5 61t-70 81z" />
+<glyph unicode="4" horiz-adv-x="1255" d="M66 346v133l743 905h111v-919h200v-119h-200v-346h-132v346h-722zM203 465h585v706z" />
+<glyph unicode="5" horiz-adv-x="1180" d="M143 162l111 76q18 -29 47 -56t66 -47.5t81.5 -32.5t94.5 -12q87 0 149 26t102 71.5t59 108t19 136.5q0 80 -24.5 136.5t-67 92.5t-101 53t-126.5 17q-74 0 -138 -19t-118 -55h-72l74 727h682v-122h-571l-48 -465q22 11 50.5 20.5t58.5 16t59.5 10.5t55.5 4 q99 0 178.5 -26.5t135.5 -78t86 -128.5t30 -179q0 -108 -30.5 -194.5t-90 -146.5t-147 -92t-201.5 -32q-75 0 -139 15.5t-115.5 42t-89.5 61t-60 72.5z" />
+<glyph unicode="6" horiz-adv-x="1180" d="M133 670q0 153 30 288t93.5 236t163 160t239.5 59q110 0 193.5 -34.5t153.5 -108.5l-88 -101q-28 30 -56 53.5t-59.5 39t-67.5 24t-80 8.5q-90 0 -157.5 -39t-113 -109.5t-71 -168.5t-32.5 -215q28 19 66 38.5t84 35.5t98 26t108 10q94 0 171.5 -24t132 -75.5 t84.5 -131.5t30 -192q0 -114 -30 -203t-87 -150t-140.5 -93t-191.5 -32q-128 -1 -217.5 44t-146.5 133.5t-83 219.5t-26 302zM281 653q0 -163 22 -271t64 -173t102.5 -92t138.5 -27q79 0 137 25t95.5 70.5t56 110.5t18.5 146q0 89 -22.5 149t-63 96t-98 51.5t-127.5 15.5 q-39 0 -82 -8t-85.5 -21.5t-82.5 -32t-73 -39.5z" />
+<glyph unicode="7" horiz-adv-x="1255" d="M152 1262v122h929v-129l-530 -1255h-150l543 1262h-792z" />
+<glyph unicode="8" horiz-adv-x="1180" d="M121 346q0 140 82.5 234.5t245.5 156.5q-65 31 -119 61.5t-92.5 68.5t-60 86.5t-21.5 115.5q0 76 26.5 139.5t80.5 109t136 70.5t193 25q213 0 323.5 -87.5t110.5 -254.5q0 -73 -26.5 -126.5t-68.5 -93t-93.5 -67.5t-100.5 -49q72 -34 132 -69t102.5 -79.5t66 -102.5 t23.5 -138q0 -94 -32 -164t-92.5 -117t-147.5 -70.5t-197 -23.5q-236 0 -353.5 96t-117.5 279zM258 344q0 -120 82.5 -190t251.5 -70q170 0 251 70t81 192q0 58 -19.5 103t-60 83t-103 72.5t-147.5 73.5q-83 -30 -146 -63t-105 -73t-63.5 -88.5t-21.5 -109.5zM293 1073 q0 -39 13 -72t47 -65t93.5 -65.5t151.5 -73.5q73 27 127.5 55t91 60t54.5 69.5t18 85.5q0 52 -17.5 95t-54 73.5t-92.5 47.5t-133 17q-78 0 -134.5 -16.5t-93 -46.5t-54 -71.5t-17.5 -92.5z" />
+<glyph unicode="9" horiz-adv-x="1180" d="M123 936q0 114 30.5 202.5t88 149.5t141 93t190.5 32q129 0 219 -45t146 -132.5t81 -216t25 -294.5q0 -104 -12.5 -200.5t-39.5 -180.5t-69 -152.5t-100.5 -117.5t-135.5 -76t-173 -27q-119 0 -206 40.5t-152 111.5l88 98q27 -30 56 -54t62 -41.5t71.5 -26.5t84.5 -9 q94 0 162.5 39t114.5 109t70.5 168t31.5 217q-29 -20 -67 -40t-83.5 -36t-97 -26.5t-106.5 -10.5q-95 0 -172.5 24.5t-132.5 76.5t-85 132.5t-30 192.5zM262 942q0 -90 22.5 -150t64 -95.5t98.5 -50.5t126 -15q39 0 82.5 8t86 21.5t83 31t74.5 37.5q0 135 -16.5 240.5 t-55 177.5t-101.5 109.5t-155 37.5q-79 0 -137 -25t-96.5 -71t-57 -111t-18.5 -145z" />
+<glyph unicode=":" d="M172 78q0 48 22 70t74 22q54 0 77.5 -21.5t23.5 -70.5q0 -53 -25 -72.5t-76 -19.5q-55 0 -75.5 23.5t-20.5 68.5zM172 956q0 50 22 71.5t74 21.5q54 0 77.5 -21.5t23.5 -71.5q0 -52 -25 -72t-76 -20q-55 0 -75.5 24.5t-20.5 67.5z" />
+<glyph unicode=";" d="M172 78q0 46 22 69t74 23q53 0 77 -28t24 -87q0 -56 -10.5 -107.5t-26 -95t-34.5 -75.5t-36 -49h-76q20 22 35.5 54t26 67t15.5 71t5 66q-55 0 -75.5 22t-20.5 70zM172 956q0 50 22 71.5t74 21.5q54 0 77.5 -21.5t23.5 -71.5q0 -52 -25 -72t-76 -20q-55 0 -75.5 24.5 t-20.5 67.5z" />
+<glyph unicode="&#x3c;" horiz-adv-x="1427" d="M180 543v88l1067 454v-120l-897 -379l897 -377v-121z" />
+<glyph unicode="=" horiz-adv-x="1427" d="M178 305v111h1069v-111h-1069zM178 756v110h1069v-110h-1069z" />
+<glyph unicode="&#x3e;" horiz-adv-x="1427" d="M180 88v121l897 377l-897 379v120l1067 -454v-88z" />
+<glyph unicode="?" horiz-adv-x="1036" d="M86 1225q21 39 56.5 73t84 59.5t110 40.5t136.5 15q93 0 172.5 -22t138 -66.5t92 -111t33.5 -156.5q0 -85 -29 -152.5t-83 -125t-131 -109.5t-172 -105v-213h-127v271q106 54 181.5 102.5t124 97.5t71 103.5t22.5 120.5q0 56 -18.5 101t-55.5 77t-91 49.5t-126 17.5 q-59 0 -104 -11.5t-79 -31t-58 -44.5t-39 -52zM330 78q0 49 23 70.5t77 21.5q57 0 79.5 -21.5t22.5 -70.5q0 -53 -24.5 -72.5t-77.5 -19.5q-29 0 -48.5 6t-31 18t-16 29t-4.5 39z" />
+<glyph unicode="@" horiz-adv-x="1927" d="M129 553q0 123 29 235t83 207.5t131 172.5t172 131.5t206.5 84t234.5 29.5q201 0 356 -57.5t260.5 -165.5t159.5 -262.5t54 -347.5q0 -105 -19 -206t-63 -180.5t-115.5 -128.5t-175.5 -49q-53 0 -92.5 9t-67 28t-44 49.5t-24.5 73.5q-74 -60 -152.5 -96.5t-156.5 -36.5 q-103 0 -172.5 41t-112 108t-61 151t-18.5 171q0 114 25 207.5t76 160t127.5 102.5t180.5 36q42 0 80.5 -10t72.5 -24.5t60.5 -31t44.5 -30.5v67h129v-739q0 -37 6.5 -61.5t20 -39.5t34.5 -21.5t50 -6.5q65 0 111.5 38t76.5 101t44 144.5t14 168.5q0 168 -43 303.5t-131 230 t-220.5 145.5t-312.5 51q-110 0 -207.5 -26t-179.5 -74t-146.5 -116t-110 -151.5t-69.5 -181.5t-24 -205q0 -178 52 -318t148 -237t231 -148t302 -51q119 0 222 11t194 32l26 -110q-45 -10 -98 -17.5t-110 -12t-117 -7t-119 -2.5q-188 0 -345 58t-269.5 168t-175 270.5 t-62.5 365.5zM672 518q0 -65 11 -128.5t39.5 -114t77.5 -82t126 -31.5q37 0 74.5 11.5t73.5 30t69.5 40.5t62.5 43v524q-24 17 -53.5 33.5t-61.5 30t-64.5 22t-61.5 8.5q-81 0 -137 -26t-90.5 -76t-50 -122t-15.5 -163z" />
+<glyph unicode="A" horiz-adv-x="1264" d="M63 0l480 1384h174l483 -1384h-147l-135 399h-578l-135 -399h-142zM381 522h493l-247 731z" />
+<glyph unicode="B" horiz-adv-x="1257" d="M199 0v1384h395q125 0 210 -19.5t137 -58.5t74.5 -97t22.5 -136q0 -67 -14 -118.5t-41.5 -90t-67 -65t-90.5 -43.5q65 -9 121 -33.5t97 -67t64 -103.5t23 -144q0 -107 -34 -184t-99.5 -127t-162 -73.5t-220.5 -23.5h-415zM334 123h219q102 0 182.5 11t136.5 41.5 t85.5 86.5t29.5 146q0 86 -28 137.5t-80 79.5t-124.5 36.5t-162.5 8.5h-258v-547zM334 791h221q177 0 259.5 59.5t82.5 191.5q0 63 -17 105.5t-56 68.5t-103 37t-158 11h-229v-473z" />
+<glyph unicode="C" horiz-adv-x="1315" d="M145 692q0 174 34 308.5t105 226t180.5 139t260.5 47.5q97 0 173 -19t133.5 -54t100 -84t74.5 -109l-116 -74q-26 48 -58 87.5t-75.5 68.5t-100 45t-131.5 16q-118 0 -201 -39.5t-135 -116t-76 -187.5t-24 -255t24 -255t77 -187.5t137 -116t204 -39.5q84 0 145.5 20 t105.5 52t74.5 71.5t53.5 79.5l115 -71q-33 -59 -75 -109t-100 -87t-135.5 -58t-181.5 -21q-302 0 -445 181t-143 540z" />
+<glyph unicode="D" horiz-adv-x="1282" d="M186 0v1384h324q163 0 282.5 -35t198.5 -116t117.5 -213.5t38.5 -327.5q0 -203 -41.5 -336.5t-122 -212.5t-199 -111t-272.5 -32h-326zM322 123h176q136 0 232 28.5t156 95.5t87.5 176.5t27.5 270.5q0 157 -26.5 265.5t-86 176t-155.5 97t-235 29.5h-176v-1139z" />
+<glyph unicode="E" horiz-adv-x="1155" d="M199 0v1384h819v-122h-684v-467h588v-123h-588v-549h684v-123h-819z" />
+<glyph unicode="F" horiz-adv-x="1110" d="M199 0v1384h811v-122h-676v-461h577v-123h-577v-678h-135z" />
+<glyph unicode="G" horiz-adv-x="1378" d="M145 694q0 167 31 300t100 226t179 143t268 50q98 0 173 -19.5t131 -55t97 -84.5t72 -107l-115 -74q-27 53 -60.5 93.5t-77.5 68t-100 41.5t-126 14q-113 0 -194 -37.5t-133 -112.5t-76.5 -187t-24.5 -261q0 -140 23 -251t76 -188t139.5 -118t213.5 -41q42 0 81 4.5 t77 14t77.5 24t82.5 33.5v389h-369v123h504v-588q-58 -30 -109.5 -53t-104.5 -38.5t-112 -23.5t-131 -8q-164 0 -276.5 50.5t-183 144.5t-101.5 227.5t-31 300.5z" />
+<glyph unicode="H" horiz-adv-x="1341" d="M199 0v1384h135v-606h674v606h135v-1384h-135v655h-674v-655h-135z" />
+<glyph unicode="I" horiz-adv-x="719" d="M102 0v119h189v1147h-189v118h514v-118h-190v-1147h190v-119h-514z" />
+<glyph unicode="J" horiz-adv-x="864" d="M66 18l51 119q17 -9 40.5 -17t49.5 -14.5t52.5 -10t49.5 -3.5q70 0 113.5 21.5t67.5 66t32 112.5t8 161v931h136v-989q0 -104 -18 -183.5t-59.5 -133.5t-110 -81.5t-169.5 -27.5q-31 0 -64.5 4t-65.5 10.5t-61.5 15.5t-51.5 19z" />
+<glyph unicode="K" horiz-adv-x="1255" d="M199 0v1384h135v-739l661 739h170l-587 -649l612 -735h-176l-527 639l-153 -164v-475h-135z" />
+<glyph unicode="L" horiz-adv-x="1038" d="M199 0v1384h135v-1261h649v-123h-784z" />
+<glyph unicode="M" horiz-adv-x="1556" d="M199 0v1384h190l391 -806l389 806h189v-1384h-131v1219l-406 -828h-90l-401 828v-1219h-131z" />
+<glyph unicode="N" horiz-adv-x="1374" d="M199 0v1384h196l647 -1165v1165h134v-1384h-160l-686 1235v-1235h-131z" />
+<glyph unicode="O" horiz-adv-x="1364" d="M135 692q0 166 29.5 299.5t94.5 227t169 144t254 50.5t254.5 -50t169.5 -143t94 -226.5t29 -301.5q0 -167 -29 -300.5t-94 -227t-169.5 -143.5t-254.5 -50t-254 50t-169 144t-94.5 227t-29.5 300zM279 692q0 -144 21 -255t68.5 -187.5t124.5 -116t189 -39.5 q111 0 188 39.5t124 115.5t68 187.5t21 255.5t-21 255.5t-68 187.5t-124 115.5t-188 39.5q-112 0 -189 -39t-124.5 -115t-68.5 -187.5t-21 -256.5z" />
+<glyph unicode="P" horiz-adv-x="1153" d="M199 0v1384h383q238 0 350 -107.5t112 -324.5q0 -126 -29 -214t-88.5 -143.5t-149.5 -80.5t-212 -25h-231v-489h-135zM334 612h209q93 0 160 15t110.5 52.5t64.5 102.5t21 166q0 90 -22.5 150.5t-65 96.5t-103.5 51.5t-139 15.5h-235v-650z" />
+<glyph unicode="Q" horiz-adv-x="1364" d="M135 692q0 169 30 303t96 227t170.5 142t252.5 49q144 0 247.5 -47.5t169.5 -139.5t97 -226t31 -308q0 -156 -25 -282t-80.5 -218t-143.5 -148t-214 -71q14 -39 35.5 -70.5t53.5 -53.5t75.5 -34t101.5 -12q17 0 38.5 2t43.5 6t42.5 9t35.5 10l41 -113q-48 -18 -102.5 -26 t-102.5 -8q-87 0 -154.5 19.5t-118 56.5t-85 91t-56.5 123q-121 11 -211 59.5t-149.5 137t-89 218.5t-29.5 304zM279 692q0 -144 21 -255t68.5 -187.5t124.5 -116t189 -39.5t188.5 39.5t124 115.5t68 187.5t20.5 255.5t-21 255.5t-68 187.5t-124 115.5t-188 39.5 q-112 0 -189 -39.5t-124.5 -115.5t-68.5 -187.5t-21 -255.5z" />
+<glyph unicode="R" horiz-adv-x="1212" d="M199 0v1384h393q114 0 200.5 -20t145.5 -65.5t89 -119t30 -180.5q0 -92 -19.5 -159.5t-57 -114.5t-92 -75.5t-124.5 -43.5l377 -606h-162l-354 586h-291v-586h-135zM334 707h250q94 0 157 15.5t101 49.5t54.5 88.5t16.5 132.5q0 73 -17 124.5t-55 84t-99.5 47.5 t-151.5 15h-256v-557z" />
+<glyph unicode="S" horiz-adv-x="1225" d="M111 248l116 69q20 -40 52 -79.5t78 -71.5t107.5 -52t141.5 -20q73 0 136.5 15t110.5 47t74 81.5t27 118.5q0 64 -21 108.5t-64 77t-109 56.5t-156 47q-120 31 -207 60.5t-144 71t-84.5 101t-27.5 150.5q0 86 28 157t84.5 121.5t141.5 78.5t199 28q86 0 156 -17.5 t126 -50t100 -78.5t79 -104l-113 -76q-26 45 -59 82.5t-75 64.5t-94.5 41.5t-117.5 14.5q-79 0 -138 -18t-98 -51t-58 -80t-19 -105q0 -56 17.5 -93.5t58.5 -65t109 -50t169 -47.5q107 -27 192 -58t144.5 -77t91 -113.5t31.5 -169.5q0 -107 -38 -181t-103 -121t-153 -68 t-188 -21q-105 0 -184 21t-138.5 57.5t-103 87.5t-77.5 111z" />
+<glyph unicode="T" horiz-adv-x="1174" d="M43 1262v122h1085v-122h-475v-1262h-135v1262h-475z" />
+<glyph unicode="U" horiz-adv-x="1378" d="M193 578v806h135v-786q0 -144 17 -241t59 -156.5t111.5 -85t174.5 -25.5q106 0 175.5 25.5t110 85t57 156t16.5 237.5v790h135v-806q0 -170 -26 -286.5t-84.5 -188t-152.5 -103t-229 -31.5q-141 0 -237 32.5t-154 105t-83 188.5t-25 283z" />
+<glyph unicode="V" horiz-adv-x="1214" d="M63 1384h142l401 -1241l406 1241h139l-463 -1384h-170z" />
+<glyph unicode="W" horiz-adv-x="1718" d="M80 1384h137l277 -1202l278 1202h168l287 -1212l278 1212h133l-325 -1384h-176l-281 1204l-283 -1204h-170z" />
+<glyph unicode="X" horiz-adv-x="1169" d="M66 0l444 694l-432 690h155l357 -585l362 585h152l-440 -686l440 -698h-156l-364 594l-371 -594h-147z" />
+<glyph unicode="Y" horiz-adv-x="1126" d="M51 1384h150l362 -720l367 720h145l-444 -847v-537h-137v530z" />
+<glyph unicode="Z" horiz-adv-x="1171" d="M102 0v129l779 1133h-748v122h905v-122l-784 -1139h801v-123h-953z" />
+<glyph unicode="[" horiz-adv-x="825" d="M215 -395v1884h457v-107h-338v-1673h338v-104h-457z" />
+<glyph unicode="\" horiz-adv-x="952" d="M82 1520h125l727 -1819h-123z" />
+<glyph unicode="]" horiz-adv-x="825" d="M154 -291h335v1673h-335v107h456v-1884h-456v104z" />
+<glyph unicode="^" horiz-adv-x="1214" d="M154 594l389 790h129l389 -790h-121l-332 676l-334 -676h-120z" />
+<glyph unicode="_" horiz-adv-x="1024" d="M-10 -164h1044v-92h-1044v92z" />
+<glyph unicode="`" horiz-adv-x="1106" d="M326 1569h176l186 -361h-104z" />
+<glyph unicode="a" horiz-adv-x="1079" d="M121 295q0 82 24 143t75 103.5t130.5 67.5t190.5 36l235 23v53q0 66 -15 112.5t-47.5 76.5t-83 43.5t-120.5 13.5q-59 0 -102.5 -10.5t-75 -28t-52.5 -40.5t-36 -48l-103 63q22 36 52.5 68t75 56t104 38t139.5 14q106 0 180.5 -20t122 -63.5t69 -113t21.5 -169.5v-713 h-129v152q-45 -39 -87 -72.5t-85.5 -58t-90 -38.5t-99.5 -14q-74 0 -129 22.5t-91.5 65t-54.5 103t-18 135.5zM254 299q0 -114 46 -165.5t144 -51.5q37 0 72.5 11t74.5 33.5t84 58t101 83.5v293l-188 -18q-90 -9 -153.5 -25.5t-103.5 -45t-58.5 -71t-18.5 -102.5z" />
+<glyph unicode="b" horiz-adv-x="1151" d="M182 0v1489h129v-555q31 31 67.5 58t77 46t84.5 30t89 11q107 0 182 -42.5t122 -116.5t68 -173.5t21 -214.5q0 -123 -24 -226.5t-74 -178.5t-126.5 -116.5t-181.5 -41.5q-78 0 -157.5 36t-147.5 99v-104h-129zM311 225q69 -65 145.5 -104t147.5 -39q62 0 114.5 26 t90.5 80.5t59 138.5t21 201q0 101 -16 182t-50 137.5t-87 87t-128 30.5q-78 0 -153.5 -43t-143.5 -111v-586z" />
+<glyph unicode="c" horiz-adv-x="1016" d="M129 520q0 128 24.5 231.5t77 176t135 112t199.5 39.5q124 0 207.5 -49t140.5 -151l-106 -64q-21 39 -45 67.5t-53.5 47t-65.5 28t-82 9.5q-157 0 -228 -114t-71 -337q0 -98 15.5 -178t51 -137.5t94 -89t144.5 -31.5q49 0 86.5 10.5t67.5 30.5t54 48.5t46 63.5l105 -65 q-25 -47 -58 -84t-77 -62.5t-99.5 -39t-124.5 -13.5q-123 0 -206.5 42t-135 115.5t-74 174.5t-22.5 219z" />
+<glyph unicode="d" horiz-adv-x="1151" d="M129 516q0 109 23.5 210.5t73 180t126 125.5t183.5 47q90 0 163 -33.5t142 -87.5v531h129v-1489h-129v115q-32 -31 -69.5 -57.5t-78.5 -46t-85 -31t-89 -11.5q-98 0 -171 37t-121.5 107.5t-72.5 172t-24 230.5zM262 520q0 -99 15 -180t47.5 -138t83.5 -88.5t124 -31.5 q43 0 84.5 12.5t80.5 34t75 49.5t68 60v600q-75 60 -148 93.5t-145 33.5q-65 0 -118 -30.5t-90 -87.5t-57 -139.5t-20 -187.5z" />
+<glyph unicode="e" horiz-adv-x="1051" d="M129 516q0 133 23 237.5t73.5 177t131 110.5t196.5 38q102 0 175 -32t119.5 -92.5t68.5 -148t22 -198.5v-84h-676q0 -115 14.5 -199t49 -138.5t91.5 -80.5t142 -26q42 0 77 7.5t65.5 25t58.5 45t55 67.5l103 -67q-28 -45 -61.5 -80t-77 -59t-99 -37t-127.5 -13 q-104 0 -183 30t-132.5 95.5t-81 169.5t-27.5 252zM264 629h547q-3 177 -66 259.5t-196 82.5q-69 0 -119.5 -20t-85 -62t-54 -106.5t-26.5 -153.5z" />
+<glyph unicode="f" horiz-adv-x="618" d="M47 938v111h164v116q0 91 15 158t49.5 111t90 65t136.5 21q60 0 114.5 -14.5t90.5 -32.5l-43 -109q-14 8 -33.5 16t-41 14t-44 9.5t-43.5 3.5q-46 0 -77 -13t-50 -42t-27 -76t-8 -115v-112h244v-111h-244v-938h-129v938h-164z" />
+<glyph unicode="g" horiz-adv-x="1151" d="M129 535q0 114 24 213t74.5 172.5t128 116t185.5 42.5q83 0 158 -32.5t141 -88.5v91h129v-1026q0 -111 -24 -190.5t-73.5 -130t-125.5 -74t-181 -23.5q-127 0 -220 29.5t-148 72.5l55 100q51 -42 128 -68t185 -26q75 0 127 17t85 53.5t48 94t15 138.5v127 q-30 -29 -66.5 -55t-78 -45.5t-86.5 -31t-93 -11.5q-101 0 -174 36t-120 104.5t-70 168t-23 226.5zM262 539q0 -79 9 -155.5t38 -136.5t83 -97t143 -37q46 0 88.5 13.5t81 35.5t72.5 49.5t63 54.5v574q-73 57 -143.5 91t-145.5 34q-76 0 -130.5 -31t-90 -87.5t-52 -135 t-16.5 -172.5z" />
+<glyph unicode="h" horiz-adv-x="1137" d="M182 0v1489h129v-606q44 41 89 77t91.5 62.5t93.5 41.5t95 15q84 0 139 -25t87 -73.5t44.5 -119t12.5 -161.5v-700h-129v651q0 89 -8 148t-28 94t-54.5 49t-86.5 14q-69 0 -160 -51.5t-186 -142.5v-762h-129z" />
+<glyph unicode="i" horiz-adv-x="494" d="M156 1305q0 45 20 65.5t70 20.5q51 0 71.5 -20t20.5 -66q0 -51 -21.5 -69.5t-70.5 -18.5q-51 0 -70.5 23t-19.5 65zM182 0v1049h129v-1049h-129z" />
+<glyph unicode="j" horiz-adv-x="508" d="M-141 -365l32 107q36 -14 73 -21.5t79 -7.5q43 0 72 14t46 44t24.5 76.5t7.5 111.5v1090h129v-1104q0 -86 -13.5 -149.5t-46 -106t-87.5 -63.5t-138 -21q-40 0 -86 7.5t-92 22.5zM166 1305q0 45 21.5 65.5t70.5 20.5q51 0 71.5 -20t20.5 -66q0 -51 -22 -69.5t-70 -18.5 q-53 0 -72.5 23t-19.5 65z" />
+<glyph unicode="k" horiz-adv-x="1022" d="M182 0v1489h129v-973l469 533h160l-426 -471l449 -578h-162l-371 489l-119 -131v-358h-129z" />
+<glyph unicode="l" horiz-adv-x="518" d="M195 0v1489h129v-1489h-129z" />
+<glyph unicode="m" horiz-adv-x="1673" d="M182 0v1049h129v-166q39 42 80 78t82.5 62t84.5 41t87 15q106 0 167.5 -50.5t80.5 -160.5q44 48 85 87t83.5 66.5t87.5 42.5t96 15q80 0 129.5 -28t77.5 -78.5t37.5 -120t9.5 -152.5v-700h-129v645q0 94 -6 154.5t-23 95.5t-46.5 48t-75.5 13q-40 0 -77.5 -14 t-75.5 -39.5t-77.5 -61t-83.5 -79.5v-762h-129v651q0 93 -7 152.5t-24 93t-47.5 46.5t-76.5 13q-38 0 -77 -16t-78 -43t-78 -62t-77 -73v-762h-129z" />
+<glyph unicode="n" horiz-adv-x="1137" d="M182 0v1049h129v-166q45 43 90.5 79t92 62t93.5 40.5t95 14.5q84 0 138 -25t86 -73.5t44.5 -119t12.5 -161.5v-700h-129v651q0 88 -8 147t-28 94t-54.5 49.5t-86.5 14.5q-69 0 -160 -51.5t-186 -142.5v-762h-129z" />
+<glyph unicode="o" horiz-adv-x="1141" d="M129 522q0 122 24 224.5t77 176.5t137 115t204 41q117 0 200.5 -39.5t137 -112.5t78.5 -175.5t25 -229.5q0 -125 -24 -226.5t-77 -174.5t-137 -112.5t-203 -39.5t-203 39.5t-137 112.5t-77.5 174.5t-24.5 226.5zM262 522q0 -104 16.5 -186t53 -139t95.5 -87t144 -30 q83 0 141.5 29.5t95 86.5t53 139t16.5 187q0 106 -16 189t-52 140t-94.5 86.5t-143.5 29.5q-86 0 -145 -30.5t-95.5 -88t-52.5 -140t-16 -186.5z" />
+<glyph unicode="p" horiz-adv-x="1151" d="M182 -395v1444h129v-115q31 31 67.5 58t77 46t84.5 30t89 11q106 0 180.5 -42.5t121.5 -116.5t69 -173.5t22 -214.5q0 -123 -25 -226.5t-76 -178.5t-128.5 -116.5t-182.5 -41.5q-77 0 -153.5 34.5t-145.5 100.5v-499h-129zM311 225q69 -65 143.5 -104t145.5 -39 q62 0 115 26t91.5 80.5t60.5 138.5t22 201q0 101 -16.5 182t-51 137.5t-87.5 87t-126 30.5q-80 0 -154.5 -42.5t-142.5 -111.5v-586z" />
+<glyph unicode="q" horiz-adv-x="1151" d="M129 516q0 109 22.5 210.5t71 180t124.5 125.5t183 47q90 0 166 -35t144 -86v91h129v-1444h-129v510q-32 -31 -69.5 -57.5t-78.5 -46t-85 -31t-89 -11.5q-100 0 -173 37t-121 107.5t-71.5 172t-23.5 230.5zM262 520q0 -98 14.5 -179t46.5 -138.5t83.5 -89t125.5 -31.5 q43 0 84 12.5t80 33.5t75 49.5t69 60.5v600q-75 60 -150 93.5t-147 33.5q-65 0 -117 -30.5t-88.5 -87.5t-56 -139.5t-19.5 -187.5z" />
+<glyph unicode="r" horiz-adv-x="797" d="M182 0v1049h129v-181q45 45 85.5 81.5t81 62t82 39.5t87.5 14q29 0 53 -5t45 -16l-28 -122q-35 14 -76 14q-48 0 -87.5 -12t-77.5 -36t-77.5 -59.5t-87.5 -83.5v-745h-129z" />
+<glyph unicode="s" horiz-adv-x="973" d="M117 154l104 65q35 -63 98.5 -101t163.5 -38q52 0 97 8.5t78 29.5t52 56.5t19 89.5q0 42 -12 72.5t-42.5 54t-82.5 42.5t-133 40q-84 22 -144.5 47t-100 60.5t-58.5 85t-19 120.5q0 58 21.5 111.5t66 93.5t111.5 64t158 24q69 0 123.5 -15t96.5 -40.5t72 -59.5t50 -71 l-105 -62q-15 28 -36.5 53t-50 43.5t-65.5 29t-85 10.5q-107 0 -168.5 -47t-61.5 -132q0 -41 11 -70t37 -50.5t70.5 -38.5t111.5 -35q101 -27 170.5 -55t112 -65t61 -86.5t18.5 -119.5q0 -74 -25.5 -130t-74 -93.5t-118 -56.5t-157.5 -19q-81 0 -142 17.5t-105.5 44.5 t-73 59.5t-43.5 63.5z" />
+<glyph unicode="t" horiz-adv-x="723" d="M55 938v111h158v292h129v-292h276v-111h-276v-606q0 -73 7 -122t24.5 -78t47.5 -41.5t77 -12.5q35 0 76.5 8.5t70.5 19.5l33 -104q-40 -14 -89 -23.5t-100 -9.5q-78 0 -131 19.5t-85 61.5t-46 108t-14 159v621h-158z" />
+<glyph unicode="u" horiz-adv-x="1137" d="M174 348v701h129v-654q0 -88 7.5 -146.5t27 -94t53.5 -50t86 -14.5q71 0 161 52t187 145v762h129v-1049h-129v166q-44 -42 -89.5 -78.5t-92 -62.5t-93 -41t-93.5 -15q-85 0 -139.5 25t-86.5 73.5t-44.5 119t-12.5 161.5z" />
+<glyph unicode="v" horiz-adv-x="991" d="M57 1049h138l303 -891l301 891h133l-369 -1049h-137z" />
+<glyph unicode="w" horiz-adv-x="1430" d="M82 1049h133l186 -861l258 861h117l262 -861l181 861h129l-244 -1049h-125l-264 870l-264 -870h-125z" />
+<glyph unicode="x" horiz-adv-x="965" d="M59 0l351 522l-344 527h151l270 -431l273 431h143l-344 -519l344 -530h-155l-269 432l-276 -432h-144z" />
+<glyph unicode="y" horiz-adv-x="1018" d="M4 -365l37 109q25 -14 61 -21.5t70 -7.5q75 0 129 59.5t98 176.5l41 104l-383 994h140l311 -832l315 832h138l-453 -1147q-32 -81 -67.5 -138t-76.5 -92t-89 -51t-105 -16q-21 0 -44.5 2t-46 6t-42 9.5t-33.5 12.5z" />
+<glyph unicode="z" horiz-adv-x="936" d="M94 0v98l576 840h-564v111h719v-97l-577 -841h594v-111h-748z" />
+<glyph unicode="{" horiz-adv-x="975" d="M102 508v110h19q85 0 144 22.5t95.5 68t53 113.5t16.5 159v170q0 87 27.5 155.5t78 116t121.5 72.5t158 25h59v-105h-47q-137 0 -206.5 -71t-69.5 -211v-175q0 -173 -70.5 -267.5t-199.5 -129.5q129 -32 199.5 -127t70.5 -268v-176q0 -142 64.5 -212.5t211.5 -70.5h47 v-102h-59q-91 0 -162.5 23.5t-121 70t-75.5 115.5t-26 159v170q0 88 -16 156.5t-52 114.5t-95 70t-146 24h-19z" />
+<glyph unicode="|" horiz-adv-x="850" d="M367 -395v1915h116v-1915h-116z" />
+<glyph unicode="}" horiz-adv-x="975" d="M100 -293h45q148 0 213.5 70.5t65.5 212.5v176q0 173 69.5 268t200.5 127q-129 35 -199.5 129.5t-70.5 267.5v175q0 140 -69.5 211t-209.5 71h-45v105h60q90 0 161 -25.5t120.5 -73.5t75.5 -116.5t26 -153.5v-170q0 -91 16.5 -159t53 -113.5t96 -68t145.5 -22.5h18v-110 h-18q-87 0 -146.5 -24t-96 -70t-52.5 -114.5t-16 -156.5v-170q0 -90 -26 -159t-75 -115.5t-120.5 -70t-161.5 -23.5h-60v102z" />
+<glyph unicode="~" horiz-adv-x="1427" d="M164 631v125q85 68 159 98.5t136 30.5q61 0 127.5 -24.5t134 -54.5t132.5 -54.5t122 -24.5q39 0 75.5 11t72 29.5t70.5 44.5t71 56v-129q-29 -22 -60.5 -44t-67 -39.5t-75 -28.5t-84.5 -11q-40 0 -84.5 11.5t-91 29.5t-93.5 38t-91.5 38t-84.5 29.5t-73 11.5 q-41 0 -78.5 -11t-73.5 -30.5t-71 -45.5t-72 -56z" />
+<glyph unicode="&#xa1;" d="M168 987q0 51 25.5 71.5t76.5 20.5q30 0 49.5 -6.5t31 -18.5t16 -29t4.5 -38q0 -49 -22.5 -70.5t-78.5 -21.5q-55 0 -78.5 21.5t-23.5 70.5zM195 -395l20 1093h107l22 -1093h-149z" />
+<glyph unicode="&#xa2;" horiz-adv-x="1016" d="M129 520q0 128 24.5 231.5t77 176t135 112t199.5 39.5q33 0 68 -6l45 215h98l-51 -237q60 -22 106.5 -64.5t81.5 -107.5l-106 -64q-23 42 -49 71t-58 48l-180 -852q11 0 23 -1t24 -1q49 0 86.5 10.5t67.5 30.5t54 48.5t46 63.5l105 -65q-25 -47 -58 -84t-77 -62.5 t-99.5 -39t-124.5 -13.5q-18 0 -36 1t-35 3l-50 -233h-96l53 254q-76 24 -128 73.5t-84.5 118t-47 153.5t-14.5 181zM262 516q0 -152 37.5 -257t128.5 -150l180 854q-12 3 -24.5 3.5t-24.5 0.5q-155 0 -226 -114t-71 -337z" />
+<glyph unicode="&#xa3;" horiz-adv-x="1255" d="M119 0v117q54 11 91 55.5t60.5 109.5t34 144.5t10.5 161.5h-172v104h168q-2 32 -12.5 68.5t-22 79t-21 92t-9.5 106.5q0 94 35 164t96.5 117t143.5 70.5t177 23.5q63 0 121.5 -11.5t111 -36.5t97.5 -65t82 -98l-111 -72q-47 74 -122.5 121t-178.5 47q-77 0 -135.5 -19.5 t-98 -55.5t-59.5 -86t-20 -111q0 -46 8.5 -91t20 -87t22 -81.5t13.5 -74.5h378v-104h-374q0 -164 -40.5 -286t-127.5 -185h850v-117h-1016z" />
+<glyph unicode="&#xa4;" horiz-adv-x="1255" d="M137 1004l72 71l188 -188q51 40 109.5 60t120.5 20t120 -19t109 -59l188 186l72 -71l-186 -189q40 -51 59 -109t19 -120t-21 -119.5t-59 -108.5l186 -190l-70 -70l-190 187q-53 -41 -109 -58.5t-118 -17.5t-119.5 19.5t-108.5 56.5l-188 -187l-72 70l189 190 q-39 50 -58.5 108t-19.5 120t18.5 120.5t57.5 106.5zM362 586q0 -56 20.5 -104.5t56 -85.5t84 -58t104.5 -21q57 0 106 21t85.5 58t57.5 85.5t21 104.5q0 55 -20.5 104.5t-56.5 86.5t-85.5 59t-107.5 22q-57 0 -105.5 -21.5t-84 -58.5t-55.5 -86.5t-20 -105.5z" />
+<glyph unicode="&#xa5;" horiz-adv-x="1255" d="M76 1384h151l404 -667l401 667h148l-412 -667h352v-99h-407l-19 -28v-135h426v-97h-426v-358h-135v358h-422v97h422v131l-20 32h-402v99h348z" />
+<glyph unicode="&#xa6;" horiz-adv-x="850" d="M367 221h116v-616h-116v616zM367 903v617h116v-617h-116z" />
+<glyph unicode="&#xa7;" horiz-adv-x="1067" d="M117 545q0 52 19 97t53.5 85t82 75.5t103.5 69.5q-51 34 -86.5 65t-58.5 62.5t-33.5 64.5t-10.5 71q0 60 23 111t69 88t116 58t165 21q67 0 122.5 -10t100.5 -29t80.5 -45.5t63.5 -60.5l-99 -76q-17 22 -42 42t-58 35.5t-74 24.5t-90 9q-118 0 -179.5 -39.5t-61.5 -124.5 q0 -31 11 -57t43.5 -55.5t90.5 -67t151 -91.5q82 -47 144 -89t104 -85.5t63 -91t21 -104.5q0 -49 -14 -90t-44.5 -79t-79.5 -75.5t-118 -79.5q55 -36 92.5 -68.5t60.5 -64t32.5 -63.5t9.5 -66q0 -71 -27 -123t-76.5 -87t-119 -52t-154.5 -17q-127 0 -220.5 39t-144.5 105 l97 76q32 -35 66.5 -56.5t69 -33.5t67 -16.5t61.5 -4.5q67 0 113.5 11t76 32t43 52t13.5 71q0 32 -13 59t-46.5 56.5t-92 66t-149.5 88.5q-75 42 -137 84t-106.5 86.5t-68.5 92.5t-24 104zM246 551q0 -40 21.5 -75.5t65 -72t109 -77t154.5 -90.5q62 38 104.5 69t69 60 t38 58.5t11.5 65.5q0 41 -18 75.5t-58.5 71.5t-106.5 79t-163 98q-47 -29 -88.5 -59t-72 -61.5t-48.5 -66.5t-18 -75z" />
+<glyph unicode="&#xa8;" horiz-adv-x="1106" d="M281 1300q0 45 18.5 67t69.5 22q53 0 71.5 -21.5t18.5 -67.5q0 -48 -19.5 -69t-70.5 -21q-27 0 -44 6.5t-27 18.5t-13.5 28.5t-3.5 36.5zM651 1300q0 45 18.5 67t69.5 22q54 0 72 -21t18 -68q0 -48 -19.5 -69t-70.5 -21q-53 0 -70.5 25t-17.5 65z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1882" d="M135 610q0 115 29 219.5t81 193.5t126 161t163 123t192 78.5t214 27.5q116 0 220.5 -28.5t193.5 -81t161 -126t122.5 -162.5t78 -191.5t27.5 -213.5q0 -116 -28.5 -220.5t-81 -194.5t-125.5 -162.5t-162.5 -123.5t-192 -78.5t-213.5 -27.5q-115 0 -219.5 29t-194 81.5 t-162 126t-123.5 163t-78.5 192.5t-27.5 215zM242 610q0 -98 24.5 -188t70 -168.5t109 -143t141 -110.5t167 -71t186.5 -25t186.5 25.5t167 71.5t141 110.5t109 143t70 168.5t24.5 187q0 145 -54.5 273t-149 223.5t-221.5 151t-273 55.5q-97 0 -186.5 -25t-167 -70.5 t-141 -109.5t-109 -142t-70 -168t-24.5 -188zM584 612q0 214 92 329.5t280 115.5q61 0 110.5 -15t88 -39.5t65.5 -57t44 -66.5l-95 -58q-13 26 -31 51t-43.5 44t-60 30.5t-80.5 11.5q-70 0 -118.5 -22.5t-79 -66.5t-44.5 -108.5t-14 -148.5q0 -86 14 -150.5t44.5 -107.5 t79 -64.5t116.5 -21.5q45 0 81 11.5t64 32t49 47.5t36 59l94 -53q-18 -38 -45.5 -73t-66 -62t-90 -43.5t-118.5 -16.5q-188 0 -280 109t-92 333z" />
+<glyph unicode="&#xaa;" horiz-adv-x="754" d="M92 905q0 66 21.5 109t57 69t81.5 38.5t94 17.5l178 12v31q0 76 -40 107.5t-132 31.5q-36 0 -63.5 -7.5t-48 -19.5t-35 -27.5t-23.5 -31.5l-84 51q16 26 38.5 49t53.5 40.5t71.5 27.5t92.5 10q73 0 125 -12.5t85.5 -41t49 -75t15.5 -113.5v-460h-105v88 q-25 -21 -51.5 -40.5t-55 -34t-59 -23.5t-63.5 -9q-52 0 -90.5 15.5t-63.5 44t-37 67.5t-12 86zM201 907q0 -62 25 -92.5t91 -30.5q28 0 55.5 11t53.5 28t51 36.5t47 37.5v168l-139 -12q-91 -7 -137.5 -39.5t-46.5 -106.5z" />
+<glyph unicode="&#xab;" horiz-adv-x="1118" d="M76 524l381 471h145l-381 -471l381 -471h-145zM524 524l379 471h146l-379 -471l379 -471h-146z" />
+<glyph unicode="&#xac;" horiz-adv-x="1427" d="M178 815v111h1069v-566h-108v455h-961z" />
+<glyph unicode="&#xad;" horiz-adv-x="848" d="M113 463v127h622v-127h-622z" />
+<glyph unicode="&#xae;" horiz-adv-x="1882" d="M135 610q0 115 29 219.5t81 193.5t126 161t163 123t192 78.5t214 27.5q116 0 220.5 -28.5t193.5 -81t161 -126t122.5 -162.5t78 -191.5t27.5 -213.5q0 -116 -28.5 -220.5t-81 -194.5t-125.5 -162.5t-162.5 -123.5t-192 -78.5t-213.5 -27.5q-115 0 -219.5 29t-194 81.5 t-162 126t-123.5 163t-78.5 192.5t-27.5 215zM242 610q0 -98 24.5 -188t70 -168.5t109 -143t141 -110.5t167 -71t186.5 -25t186.5 25.5t167 71.5t141 110.5t109 143t70 168.5t24.5 187q0 145 -54.5 273t-149 223.5t-221.5 151t-273 55.5q-97 0 -186.5 -25t-167 -70.5 t-141 -109.5t-109 -142t-70 -168t-24.5 -188zM668 201v850h264q74 0 130 -13t93.5 -42t56.5 -75t19 -112q0 -57 -13.5 -99t-37.5 -71.5t-58 -48t-75 -27.5l231 -362h-131l-219 350h-150v-350h-110zM778 647h156q49 0 83.5 8.5t56 27t31 49t9.5 75.5q0 81 -44 114t-142 33 h-150v-307z" />
+<glyph unicode="&#xaf;" horiz-adv-x="1106" d="M262 1255v111h580v-111h-580z" />
+<glyph unicode="&#xb0;" horiz-adv-x="862" d="M166 1241q0 54 21 102t57 83.5t84 56t102 20.5q56 0 104.5 -21t84.5 -56.5t56.5 -83t20.5 -101.5q0 -56 -21.5 -105t-57.5 -85t-84 -57t-101 -21q-54 0 -102.5 21t-85 57t-57.5 85t-21 105zM264 1241q0 -35 13 -66t35.5 -54t53.5 -36.5t66 -13.5t65.5 13.5t53 36t35 53 t12.5 65.5q0 34 -12.5 64.5t-35 53t-53 35.5t-65.5 13q-36 0 -67 -13.5t-53.5 -36t-35 -52.5t-12.5 -62z" />
+<glyph unicode="&#xb1;" horiz-adv-x="1427" d="M178 0v111h1069v-111h-1069zM178 799v110h477v477h111v-477h481v-110h-481v-482h-111v482h-477z" />
+<glyph unicode="&#xb2;" horiz-adv-x="883" d="M121 1360q17 28 42 57t62.5 52.5t88.5 38t120 14.5q66 0 122 -13.5t97.5 -42t64.5 -73.5t23 -109q0 -46 -12 -85t-30.5 -71t-41 -57t-43.5 -43q-71 -60 -151 -122.5t-180 -133.5h491v-102h-649v106q42 31 88 66.5t90.5 70.5t84 68t67.5 59q47 37 77.5 67t48 57.5 t24.5 55.5t7 62q0 66 -44 101.5t-138 35.5q-78 0 -127.5 -32.5t-83.5 -88.5z" />
+<glyph unicode="&#xb3;" horiz-adv-x="883" d="M102 782l97 62q35 -47 90.5 -74t113.5 -27q106 0 156.5 43.5t50.5 124.5q0 75 -46.5 112.5t-155.5 37.5h-93v100h80q105 0 154 38t49 97q0 57 -43.5 91t-134.5 34q-72 0 -123 -25t-92 -83l-96 57q19 31 47 58.5t66.5 48.5t88.5 33t113 12q80 0 137.5 -17t94 -46t54 -68.5 t17.5 -85.5q0 -65 -38 -114.5t-114 -72.5q75 -21 119.5 -75t44.5 -136q0 -129 -87.5 -196.5t-243.5 -67.5q-43 0 -87.5 8.5t-85 25.5t-75 43.5t-58.5 61.5z" />
+<glyph unicode="&#xb4;" horiz-adv-x="1106" d="M455 1208l186 361h178l-260 -361h-104z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1141" d="M166 -395v1444h131v-832q51 -59 117.5 -92t146.5 -33q76 0 146 42t129 120v795h131v-1049h-121l-10 123q-28 -35 -57.5 -63t-63.5 -48.5t-72.5 -31.5t-83.5 -11q-40 0 -74.5 5t-66 16.5t-61 30t-60.5 45.5v-461h-131z" />
+<glyph unicode="&#xb6;" horiz-adv-x="1225" d="M68 1079q0 94 35 169.5t97 129t146.5 82.5t183.5 29h623v-107h-195v-1777h-122v1777h-211v-1777h-123v1059q-75 0 -152 23t-139.5 72.5t-102.5 128.5t-40 191z" />
+<glyph unicode="&#xb7;" d="M172 745q0 50 22 71.5t74 21.5q54 0 77.5 -21.5t23.5 -71.5q0 -52 -25 -72t-76 -20q-55 0 -75.5 24.5t-20.5 67.5z" />
+<glyph unicode="&#xb8;" horiz-adv-x="1106" d="M266 -348l39 80q18 -7 40.5 -13.5t47.5 -12t51 -8.5t52 -3q68 0 102.5 25t34.5 71q0 29 -14 50t-39 35.5t-59.5 22t-76.5 9.5l56 106h86l-25 -49q90 -18 133 -63.5t43 -114.5q0 -45 -18.5 -79.5t-51.5 -57t-77.5 -34t-95.5 -11.5q-32 0 -66 4.5t-65.5 11t-57 15 t-39.5 16.5z" />
+<glyph unicode="&#xb9;" horiz-adv-x="883" d="M182 1249v88q61 2 106.5 15t78.5 35.5t53.5 52.5t30.5 67h92v-837h-119v649q-42 -34 -104.5 -52t-137.5 -18z" />
+<glyph unicode="&#xba;" horiz-adv-x="817" d="M106 1051q0 78 16 144.5t52 115t94 75.5t142 27q82 0 139 -28t92.5 -76.5t51.5 -115t16 -142.5q0 -77 -16 -142.5t-51.5 -113.5t-92.5 -75.5t-139 -27.5q-83 0 -141 27.5t-94 75.5t-52.5 113.5t-16.5 142.5zM217 1051q0 -54 7 -102.5t27.5 -85t58 -58t98.5 -21.5 q60 0 97.5 21.5t58.5 58t28.5 85t7.5 102.5t-7.5 102.5t-28.5 86t-58.5 59.5t-97.5 22q-62 0 -99.5 -22t-57.5 -59.5t-27 -86t-7 -102.5z" />
+<glyph unicode="&#xbb;" horiz-adv-x="1118" d="M70 53l379 471l-379 471h145l379 -471l-379 -471h-145zM516 53l381 471l-381 471h146l380 -471l-380 -471h-146z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1870" d="M171 1133v88q61 2 106.5 15t78.5 35.5t53.5 52.5t30.5 67h92v-837h-119v649q-42 -34 -104.5 -52t-137.5 -18zM457 -51l801 1487h122l-804 -1487h-119zM1028 185v96l495 549h95v-547h133v-98h-133v-190h-119v190h-471zM1165 283h334v371z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1870" d="M97 1133v88q61 2 106.5 15t78.5 35.5t53.5 52.5t30.5 67h92v-837h-119v649q-42 -34 -104.5 -52t-137.5 -18zM373 -51l801 1487h122l-804 -1487h-119zM1094 683q17 28 42 57t62.5 52.5t88.5 38t120 14.5q66 0 122 -13.5t97.5 -42t64.5 -73.5t23 -109q0 -46 -12 -85 t-30.5 -71t-41 -57t-43.5 -43q-71 -60 -151 -122.5t-180 -133.5h491v-102h-649v106q42 31 88 66.5t90.5 70.5t84 68t67.5 59q47 37 77.5 67t48 57.5t24.5 55.5t7 62q0 66 -44 101.5t-138 35.5q-78 0 -127.5 -32.5t-83.5 -88.5z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1870" d="M133 666l97 62q35 -47 90.5 -74t113.5 -27q106 0 156.5 43.5t50.5 124.5q0 75 -46.5 112.5t-155.5 37.5h-93v100h80q105 0 154 38t49 97q0 57 -43.5 91t-134.5 34q-72 0 -123 -25t-92 -83l-96 57q19 31 47 58.5t66.5 48.5t88.5 33t113 12q80 0 137.5 -17t94 -46t54 -68.5 t17.5 -85.5q0 -65 -38 -114.5t-114 -72.5q75 -21 119.5 -75t44.5 -136q0 -129 -87.5 -196.5t-243.5 -67.5q-43 0 -87.5 8.5t-85 25.5t-75 43.5t-58.5 61.5zM561 -51l801 1487h122l-804 -1487h-119zM1088 183v96l495 549h95v-547h133v-98h-133v-190h-119v190h-471zM1225 281 h334v371z" />
+<glyph unicode="&#xbf;" horiz-adv-x="1036" d="M127 -27q0 89 29 160t83 132t130.5 115t171.5 109v218h131v-275q-115 -65 -192.5 -118.5t-124 -105t-66 -105.5t-19.5 -121q0 -121 74 -188.5t217 -67.5q58 0 103.5 11.5t80 30.5t58.5 44t39 51l108 -72q-21 -38 -56.5 -72t-84 -59.5t-110 -40t-136.5 -14.5 q-93 0 -173 22t-138.5 67.5t-91.5 114.5t-33 164zM504 983q0 53 25 72.5t77 19.5q58 0 79.5 -24.5t21.5 -67.5q0 -49 -23.5 -70.5t-77.5 -21.5q-57 0 -79.5 21.5t-22.5 70.5z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1264" d="M63 0l480 1384h174l483 -1384h-147l-135 399h-578l-135 -399h-142zM371 1905h176l186 -361h-104zM381 522h493l-247 731z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1264" d="M63 0l480 1384h174l483 -1384h-147l-135 399h-578l-135 -399h-142zM381 522h493l-247 731zM535 1544l186 361h178l-260 -361h-104z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1264" d="M63 0l480 1384h174l483 -1384h-147l-135 399h-578l-135 -399h-142zM314 1544l229 361h168l229 -361h-110l-203 265l-203 -265h-110zM381 522h493l-247 731z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1264" d="M63 0l480 1384h174l483 -1384h-147l-135 399h-578l-135 -399h-142zM266 1550q5 118 60 177t149 59q37 0 68 -10.5t57 -26.5t49 -34.5t45 -34.5t44.5 -26.5t48.5 -10.5q51 0 77 32t31 101h94q-3 -115 -58.5 -174.5t-149.5 -59.5q-43 0 -74.5 11t-56.5 27t-45.5 35 t-41.5 35t-44.5 27t-53.5 11q-51 0 -75 -34t-29 -104h-95zM381 522h493l-247 731z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1264" d="M63 0l480 1384h174l483 -1384h-147l-135 399h-578l-135 -399h-142zM357 1636q0 45 18.5 67t69.5 22q53 0 71.5 -21.5t18.5 -67.5q0 -48 -19.5 -69t-70.5 -21q-27 0 -44 6.5t-27 18.5t-13.5 28.5t-3.5 36.5zM381 522h493l-247 731zM727 1636q0 45 18.5 67t69.5 22 q54 0 72 -21t18 -68q0 -48 -19.5 -69t-70.5 -21q-53 0 -70.5 25t-17.5 65z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1264" d="M63 0l480 1384h174l483 -1384h-147l-135 399h-578l-135 -399h-142zM381 522h493l-247 731zM449 1677q0 39 10.5 72.5t32.5 57.5t56 37.5t81 13.5q94 0 138 -49.5t44 -131.5q0 -40 -11 -73t-33.5 -57t-56.5 -37t-81 -13q-49 0 -83.5 14t-56 38.5t-31 57t-9.5 70.5z M529 1677q0 -46 22 -75t78 -29q54 0 77 27.5t23 76.5q0 103 -100 103q-48 0 -74 -26.5t-26 -76.5z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1714" d="M57 0l521 1384h999v-122h-623v-467h555v-123h-555v-549h623v-123h-758v393h-477l-145 -393h-140zM387 516h432v746h-157z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1315" d="M145 692q0 176 34 310.5t105 226t180.5 138t260.5 46.5q97 0 173 -19t133.5 -54t100 -84t74.5 -109l-116 -74q-26 48 -58 87.5t-75.5 68.5t-100 45t-131.5 16q-118 0 -201 -39.5t-135 -116t-76 -187.5t-24 -255t24 -255t77 -187.5t137 -116t204 -39.5q84 0 145.5 20 t105.5 52t74.5 71.5t53.5 79.5l115 -71q-32 -58 -73 -107t-96.5 -86t-129.5 -58.5t-172 -23.5v-2q89 -18 132.5 -63.5t43.5 -114.5q0 -45 -19 -79.5t-52 -57t-77.5 -34t-95.5 -11.5q-32 0 -65.5 4.5t-64.5 11t-56.5 15t-40.5 16.5l39 80q37 -14 88 -25.5t102 -11.5 q69 0 103 25t34 71q0 29 -13.5 50t-38.5 35.5t-59 22t-75 9.5l31 61q-271 19 -398 199.5t-127 519.5z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1155" d="M199 0v1384h819v-122h-684v-467h588v-123h-588v-549h684v-123h-819zM357 1905h176l186 -361h-104z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1155" d="M199 0v1384h819v-122h-684v-467h588v-123h-588v-549h684v-123h-819zM498 1544l186 361h178l-260 -361h-104z" />
+<glyph unicode="&#xca;" horiz-adv-x="1155" d="M199 0v1384h819v-122h-684v-467h588v-123h-588v-549h684v-123h-819zM291 1544l229 361h168l229 -361h-110l-203 265l-203 -265h-110z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1155" d="M199 0v1384h819v-122h-684v-467h588v-123h-588v-549h684v-123h-819zM330 1636q0 45 18.5 67t69.5 22q53 0 71.5 -21.5t18.5 -67.5q0 -48 -19.5 -69t-70.5 -21q-27 0 -44 6.5t-27 18.5t-13.5 28.5t-3.5 36.5zM700 1636q0 45 18.5 67t69.5 22q54 0 72 -21t18 -68 q0 -48 -19.5 -69t-70.5 -21q-53 0 -70.5 25t-17.5 65z" />
+<glyph unicode="&#xcc;" horiz-adv-x="719" d="M91 1905h176l186 -361h-104zM102 0v119h189v1147h-189v118h514v-118h-190v-1147h190v-119h-514z" />
+<glyph unicode="&#xcd;" horiz-adv-x="719" d="M102 0v119h189v1147h-189v118h514v-118h-190v-1147h190v-119h-514zM280 1544l186 361h178l-260 -361h-104z" />
+<glyph unicode="&#xce;" horiz-adv-x="719" d="M48 1544l229 361h168l229 -361h-110l-203 265l-203 -265h-110zM102 0v119h189v1147h-189v118h514v-118h-190v-1147h190v-119h-514z" />
+<glyph unicode="&#xcf;" horiz-adv-x="719" d="M92 1636q0 45 18.5 67t69.5 22q53 0 71.5 -21.5t18.5 -67.5q0 -48 -19.5 -69t-70.5 -21q-27 0 -44 6.5t-27 18.5t-13.5 28.5t-3.5 36.5zM102 0v119h189v1147h-189v118h514v-118h-190v-1147h190v-119h-514zM462 1636q0 45 18.5 67t69.5 22q54 0 72 -21t18 -68 q0 -48 -19.5 -69t-70.5 -21q-53 0 -70.5 25t-17.5 65z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1325" d="M63 641v109h130v634h331q169 0 293.5 -35t206 -116t121 -213.5t39.5 -327.5q0 -203 -43 -336.5t-127 -212.5t-207 -111t-283 -32h-331v641h-130zM328 123h184q142 0 242.5 28.5t164 95.5t92.5 176.5t29 270.5q0 157 -28 265.5t-91 176t-163.5 97t-245.5 29.5h-184v-512 h338v-109h-338v-518z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1374" d="M199 0v1384h196l647 -1165v1165h134v-1384h-160l-686 1235v-1235h-131zM315 1570q5 118 60 177t149 59q37 0 68 -10.5t57 -26.5t49 -34.5t45 -34.5t44.5 -26.5t48.5 -10.5q51 0 77 32t31 101h94q-3 -115 -58.5 -174.5t-149.5 -59.5q-43 0 -74.5 11t-56.5 27t-45.5 35 t-41.5 35t-44.5 27t-53.5 11q-51 0 -75 -34t-29 -104h-95z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1364" d="M135 692q0 166 29.5 299.5t94.5 227t169 144t254 50.5t254.5 -50t169.5 -143t94 -226.5t29 -301.5q0 -167 -29 -300.5t-94 -227t-169.5 -143.5t-254.5 -50t-254 50t-169 144t-94.5 227t-29.5 300zM279 692q0 -144 21 -255t68.5 -187.5t124.5 -116t189 -39.5 q111 0 188 39.5t124 115.5t68 187.5t21 255.5t-21 255.5t-68 187.5t-124 115.5t-188 39.5q-112 0 -189 -39t-124.5 -115t-68.5 -187.5t-21 -256.5zM461 1905h176l186 -361h-104z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1364" d="M135 692q0 166 29.5 299.5t94.5 227t169 144t254 50.5t254.5 -50t169.5 -143t94 -226.5t29 -301.5q0 -167 -29 -300.5t-94 -227t-169.5 -143.5t-254.5 -50t-254 50t-169 144t-94.5 227t-29.5 300zM279 692q0 -144 21 -255t68.5 -187.5t124.5 -116t189 -39.5 q111 0 188 39.5t124 115.5t68 187.5t21 255.5t-21 255.5t-68 187.5t-124 115.5t-188 39.5q-112 0 -189 -39t-124.5 -115t-68.5 -187.5t-21 -256.5zM586 1544l186 361h178l-260 -361h-104z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1364" d="M135 692q0 166 29.5 299.5t94.5 227t169 144t254 50.5t254.5 -50t169.5 -143t94 -226.5t29 -301.5q0 -167 -29 -300.5t-94 -227t-169.5 -143.5t-254.5 -50t-254 50t-169 144t-94.5 227t-29.5 300zM279 692q0 -144 21 -255t68.5 -187.5t124.5 -116t189 -39.5 q111 0 188 39.5t124 115.5t68 187.5t21 255.5t-21 255.5t-68 187.5t-124 115.5t-188 39.5q-112 0 -189 -39t-124.5 -115t-68.5 -187.5t-21 -256.5zM369 1544l229 361h168l229 -361h-110l-203 265l-203 -265h-110z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1364" d="M135 692q0 166 29.5 299.5t94.5 227t169 144t254 50.5t254.5 -50t169.5 -143t94 -226.5t29 -301.5q0 -167 -29 -300.5t-94 -227t-169.5 -143.5t-254.5 -50t-254 50t-169 144t-94.5 227t-29.5 300zM279 692q0 -144 21 -255t68.5 -187.5t124.5 -116t189 -39.5 q111 0 188 39.5t124 115.5t68 187.5t21 255.5t-21 255.5t-68 187.5t-124 115.5t-188 39.5q-112 0 -189 -39t-124.5 -115t-68.5 -187.5t-21 -256.5zM321 1550q5 118 60 177t149 59q37 0 68 -10.5t57 -26.5t49 -34.5t45 -34.5t44.5 -26.5t48.5 -10.5q51 0 77 32t31 101h94 q-3 -115 -58.5 -174.5t-149.5 -59.5q-43 0 -74.5 11t-56.5 27t-45.5 35t-41.5 35t-44.5 27t-53.5 11q-51 0 -75 -34t-29 -104h-95z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1364" d="M135 692q0 166 29.5 299.5t94.5 227t169 144t254 50.5t254.5 -50t169.5 -143t94 -226.5t29 -301.5q0 -167 -29 -300.5t-94 -227t-169.5 -143.5t-254.5 -50t-254 50t-169 144t-94.5 227t-29.5 300zM279 692q0 -144 21 -255t68.5 -187.5t124.5 -116t189 -39.5 q111 0 188 39.5t124 115.5t68 187.5t21 255.5t-21 255.5t-68 187.5t-124 115.5t-188 39.5q-112 0 -189 -39t-124.5 -115t-68.5 -187.5t-21 -256.5zM412 1636q0 45 18.5 67t69.5 22q53 0 71.5 -21.5t18.5 -67.5q0 -48 -19.5 -69t-70.5 -21q-27 0 -44 6.5t-27 18.5t-13.5 28.5 t-3.5 36.5zM782 1636q0 45 18.5 67t69.5 22q54 0 72 -21t18 -68q0 -48 -19.5 -69t-70.5 -21q-53 0 -70.5 25t-17.5 65z" />
+<glyph unicode="&#xd7;" horiz-adv-x="1427" d="M242 197l391 391l-391 393l80 78l389 -393l391 393l78 -78l-392 -393l392 -391l-78 -78l-391 391l-389 -391z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1364" d="M63 -115l195 281q-66 93 -94.5 225.5t-28.5 300.5q0 166 29.5 299.5t94.5 227t169 144t254 50.5q118 0 206.5 -31t151.5 -90l140 197h116l-190 -272q65 -94 94 -226t29 -299t-29 -300.5t-94 -227t-169.5 -143.5t-254.5 -50q-118 0 -206.5 30.5t-151.5 90.5l-144 -207 h-117zM279 692q0 -127 16 -226.5t51 -174.5l617 887q-48 55 -117.5 83.5t-163.5 28.5q-112 0 -189 -39t-124.5 -115t-68.5 -187.5t-21 -256.5zM401 205q51 -56 118 -83.5t163 -27.5q111 0 188 39.5t124 115.5t68 187.5t21 255.5q0 124 -16 222.5t-51 172.5z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1378" d="M193 578v806h135v-786q0 -144 17 -241t59 -156.5t111.5 -85t174.5 -25.5q106 0 175.5 25.5t110 85t57 156t16.5 237.5v790h135v-806q0 -170 -26 -286.5t-84.5 -188t-152.5 -103t-229 -31.5q-141 0 -237 32.5t-154 105t-83 188.5t-25 283zM445 1905h176l186 -361h-104z " />
+<glyph unicode="&#xda;" horiz-adv-x="1378" d="M193 578v806h135v-786q0 -144 17 -241t59 -156.5t111.5 -85t174.5 -25.5q106 0 175.5 25.5t110 85t57 156t16.5 237.5v790h135v-806q0 -170 -26 -286.5t-84.5 -188t-152.5 -103t-229 -31.5q-141 0 -237 32.5t-154 105t-83 188.5t-25 283zM607 1544l186 361h178l-260 -361 h-104z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1378" d="M193 578v806h135v-786q0 -144 17 -241t59 -156.5t111.5 -85t174.5 -25.5q106 0 175.5 25.5t110 85t57 156t16.5 237.5v790h135v-806q0 -170 -26 -286.5t-84.5 -188t-152.5 -103t-229 -31.5q-141 0 -237 32.5t-154 105t-83 188.5t-25 283zM379 1544l229 361h168l229 -361 h-110l-203 265l-203 -265h-110z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1378" d="M193 578v806h135v-786q0 -144 17 -241t59 -156.5t111.5 -85t174.5 -25.5q106 0 175.5 25.5t110 85t57 156t16.5 237.5v790h135v-806q0 -170 -26 -286.5t-84.5 -188t-152.5 -103t-229 -31.5q-141 0 -237 32.5t-154 105t-83 188.5t-25 283zM420 1636q0 45 18.5 67t69.5 22 q53 0 71.5 -21.5t18.5 -67.5q0 -48 -19.5 -69t-70.5 -21q-27 0 -44 6.5t-27 18.5t-13.5 28.5t-3.5 36.5zM790 1636q0 45 18.5 67t69.5 22q54 0 72 -21t18 -68q0 -48 -19.5 -69t-70.5 -21q-53 0 -70.5 25t-17.5 65z" />
+<glyph unicode="&#xdd;" horiz-adv-x="1126" d="M51 1384h150l362 -720l367 720h145l-444 -847v-537h-137v530zM480 1544l186 361h178l-260 -361h-104z" />
+<glyph unicode="&#xde;" horiz-adv-x="1153" d="M199 0v1384h135v-223h248q238 0 350 -107.5t112 -322.5q0 -127 -29 -215.5t-88.5 -144t-149.5 -80.5t-212 -25h-231v-266h-135zM334 389h209q93 0 160 15t110 53t63.5 103t20.5 165q0 91 -22 151t-64 96t-103 51t-139 15h-235v-649z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1149" d="M182 0v1040q0 103 14.5 191t56 152t115 100.5t191.5 36.5q81 0 147 -18.5t112.5 -58t71.5 -100.5t25 -145t-20 -143.5t-56 -99.5t-85.5 -60.5t-108.5 -26.5q186 -15 280.5 -121.5t94.5 -295.5q0 -102 -20.5 -190.5t-67 -153t-122 -101.5t-185.5 -37q-50 0 -102.5 9.5 t-100.5 23.5v123q46 -20 100.5 -31.5t98.5 -11.5q73 0 123 26t81.5 74.5t45.5 118.5t14 158q0 96 -27 161t-82 105t-137 57t-193 17v114q85 0 149 14t106.5 46t63.5 84.5t21 130.5q0 111 -55 165t-176 54q-71 0 -118 -22t-75 -66.5t-39.5 -112t-11.5 -157.5v-1049h-129z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1079" d="M121 295q0 82 24 143t75 103.5t130.5 67.5t190.5 36l235 23v53q0 66 -15 112.5t-47.5 76.5t-83 43.5t-120.5 13.5q-59 0 -102.5 -10.5t-75 -28t-52.5 -40.5t-36 -48l-103 63q22 36 52.5 68t75 56t104 38t139.5 14q106 0 180.5 -20t122 -63.5t69 -113t21.5 -169.5v-713 h-129v152q-45 -39 -87 -72.5t-85.5 -58t-90 -38.5t-99.5 -14q-74 0 -129 22.5t-91.5 65t-54.5 103t-18 135.5zM254 299q0 -114 46 -165.5t144 -51.5q37 0 72.5 11t74.5 33.5t84 58t101 83.5v293l-188 -18q-90 -9 -153.5 -25.5t-103.5 -45t-58.5 -71t-18.5 -102.5zM288 1569 h176l186 -361h-104z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1079" d="M121 295q0 82 24 143t75 103.5t130.5 67.5t190.5 36l235 23v53q0 66 -15 112.5t-47.5 76.5t-83 43.5t-120.5 13.5q-59 0 -102.5 -10.5t-75 -28t-52.5 -40.5t-36 -48l-103 63q22 36 52.5 68t75 56t104 38t139.5 14q106 0 180.5 -20t122 -63.5t69 -113t21.5 -169.5v-713 h-129v152q-45 -39 -87 -72.5t-85.5 -58t-90 -38.5t-99.5 -14q-74 0 -129 22.5t-91.5 65t-54.5 103t-18 135.5zM254 299q0 -114 46 -165.5t144 -51.5q37 0 72.5 11t74.5 33.5t84 58t101 83.5v293l-188 -18q-90 -9 -153.5 -25.5t-103.5 -45t-58.5 -71t-18.5 -102.5zM419 1208 l186 361h178l-260 -361h-104z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1079" d="M121 295q0 82 24 143t75 103.5t130.5 67.5t190.5 36l235 23v53q0 66 -15 112.5t-47.5 76.5t-83 43.5t-120.5 13.5q-59 0 -102.5 -10.5t-75 -28t-52.5 -40.5t-36 -48l-103 63q22 36 52.5 68t75 56t104 38t139.5 14q106 0 180.5 -20t122 -63.5t69 -113t21.5 -169.5v-713 h-129v152q-45 -39 -87 -72.5t-85.5 -58t-90 -38.5t-99.5 -14q-74 0 -129 22.5t-91.5 65t-54.5 103t-18 135.5zM204 1208l229 361h168l229 -361h-110l-203 265l-203 -265h-110zM254 299q0 -114 46 -165.5t144 -51.5q37 0 72.5 11t74.5 33.5t84 58t101 83.5v293l-188 -18 q-90 -9 -153.5 -25.5t-103.5 -45t-58.5 -71t-18.5 -102.5z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1079" d="M121 295q0 82 24 143t75 103.5t130.5 67.5t190.5 36l235 23v53q0 66 -15 112.5t-47.5 76.5t-83 43.5t-120.5 13.5q-59 0 -102.5 -10.5t-75 -28t-52.5 -40.5t-36 -48l-103 63q22 36 52.5 68t75 56t104 38t139.5 14q106 0 180.5 -20t122 -63.5t69 -113t21.5 -169.5v-713 h-129v152q-45 -39 -87 -72.5t-85.5 -58t-90 -38.5t-99.5 -14q-74 0 -129 22.5t-91.5 65t-54.5 103t-18 135.5zM162 1214q5 118 60 177t149 59q37 0 68 -10.5t57 -26.5t49 -34.5t45 -34.5t44.5 -26.5t48.5 -10.5q51 0 77 32t31 101h94q-3 -115 -58.5 -174.5t-149.5 -59.5 q-43 0 -74.5 11t-56.5 27t-45.5 35t-41.5 35t-44.5 27t-53.5 11q-51 0 -75 -34t-29 -104h-95zM254 299q0 -114 46 -165.5t144 -51.5q37 0 72.5 11t74.5 33.5t84 58t101 83.5v293l-188 -18q-90 -9 -153.5 -25.5t-103.5 -45t-58.5 -71t-18.5 -102.5z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1079" d="M121 295q0 82 24 143t75 103.5t130.5 67.5t190.5 36l235 23v53q0 66 -15 112.5t-47.5 76.5t-83 43.5t-120.5 13.5q-59 0 -102.5 -10.5t-75 -28t-52.5 -40.5t-36 -48l-103 63q22 36 52.5 68t75 56t104 38t139.5 14q106 0 180.5 -20t122 -63.5t69 -113t21.5 -169.5v-713 h-129v152q-45 -39 -87 -72.5t-85.5 -58t-90 -38.5t-99.5 -14q-74 0 -129 22.5t-91.5 65t-54.5 103t-18 135.5zM241 1300q0 45 18.5 67t69.5 22q53 0 71.5 -21.5t18.5 -67.5q0 -48 -19.5 -69t-70.5 -21q-27 0 -44 6.5t-27 18.5t-13.5 28.5t-3.5 36.5zM254 299 q0 -114 46 -165.5t144 -51.5q37 0 72.5 11t74.5 33.5t84 58t101 83.5v293l-188 -18q-90 -9 -153.5 -25.5t-103.5 -45t-58.5 -71t-18.5 -102.5zM611 1300q0 45 18.5 67t69.5 22q54 0 72 -21t18 -68q0 -48 -19.5 -69t-70.5 -21q-53 0 -70.5 25t-17.5 65z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1079" d="M121 295q0 82 24 143t75 103.5t130.5 67.5t190.5 36l235 23v53q0 66 -15 112.5t-47.5 76.5t-83 43.5t-120.5 13.5q-59 0 -102.5 -10.5t-75 -28t-52.5 -40.5t-36 -48l-103 63q22 36 52.5 68t75 56t104 38t139.5 14q106 0 180.5 -20t122 -63.5t69 -113t21.5 -169.5v-713 h-129v152q-45 -39 -87 -72.5t-85.5 -58t-90 -38.5t-99.5 -14q-74 0 -129 22.5t-91.5 65t-54.5 103t-18 135.5zM254 299q0 -114 46 -165.5t144 -51.5q37 0 72.5 11t74.5 33.5t84 58t101 83.5v293l-188 -18q-90 -9 -153.5 -25.5t-103.5 -45t-58.5 -71t-18.5 -102.5zM329 1339 q0 39 10.5 72.5t32.5 57.5t56 37.5t81 13.5q94 0 138 -49.5t44 -131.5q0 -40 -11 -73t-33.5 -57t-56.5 -37t-81 -13q-49 0 -83.5 14t-56 38.5t-31 57t-9.5 70.5zM409 1339q0 -46 22 -75t78 -29q54 0 77 27.5t23 76.5q0 103 -100 103q-48 0 -74 -26.5t-26 -76.5z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1694" d="M121 299q0 84 25.5 144t77.5 101t130.5 64.5t184.5 32.5l237 21v59q0 69 -18 116t-53 76t-86 41.5t-117 12.5q-101 0 -163.5 -36.5t-94.5 -92.5l-103 63q25 40 56.5 73t75 56t102 36t137.5 13q63 0 118 -9.5t100 -30.5t79 -54.5t55 -81.5q47 81 130 128.5t198 47.5 q108 0 182.5 -32.5t120.5 -93t66 -148t20 -197.5v-84h-676q0 -95 12.5 -176t46 -140.5t91.5 -93.5t149 -34q45 0 81 9.5t66 28t56 45.5t51 62l103 -67q-28 -45 -60.5 -80t-74.5 -59t-96 -37t-124 -13q-127 0 -220 48.5t-142 142.5q-45 -37 -96 -71.5t-106.5 -61t-115 -42.5 t-123.5 -16q-68 0 -120.5 24t-88.5 67.5t-54.5 104.5t-18.5 134zM254 295q0 -109 49.5 -161t134.5 -52q48 0 94 13.5t91 37t90.5 55t91.5 68.5q-16 48 -22.5 125.5t-6.5 173.5l-188 -16q-86 -7 -149 -21.5t-104 -42.5t-61 -71.5t-20 -108.5zM907 629h547q-3 175 -65.5 258.5 t-198.5 83.5q-62 0 -112 -20.5t-87 -62.5t-58.5 -106.5t-25.5 -152.5z" />
+<glyph unicode="&#xe7;" horiz-adv-x="1016" d="M129 520q0 128 24.5 231.5t77 176t135 112t199.5 39.5q124 0 207.5 -49t140.5 -151l-106 -64q-21 37 -44.5 65t-53 47.5t-66.5 29.5t-84 10q-155 0 -226 -114t-71 -337q0 -98 15.5 -178t51 -137.5t94 -89t144.5 -31.5q49 0 86.5 10.5t67.5 30.5t54 48.5t46 63.5l105 -65 q-48 -89 -128 -142t-206 -57l-2 -4q90 -17 133 -61t43 -113q0 -45 -19 -79.5t-52 -58t-77.5 -35t-95.5 -11.5q-32 0 -65.5 4.5t-64.5 11.5t-56.5 15.5t-40.5 17.5l39 78q37 -14 88 -25.5t102 -11.5q69 0 103.5 26t34.5 72q0 28 -14 49t-38.5 34.5t-59 20.5t-75.5 9l31 65 q-105 10 -177.5 55t-116.5 117t-63.5 168t-19.5 207z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1051" d="M129 516q0 133 23 237.5t73.5 177t131 110.5t196.5 38q102 0 175 -32t119.5 -92.5t68.5 -148t22 -198.5v-84h-676q0 -115 14.5 -199t49 -138.5t91.5 -80.5t142 -26q42 0 77 7.5t65.5 25t58.5 45t55 67.5l103 -67q-28 -45 -61.5 -80t-77 -59t-99 -37t-127.5 -13 q-104 0 -183 30t-132.5 95.5t-81 169.5t-27.5 252zM264 629h547q-3 177 -66 259.5t-196 82.5q-69 0 -119.5 -20t-85 -62t-54 -106.5t-26.5 -153.5zM292 1569h176l186 -361h-104z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1051" d="M129 516q0 133 23 237.5t73.5 177t131 110.5t196.5 38q102 0 175 -32t119.5 -92.5t68.5 -148t22 -198.5v-84h-676q0 -115 14.5 -199t49 -138.5t91.5 -80.5t142 -26q42 0 77 7.5t65.5 25t58.5 45t55 67.5l103 -67q-28 -45 -61.5 -80t-77 -59t-99 -37t-127.5 -13 q-104 0 -183 30t-132.5 95.5t-81 169.5t-27.5 252zM264 629h547q-3 177 -66 259.5t-196 82.5q-69 0 -119.5 -20t-85 -62t-54 -106.5t-26.5 -153.5zM454 1208l186 361h178l-260 -361h-104z" />
+<glyph unicode="&#xea;" horiz-adv-x="1051" d="M129 516q0 133 23 237.5t73.5 177t131 110.5t196.5 38q102 0 175 -32t119.5 -92.5t68.5 -148t22 -198.5v-84h-676q0 -115 14.5 -199t49 -138.5t91.5 -80.5t142 -26q42 0 77 7.5t65.5 25t58.5 45t55 67.5l103 -67q-28 -45 -61.5 -80t-77 -59t-99 -37t-127.5 -13 q-104 0 -183 30t-132.5 95.5t-81 169.5t-27.5 252zM231 1208l229 361h168l229 -361h-110l-203 265l-203 -265h-110zM264 629h547q-3 177 -66 259.5t-196 82.5q-69 0 -119.5 -20t-85 -62t-54 -106.5t-26.5 -153.5z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1051" d="M129 516q0 133 23 237.5t73.5 177t131 110.5t196.5 38q102 0 175 -32t119.5 -92.5t68.5 -148t22 -198.5v-84h-676q0 -115 14.5 -199t49 -138.5t91.5 -80.5t142 -26q42 0 77 7.5t65.5 25t58.5 45t55 67.5l103 -67q-28 -45 -61.5 -80t-77 -59t-99 -37t-127.5 -13 q-104 0 -183 30t-132.5 95.5t-81 169.5t-27.5 252zM264 629h547q-3 177 -66 259.5t-196 82.5q-69 0 -119.5 -20t-85 -62t-54 -106.5t-26.5 -153.5zM272 1300q0 45 18.5 67t69.5 22q53 0 71.5 -21.5t18.5 -67.5q0 -48 -19.5 -69t-70.5 -21q-27 0 -44 6.5t-27 18.5t-13.5 28.5 t-3.5 36.5zM642 1300q0 45 18.5 67t69.5 22q54 0 72 -21t18 -68q0 -48 -19.5 -69t-70.5 -21q-53 0 -70.5 25t-17.5 65z" />
+<glyph unicode="&#xec;" horiz-adv-x="494" d="M-23 1569h176l186 -361h-104zM182 0v1049h129v-1049h-129z" />
+<glyph unicode="&#xed;" horiz-adv-x="494" d="M157 1208l186 361h178l-260 -361h-104zM182 0v1049h129v-1049h-129z" />
+<glyph unicode="&#xee;" horiz-adv-x="494" d="M-66 1208l229 361h168l229 -361h-110l-203 265l-203 -265h-110zM182 0v1049h129v-1049h-129z" />
+<glyph unicode="&#xef;" horiz-adv-x="494" d="M-35 1300q0 45 18.5 67t69.5 22q53 0 71.5 -21.5t18.5 -67.5q0 -48 -19.5 -69t-70.5 -21q-27 0 -44 6.5t-27 18.5t-13.5 28.5t-3.5 36.5zM182 0v1049h129v-1049h-129zM335 1300q0 45 18.5 67t69.5 22q54 0 72 -21t18 -68q0 -48 -19.5 -69t-70.5 -21q-53 0 -70.5 25 t-17.5 65z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1141" d="M129 508q0 137 30 239t85.5 169t133.5 100t173 33q62 0 128.5 -21t123.5 -72q-28 85 -86.5 176.5t-143.5 172.5l-200 -131l-49 71l188 123q-50 50 -103.5 88t-97.5 64h144q15 -8 34 -19.5t38.5 -24.5t38 -27t32.5 -26l145 93l52 -70l-127 -84q81 -77 144.5 -169 t108 -198.5t68 -228.5t23.5 -258q0 -128 -26.5 -228t-80.5 -169t-137 -105.5t-197 -36.5q-117 0 -200.5 37.5t-137 107.5t-79 169.5t-25.5 224.5zM262 508q0 -89 13.5 -167t48.5 -136t94.5 -91.5t152.5 -33.5q91 0 150 33t93.5 91t48.5 136t14 168q0 94 -14 173t-49 135.5 t-94.5 88t-150.5 31.5q-87 0 -145.5 -29.5t-94.5 -85t-51.5 -134.5t-15.5 -179z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1137" d="M182 0v1049h129v-166q45 43 90.5 79t92 62t93.5 40.5t95 14.5q84 0 138 -25t86 -73.5t44.5 -119t12.5 -161.5v-700h-129v651q0 88 -8 147t-28 94t-54.5 49.5t-86.5 14.5q-69 0 -160 -51.5t-186 -142.5v-762h-129zM213 1214q5 118 60 177t149 59q37 0 68 -10.5t57 -26.5 t49 -34.5t45 -34.5t44.5 -26.5t48.5 -10.5q51 0 77 32t31 101h94q-3 -115 -58.5 -174.5t-149.5 -59.5q-43 0 -74.5 11t-56.5 27t-45.5 35t-41.5 35t-44.5 27t-53.5 11q-51 0 -75 -34t-29 -104h-95z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1141" d="M129 522q0 122 24 224.5t77 176.5t137 115t204 41q117 0 200.5 -39.5t137 -112.5t78.5 -175.5t25 -229.5q0 -125 -24 -226.5t-77 -174.5t-137 -112.5t-203 -39.5t-203 39.5t-137 112.5t-77.5 174.5t-24.5 226.5zM262 522q0 -104 16.5 -186t53 -139t95.5 -87t144 -30 q83 0 141.5 29.5t95 86.5t53 139t16.5 187q0 106 -16 189t-52 140t-94.5 86.5t-143.5 29.5q-86 0 -145 -30.5t-95.5 -88t-52.5 -140t-16 -186.5zM304 1569h176l186 -361h-104z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1141" d="M129 522q0 122 24 224.5t77 176.5t137 115t204 41q117 0 200.5 -39.5t137 -112.5t78.5 -175.5t25 -229.5q0 -125 -24 -226.5t-77 -174.5t-137 -112.5t-203 -39.5t-203 39.5t-137 112.5t-77.5 174.5t-24.5 226.5zM262 522q0 -104 16.5 -186t53 -139t95.5 -87t144 -30 q83 0 141.5 29.5t95 86.5t53 139t16.5 187q0 106 -16 189t-52 140t-94.5 86.5t-143.5 29.5q-86 0 -145 -30.5t-95.5 -88t-52.5 -140t-16 -186.5zM461 1208l186 361h178l-260 -361h-104z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1141" d="M129 522q0 122 24 224.5t77 176.5t137 115t204 41q117 0 200.5 -39.5t137 -112.5t78.5 -175.5t25 -229.5q0 -125 -24 -226.5t-77 -174.5t-137 -112.5t-203 -39.5t-203 39.5t-137 112.5t-77.5 174.5t-24.5 226.5zM258 1208l229 361h168l229 -361h-110l-203 265l-203 -265 h-110zM262 522q0 -104 16.5 -186t53 -139t95.5 -87t144 -30q83 0 141.5 29.5t95 86.5t53 139t16.5 187q0 106 -16 189t-52 140t-94.5 86.5t-143.5 29.5q-86 0 -145 -30.5t-95.5 -88t-52.5 -140t-16 -186.5z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1141" d="M129 522q0 122 24 224.5t77 176.5t137 115t204 41q117 0 200.5 -39.5t137 -112.5t78.5 -175.5t25 -229.5q0 -125 -24 -226.5t-77 -174.5t-137 -112.5t-203 -39.5t-203 39.5t-137 112.5t-77.5 174.5t-24.5 226.5zM208 1214q5 118 60 177t149 59q37 0 68 -10.5t57 -26.5 t49 -34.5t45 -34.5t44.5 -26.5t48.5 -10.5q51 0 77 32t31 101h94q-3 -115 -58.5 -174.5t-149.5 -59.5q-43 0 -74.5 11t-56.5 27t-45.5 35t-41.5 35t-44.5 27t-53.5 11q-51 0 -75 -34t-29 -104h-95zM262 522q0 -104 16.5 -186t53 -139t95.5 -87t144 -30q83 0 141.5 29.5 t95 86.5t53 139t16.5 187q0 106 -16 189t-52 140t-94.5 86.5t-143.5 29.5q-86 0 -145 -30.5t-95.5 -88t-52.5 -140t-16 -186.5z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1141" d="M129 522q0 122 24 224.5t77 176.5t137 115t204 41q117 0 200.5 -39.5t137 -112.5t78.5 -175.5t25 -229.5q0 -125 -24 -226.5t-77 -174.5t-137 -112.5t-203 -39.5t-203 39.5t-137 112.5t-77.5 174.5t-24.5 226.5zM262 522q0 -104 16.5 -186t53 -139t95.5 -87t144 -30 q83 0 141.5 29.5t95 86.5t53 139t16.5 187q0 106 -16 189t-52 140t-94.5 86.5t-143.5 29.5q-86 0 -145 -30.5t-95.5 -88t-52.5 -140t-16 -186.5zM299 1300q0 45 18.5 67t69.5 22q53 0 71.5 -21.5t18.5 -67.5q0 -48 -19.5 -69t-70.5 -21q-27 0 -44 6.5t-27 18.5t-13.5 28.5 t-3.5 36.5zM669 1300q0 45 18.5 67t69.5 22q54 0 72 -21t18 -68q0 -48 -19.5 -69t-70.5 -21q-53 0 -70.5 25t-17.5 65z" />
+<glyph unicode="&#xf7;" horiz-adv-x="1427" d="M178 532v111h1069v-111h-1069zM637 63v144h147v-144h-147zM637 967v143h147v-143h-147z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1141" d="M96 -76l137 195q-55 72 -79.5 174t-24.5 229q0 122 24 224.5t77 176.5t137 115t204 41q173 0 277 -92l96 137h113l-146 -204q51 -73 76 -173.5t25 -224.5q0 -125 -24 -226.5t-77 -174.5t-137 -112.5t-203 -39.5q-88 0 -155 21t-117 63l-92 -129h-111zM262 522 q0 -91 11.5 -164t37.5 -129l467 658q-38 42 -89.5 61t-117.5 19q-86 0 -145 -30.5t-95.5 -88t-52.5 -140t-16 -186.5zM369 152q38 -39 87.5 -55.5t114.5 -16.5q83 0 141.5 29.5t95 86.5t53 139t16.5 187q0 87 -10.5 158t-35.5 125z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1137" d="M174 348v701h129v-654q0 -88 7.5 -146.5t27 -94t53.5 -50t86 -14.5q71 0 161 52t187 145v762h129v-1049h-129v166q-44 -42 -89.5 -78.5t-92 -62.5t-93 -41t-93.5 -15q-85 0 -139.5 25t-86.5 73.5t-44.5 119t-12.5 161.5zM304 1569h176l186 -361h-104z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1137" d="M174 348v701h129v-654q0 -88 7.5 -146.5t27 -94t53.5 -50t86 -14.5q71 0 161 52t187 145v762h129v-1049h-129v166q-44 -42 -89.5 -78.5t-92 -62.5t-93 -41t-93.5 -15q-85 0 -139.5 25t-86.5 73.5t-44.5 119t-12.5 161.5zM482 1208l186 361h178l-260 -361h-104z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1137" d="M174 348v701h129v-654q0 -88 7.5 -146.5t27 -94t53.5 -50t86 -14.5q71 0 161 52t187 145v762h129v-1049h-129v166q-44 -42 -89.5 -78.5t-92 -62.5t-93 -41t-93.5 -15q-85 0 -139.5 25t-86.5 73.5t-44.5 119t-12.5 161.5zM256 1208l229 361h168l229 -361h-110l-203 265 l-203 -265h-110z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1137" d="M174 348v701h129v-654q0 -88 7.5 -146.5t27 -94t53.5 -50t86 -14.5q71 0 161 52t187 145v762h129v-1049h-129v166q-44 -42 -89.5 -78.5t-92 -62.5t-93 -41t-93.5 -15q-85 0 -139.5 25t-86.5 73.5t-44.5 119t-12.5 161.5zM293 1300q0 45 18.5 67t69.5 22q53 0 71.5 -21.5 t18.5 -67.5q0 -48 -19.5 -69t-70.5 -21q-27 0 -44 6.5t-27 18.5t-13.5 28.5t-3.5 36.5zM663 1300q0 45 18.5 67t69.5 22q54 0 72 -21t18 -68q0 -48 -19.5 -69t-70.5 -21q-53 0 -70.5 25t-17.5 65z" />
+<glyph unicode="&#xfd;" horiz-adv-x="1018" d="M4 -365l37 109q25 -14 61 -21.5t70 -7.5q75 0 129 59.5t98 176.5l41 104l-383 994h140l311 -832l315 832h138l-453 -1147q-32 -81 -67.5 -138t-76.5 -92t-89 -51t-105 -16q-21 0 -44.5 2t-46 6t-42 9.5t-33.5 12.5zM415 1208l186 361h178l-260 -361h-104z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1151" d="M182 -395v1884h129v-555q31 31 67.5 58t77 46t84.5 30t89 11q106 0 180.5 -42.5t121.5 -116.5t69 -173.5t22 -214.5q0 -123 -25 -226.5t-76 -178.5t-128.5 -116.5t-182.5 -41.5q-77 0 -153.5 34.5t-145.5 100.5v-499h-129zM311 225q69 -65 143.5 -104t145.5 -39 q62 0 115 26t91.5 80.5t60.5 138.5t22 201q0 101 -16.5 182t-51 137.5t-87.5 87t-126 30.5q-80 0 -154.5 -42.5t-142.5 -111.5v-586z" />
+<glyph unicode="&#xff;" horiz-adv-x="1018" d="M4 -365l37 109q25 -14 61 -21.5t70 -7.5q75 0 129 59.5t98 176.5l41 104l-383 994h140l311 -832l315 832h138l-453 -1147q-32 -81 -67.5 -138t-76.5 -92t-89 -51t-105 -16q-21 0 -44.5 2t-46 6t-42 9.5t-33.5 12.5zM237 1300q0 45 18.5 67t69.5 22q53 0 71.5 -21.5 t18.5 -67.5q0 -48 -19.5 -69t-70.5 -21q-27 0 -44 6.5t-27 18.5t-13.5 28.5t-3.5 36.5zM607 1300q0 45 18.5 67t69.5 22q54 0 72 -21t18 -68q0 -48 -19.5 -69t-70.5 -21q-53 0 -70.5 25t-17.5 65z" />
+<glyph unicode="&#x152;" horiz-adv-x="1835" d="M139 692q0 168 29.5 301.5t98.5 226.5t181.5 143t278.5 50q60 0 115.5 -8t109.5 -21h746v-122h-633v-469h545v-123h-545v-547h633v-123h-744q-51 -14 -108 -21.5t-119 -7.5q-165 0 -277.5 50t-181.5 144t-99 227t-30 300zM285 692q0 -164 26.5 -278.5t81 -186 t138.5 -103.5t198 -32q51 0 104.5 8.5t94.5 24.5v1132q-41 16 -93 25.5t-106 9.5q-122 0 -207 -36t-137.5 -109.5t-76 -187t-23.5 -267.5z" />
+<glyph unicode="&#x153;" horiz-adv-x="1792" d="M129 522q0 122 24 224.5t77 176.5t137 115t204 41q135 0 228 -60.5t139 -166.5q45 112 134 169.5t222 57.5q102 0 175 -32t119.5 -92.5t68.5 -148t22 -198.5v-84h-673q-1 -110 12.5 -193t47.5 -139t91.5 -84t145.5 -28q41 0 76 7.5t66 25t58 45t53 67.5l105 -67 q-29 -45 -62.5 -80t-76 -59t-96.5 -37t-123 -13q-134 0 -226 51.5t-139 167.5q-51 -104 -141 -161.5t-226 -57.5q-119 0 -203 39.5t-137 112.5t-77.5 174.5t-24.5 226.5zM262 522q0 -104 16.5 -186t53 -139t95.5 -87t144 -30q86 0 144.5 32t94.5 89.5t51.5 138t15.5 178.5 q0 97 -14 179.5t-49 142.5t-94 93.5t-149 33.5q-86 0 -145 -30.5t-95.5 -88t-52.5 -140t-16 -186.5zM1006 629h546q-2 177 -64.5 259.5t-195.5 82.5q-71 0 -122.5 -20t-86 -61.5t-53.5 -106t-24 -154.5z" />
+<glyph unicode="&#x178;" horiz-adv-x="1126" d="M51 1384h150l362 -720l367 720h145l-444 -847v-537h-137v530zM291 1636q0 45 18.5 67t69.5 22q53 0 71.5 -21.5t18.5 -67.5q0 -48 -19.5 -69t-70.5 -21q-27 0 -44 6.5t-27 18.5t-13.5 28.5t-3.5 36.5zM661 1636q0 45 18.5 67t69.5 22q54 0 72 -21t18 -68q0 -48 -19.5 -69 t-70.5 -21q-53 0 -70.5 25t-17.5 65z" />
+<glyph unicode="&#x2c6;" horiz-adv-x="1106" d="M240 1208l229 361h168l229 -361h-110l-203 265l-203 -265h-110z" />
+<glyph unicode="&#x2dc;" horiz-adv-x="1106" d="M190 1214q5 118 60 177t149 59q37 0 68 -10.5t57 -26.5t49 -34.5t45 -34.5t44.5 -26.5t48.5 -10.5q51 0 77 32t31 101h94q-3 -115 -58.5 -174.5t-149.5 -59.5q-43 0 -74.5 11t-56.5 27t-45.5 35t-41.5 35t-44.5 27t-53.5 11q-51 0 -75 -34t-29 -104h-95z" />
+<glyph unicode="&#x2000;" horiz-adv-x="952" />
+<glyph unicode="&#x2001;" horiz-adv-x="1905" />
+<glyph unicode="&#x2002;" horiz-adv-x="952" />
+<glyph unicode="&#x2003;" horiz-adv-x="1905" />
+<glyph unicode="&#x2004;" horiz-adv-x="635" />
+<glyph unicode="&#x2005;" horiz-adv-x="476" />
+<glyph unicode="&#x2006;" horiz-adv-x="317" />
+<glyph unicode="&#x2007;" horiz-adv-x="317" />
+<glyph unicode="&#x2008;" horiz-adv-x="238" />
+<glyph unicode="&#x2009;" horiz-adv-x="381" />
+<glyph unicode="&#x200a;" horiz-adv-x="105" />
+<glyph unicode="&#x2010;" horiz-adv-x="848" d="M113 463v127h622v-127h-622z" />
+<glyph unicode="&#x2011;" horiz-adv-x="848" d="M113 463v127h622v-127h-622z" />
+<glyph unicode="&#x2012;" horiz-adv-x="848" d="M113 463v127h622v-127h-622z" />
+<glyph unicode="&#x2013;" horiz-adv-x="1106" d="M61 471v111h983v-111h-983z" />
+<glyph unicode="&#x2014;" horiz-adv-x="2130" d="M61 471v111h2007v-111h-2007z" />
+<glyph unicode="&#x2018;" d="M172 1036q0 53 9 105t23.5 98t33 83.5t36.5 61.5h76q-20 -27 -35 -64.5t-25 -76.5t-15 -75t-5 -60q56 0 77.5 -22.5t21.5 -71.5q0 -47 -22.5 -69.5t-76.5 -22.5q-55 0 -76.5 30t-21.5 84z" />
+<glyph unicode="&#x2019;" d="M172 1319q0 48 22 71t74 23q57 0 79 -30.5t22 -86.5q0 -52 -9 -103.5t-24 -97t-34 -83t-38 -62.5h-76q20 27 35 64.5t25 76.5t15 75t5 61q-54 0 -75 21t-21 71z" />
+<glyph unicode="&#x201a;" d="M172 76q0 48 22 71t74 23q57 0 79 -30.5t22 -86.5q0 -52 -9 -103.5t-24 -97t-34 -83t-38 -62.5h-76q20 27 35 64.5t25 76.5t15 75t5 61q-54 0 -75 21t-21 71z" />
+<glyph unicode="&#x201c;" horiz-adv-x="897" d="M172 1036q0 53 9 105t23.5 98t33 83.5t36.5 61.5h76q-20 -27 -35 -64.5t-25 -76.5t-15 -75t-5 -60q56 0 77.5 -22.5t21.5 -71.5q0 -47 -22.5 -69.5t-76.5 -22.5q-55 0 -76.5 30t-21.5 84zM528 1036q0 53 9 105t24 98t34 83.5t38 61.5h76q-20 -27 -35 -64.5t-25 -76.5 t-15 -75t-5 -60q54 0 75 -22.5t21 -71.5q0 -47 -22 -69.5t-74 -22.5q-57 0 -79 30t-22 84z" />
+<glyph unicode="&#x201d;" horiz-adv-x="897" d="M172 1319q0 48 22 71t74 23q57 0 79 -30.5t22 -86.5q0 -52 -9 -103.5t-24 -97t-34 -83t-38 -62.5h-76q20 27 35 64.5t25 76.5t15 75t5 61q-54 0 -75 21t-21 71zM528 1319q0 48 22.5 71t76.5 23q55 0 76.5 -30.5t21.5 -86.5q0 -52 -9 -103.5t-23.5 -97t-33 -83 t-36.5 -62.5h-76q20 27 35 64.5t25 76.5t15 75t5 61q-56 0 -77.5 21t-21.5 71z" />
+<glyph unicode="&#x201e;" horiz-adv-x="897" d="M172 76q0 48 22 71t74 23q57 0 79 -30.5t22 -86.5q0 -52 -9 -103.5t-24 -97t-34 -83t-38 -62.5h-76q20 27 35 64.5t25 76.5t15 75t5 61q-54 0 -75 21t-21 71zM528 76q0 48 22.5 71t76.5 23q55 0 76.5 -30.5t21.5 -86.5q0 -52 -9 -103.5t-23.5 -97t-33 -83t-36.5 -62.5 h-76q20 27 35 64.5t25 76.5t15 75t5 61q-56 0 -77.5 21t-21.5 71z" />
+<glyph unicode="&#x2022;" horiz-adv-x="780" d="M147 745q0 51 19.5 95t53 77t78 51.5t93.5 18.5t92.5 -18.5t76.5 -51t52 -76.5t19 -96q0 -50 -19 -94t-51.5 -76.5t-76 -51.5t-93.5 -19q-51 0 -95.5 19t-77.5 51.5t-52 76.5t-19 94z" />
+<glyph unicode="&#x2026;" horiz-adv-x="2048" d="M242 78q0 48 22.5 70t75.5 22q54 0 76 -21.5t22 -70.5q0 -53 -23.5 -72.5t-74.5 -19.5q-56 0 -77 23.5t-21 68.5zM924 78q0 48 22.5 70t75.5 22q54 0 76 -21.5t22 -70.5q0 -53 -23.5 -72.5t-74.5 -19.5q-56 0 -77 23.5t-21 68.5zM1606 78q0 48 22.5 70t75.5 22 q54 0 76 -21.5t22 -70.5q0 -53 -23.5 -72.5t-74.5 -19.5q-56 0 -77 23.5t-21 68.5z" />
+<glyph unicode="&#x202f;" horiz-adv-x="381" />
+<glyph unicode="&#x2039;" horiz-adv-x="672" d="M76 524l381 471h145l-381 -471l381 -471h-145z" />
+<glyph unicode="&#x203a;" horiz-adv-x="672" d="M70 53l379 471l-379 471h145l379 -471l-379 -471h-145z" />
+<glyph unicode="&#x205f;" horiz-adv-x="476" />
+<glyph unicode="&#x20ac;" horiz-adv-x="1255" d="M35 518l35 96h65v160h-100l35 96h73q15 132 55 233t107 170t161 104.5t218 35.5q92 0 164 -19.5t127.5 -54.5t96.5 -84.5t73 -109.5l-119 -70q-24 48 -53.5 88t-70 69t-93.5 45.5t-123 16.5q-92 0 -161.5 -28t-118.5 -82t-78.5 -133t-42.5 -181h624l-32 -96h-598v-160 h555l-35 -96h-514q13 -103 43 -182.5t79.5 -134t120 -83t164.5 -28.5q79 0 136 21t98 54.5t69 75t49 83.5l115 -64q-32 -64 -72.5 -117t-95.5 -91.5t-128.5 -59.5t-170.5 -21q-249 0 -384.5 137t-164.5 410h-108z" />
+<glyph unicode="&#x2122;" horiz-adv-x="1565" d="M92 1282v102h553v-102h-221v-612h-111v612h-221zM807 670v714h139l187 -374l194 374h131v-714h-108v538l-183 -346h-75l-174 342v-534h-111z" />
+<glyph unicode="&#x25fc;" horiz-adv-x="1050" d="M0 0v1050h1050v-1050h-1050z" />
+<hkern u1="&#x28;" u2="j" k="-50" />
+<hkern u1="&#x2a;" u2="&#xef;" k="-45" />
+<hkern u1="&#x2a;" u2="&#xc5;" k="90" />
+<hkern u1="&#x2a;" u2="&#xc4;" k="90" />
+<hkern u1="&#x2a;" u2="&#xc3;" k="90" />
+<hkern u1="&#x2a;" u2="&#xc2;" k="90" />
+<hkern u1="&#x2a;" u2="&#xc1;" k="90" />
+<hkern u1="&#x2a;" u2="&#xc0;" k="90" />
+<hkern u1="&#x2a;" u2="T" k="-22" />
+<hkern u1="&#x2a;" u2="J" k="123" />
+<hkern u1="&#x2a;" u2="A" k="90" />
+<hkern u1="A" u2="&#x3f;" k="35" />
+<hkern u1="A" u2="&#x2a;" k="90" />
+<hkern u1="F" u2="&#xef;" k="-15" />
+<hkern u1="F" u2="&#xee;" k="-10" />
+<hkern u1="K" u2="&#xef;" k="-5" />
+<hkern u1="K" u2="&#xee;" k="-17" />
+<hkern u1="L" u2="&#xd8;" k="13" />
+<hkern u1="L" u2="&#x3f;" k="50" />
+<hkern u1="L" u2="&#x2a;" k="160" />
+<hkern u1="T" u2="&#xef;" k="-45" />
+<hkern u1="T" u2="&#xee;" k="-30" />
+<hkern u1="T" u2="&#xe4;" k="90" />
+<hkern u1="T" u2="&#xe3;" k="45" />
+<hkern u1="T" u2="&#xe2;" k="65" />
+<hkern u1="T" u2="&#x3f;" k="35" />
+<hkern u1="T" u2="&#x2a;" k="-22" />
+<hkern u1="V" u2="&#xef;" k="-27" />
+<hkern u1="V" u2="&#xee;" k="-27" />
+<hkern u1="W" u2="&#xef;" k="-27" />
+<hkern u1="W" u2="&#xee;" k="-27" />
+<hkern u1="X" u2="&#xef;" k="-25" />
+<hkern u1="X" u2="&#xee;" k="-20" />
+<hkern u1="Y" u2="&#xef;" k="-20" />
+<hkern u1="Y" u2="&#xee;" k="-32" />
+<hkern u1="[" u2="j" k="-50" />
+<hkern u1="f" u2="&#xef;" k="-35" />
+<hkern u1="f" u2="&#xee;" k="-50" />
+<hkern u1="f" u2="&#xec;" k="-40" />
+<hkern u1="f" u2="&#x3f;" k="-30" />
+<hkern u1="f" u2="&#x2a;" k="-25" />
+<hkern u1="f" u2="&#x21;" k="-30" />
+<hkern u1="j" u2="&#xff;" k="-12" />
+<hkern u1="j" u2="&#xfd;" k="-12" />
+<hkern u1="j" u2="y" k="-12" />
+<hkern u1="&#x7b;" u2="j" k="-50" />
+<hkern u1="&#xa1;" u2="&#x178;" k="58" />
+<hkern u1="&#xa1;" u2="&#xdd;" k="58" />
+<hkern u1="&#xa1;" u2="Y" k="58" />
+<hkern u1="&#xa1;" u2="W" k="30" />
+<hkern u1="&#xa1;" u2="V" k="30" />
+<hkern u1="&#xa1;" u2="T" k="105" />
+<hkern u1="&#xbf;" u2="&#x178;" k="113" />
+<hkern u1="&#xbf;" u2="&#xdd;" k="113" />
+<hkern u1="&#xbf;" u2="Y" k="113" />
+<hkern u1="&#xbf;" u2="W" k="60" />
+<hkern u1="&#xbf;" u2="V" k="60" />
+<hkern u1="&#xbf;" u2="T" k="60" />
+<hkern u1="&#xc0;" u2="&#x3f;" k="35" />
+<hkern u1="&#xc0;" u2="&#x2a;" k="90" />
+<hkern u1="&#xc1;" u2="&#x3f;" k="35" />
+<hkern u1="&#xc1;" u2="&#x2a;" k="90" />
+<hkern u1="&#xc2;" u2="&#x3f;" k="35" />
+<hkern u1="&#xc2;" u2="&#x2a;" k="90" />
+<hkern u1="&#xc3;" u2="&#x3f;" k="35" />
+<hkern u1="&#xc3;" u2="&#x2a;" k="90" />
+<hkern u1="&#xc4;" u2="&#x3f;" k="35" />
+<hkern u1="&#xc4;" u2="&#x2a;" k="90" />
+<hkern u1="&#xc5;" u2="&#x3f;" k="35" />
+<hkern u1="&#xc5;" u2="&#x2a;" k="90" />
+<hkern u1="&#xdd;" u2="&#xef;" k="-20" />
+<hkern u1="&#xdd;" u2="&#xee;" k="-32" />
+<hkern u1="&#xde;" u2="W" k="-15" />
+<hkern u1="&#xde;" u2="V" k="-15" />
+<hkern u1="&#xde;" u2="T" k="-5" />
+<hkern u1="&#xef;" u2="&#xef;" k="-135" />
+<hkern u1="&#xef;" u2="&#x2a;" k="-45" />
+<hkern u1="&#x178;" u2="&#xef;" k="-20" />
+<hkern u1="&#x178;" u2="&#xee;" k="-32" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="T" k="80" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="V" k="48" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="W" k="30" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="Y,Yacute,Ydieresis" k="70" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quotedbl,quotesingle" k="60" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="-20" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="colon,semicolon" k="-20" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="25" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="20" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="15" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="t" k="15" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="z" k="-7" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="copyright,registered" k="30" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="trademark" k="110" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quoteleft,quotedblleft" k="90" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quoteright,quotedblright" k="95" />
+<hkern g1="B" g2="J" k="30" />
+<hkern g1="B" g2="T" k="35" />
+<hkern g1="B" g2="V" k="20" />
+<hkern g1="B" g2="W" k="20" />
+<hkern g1="B" g2="Y,Yacute,Ydieresis" k="25" />
+<hkern g1="B" g2="trademark" k="45" />
+<hkern g1="C,Ccedilla" g2="J" k="10" />
+<hkern g1="C,Ccedilla" g2="V" k="8" />
+<hkern g1="C,Ccedilla" g2="W" k="8" />
+<hkern g1="C,Ccedilla" g2="X" k="15" />
+<hkern g1="C,Ccedilla" g2="Y,Yacute,Ydieresis" k="20" />
+<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="15" />
+<hkern g1="F" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="65" />
+<hkern g1="F" g2="J" k="75" />
+<hkern g1="F" g2="X" k="35" />
+<hkern g1="F" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="144" />
+<hkern g1="F" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="40" />
+<hkern g1="F" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="50" />
+<hkern g1="F" g2="t" k="20" />
+<hkern g1="F" g2="z" k="40" />
+<hkern g1="F" g2="copyright,registered" k="45" />
+<hkern g1="F" g2="S" k="25" />
+<hkern g1="F" g2="Z" k="20" />
+<hkern g1="F" g2="i,j,igrave,iacute,icircumflex,idieresis" k="20" />
+<hkern g1="F" g2="m,n,p,r,ntilde" k="38" />
+<hkern g1="F" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="50" />
+<hkern g1="F" g2="s" k="45" />
+<hkern g1="F" g2="u,ugrave,uacute,ucircumflex,udieresis" k="30" />
+<hkern g1="F" g2="v" k="30" />
+<hkern g1="F" g2="w" k="30" />
+<hkern g1="F" g2="x" k="40" />
+<hkern g1="F" g2="y,yacute,ydieresis" k="35" />
+<hkern g1="F" g2="b,h,k,l,germandbls,thorn" k="10" />
+<hkern g1="F" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="10" />
+<hkern g1="G" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="15" />
+<hkern g1="G" g2="J" k="25" />
+<hkern g1="G" g2="T" k="20" />
+<hkern g1="G" g2="V" k="20" />
+<hkern g1="G" g2="W" k="20" />
+<hkern g1="G" g2="X" k="15" />
+<hkern g1="G" g2="Y,Yacute,Ydieresis" k="15" />
+<hkern g1="G" g2="trademark" k="30" />
+<hkern g1="J" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="20" />
+<hkern g1="J" g2="J" k="30" />
+<hkern g1="J" g2="X" k="10" />
+<hkern g1="J" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="45" />
+<hkern g1="J" g2="AE" k="30" />
+<hkern g1="K" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="20" />
+<hkern g1="K" g2="J" k="30" />
+<hkern g1="K" g2="T" k="38" />
+<hkern g1="K" g2="V" k="25" />
+<hkern g1="K" g2="W" k="25" />
+<hkern g1="K" g2="X" k="20" />
+<hkern g1="K" g2="Y,Yacute,Ydieresis" k="40" />
+<hkern g1="K" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="35" />
+<hkern g1="K" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="5" />
+<hkern g1="K" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="30" />
+<hkern g1="K" g2="t" k="30" />
+<hkern g1="K" g2="S" k="40" />
+<hkern g1="K" g2="i,j,igrave,iacute,icircumflex,idieresis" k="20" />
+<hkern g1="K" g2="m,n,p,r,ntilde" k="20" />
+<hkern g1="K" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="35" />
+<hkern g1="K" g2="s" k="30" />
+<hkern g1="K" g2="u,ugrave,uacute,ucircumflex,udieresis" k="30" />
+<hkern g1="K" g2="v" k="25" />
+<hkern g1="K" g2="w" k="25" />
+<hkern g1="K" g2="y,yacute,ydieresis" k="50" />
+<hkern g1="K" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="25" />
+<hkern g1="L" g2="T" k="115" />
+<hkern g1="L" g2="V" k="88" />
+<hkern g1="L" g2="W" k="50" />
+<hkern g1="L" g2="Y,Yacute,Ydieresis" k="85" />
+<hkern g1="L" g2="quotedbl,quotesingle" k="80" />
+<hkern g1="L" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="-10" />
+<hkern g1="L" g2="colon,semicolon" k="-20" />
+<hkern g1="L" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="40" />
+<hkern g1="L" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="20" />
+<hkern g1="L" g2="t" k="15" />
+<hkern g1="L" g2="copyright,registered" k="60" />
+<hkern g1="L" g2="trademark" k="140" />
+<hkern g1="L" g2="quoteleft,quotedblleft" k="108" />
+<hkern g1="L" g2="quoteright,quotedblright" k="108" />
+<hkern g1="L" g2="S" k="28" />
+<hkern g1="L" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="18" />
+<hkern g1="L" g2="v" k="30" />
+<hkern g1="L" g2="w" k="30" />
+<hkern g1="L" g2="y,yacute,ydieresis" k="50" />
+<hkern g1="P,Thorn" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="50" />
+<hkern g1="P,Thorn" g2="J" k="65" />
+<hkern g1="P,Thorn" g2="T" k="10" />
+<hkern g1="P,Thorn" g2="V" k="-5" />
+<hkern g1="P,Thorn" g2="W" k="-5" />
+<hkern g1="P,Thorn" g2="X" k="25" />
+<hkern g1="P,Thorn" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="145" />
+<hkern g1="P,Thorn" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="10" />
+<hkern g1="P,Thorn" g2="S" k="-17" />
+<hkern g1="P,Thorn" g2="Z" k="20" />
+<hkern g1="P,Thorn" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="15" />
+<hkern g1="P,Thorn" g2="AE" k="70" />
+<hkern g1="P,Thorn" g2="I,Igrave,Iacute,Icircumflex,Idieresis" k="20" />
+<hkern g1="R" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-10" />
+<hkern g1="R" g2="J" k="30" />
+<hkern g1="R" g2="T" k="25" />
+<hkern g1="R" g2="V" k="20" />
+<hkern g1="R" g2="W" k="20" />
+<hkern g1="R" g2="Y,Yacute,Ydieresis" k="20" />
+<hkern g1="R" g2="z" k="-15" />
+<hkern g1="R" g2="AE" k="45" />
+<hkern g1="S" g2="J" k="35" />
+<hkern g1="S" g2="T" k="20" />
+<hkern g1="S" g2="V" k="15" />
+<hkern g1="S" g2="W" k="15" />
+<hkern g1="S" g2="X" k="10" />
+<hkern g1="S" g2="Y,Yacute,Ydieresis" k="30" />
+<hkern g1="T" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="80" />
+<hkern g1="T" g2="J" k="70" />
+<hkern g1="T" g2="X" k="10" />
+<hkern g1="T" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="120" />
+<hkern g1="T" g2="colon,semicolon" k="85" />
+<hkern g1="T" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="33" />
+<hkern g1="T" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="100" />
+<hkern g1="T" g2="t" k="55" />
+<hkern g1="T" g2="z" k="76" />
+<hkern g1="T" g2="copyright,registered" k="50" />
+<hkern g1="T" g2="trademark" k="-25" />
+<hkern g1="T" g2="quoteleft,quotedblleft" k="-35" />
+<hkern g1="T" g2="quoteright,quotedblright" k="-35" />
+<hkern g1="T" g2="S" k="20" />
+<hkern g1="T" g2="i,j,igrave,iacute,icircumflex,idieresis" k="20" />
+<hkern g1="T" g2="m,n,p,r,ntilde" k="90" />
+<hkern g1="T" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="100" />
+<hkern g1="T" g2="s" k="127" />
+<hkern g1="T" g2="u,ugrave,uacute,ucircumflex,udieresis" k="85" />
+<hkern g1="T" g2="v" k="120" />
+<hkern g1="T" g2="w" k="120" />
+<hkern g1="T" g2="x" k="100" />
+<hkern g1="T" g2="y,yacute,ydieresis" k="70" />
+<hkern g1="T" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="40" />
+<hkern g1="T" g2="AE" k="90" />
+<hkern g1="T" g2="hyphen,endash,emdash" k="50" />
+<hkern g1="T" g2="guillemotleft,guilsinglleft" k="70" />
+<hkern g1="T" g2="guillemotright,guilsinglright" k="75" />
+<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="20" />
+<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="J" k="25" />
+<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="X" k="5" />
+<hkern g1="W" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="30" />
+<hkern g1="W" g2="J" k="70" />
+<hkern g1="W" g2="X" k="10" />
+<hkern g1="W" g2="Y,Yacute,Ydieresis" k="20" />
+<hkern g1="W" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="70" />
+<hkern g1="W" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="25" />
+<hkern g1="W" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="30" />
+<hkern g1="W" g2="t" k="18" />
+<hkern g1="W" g2="z" k="20" />
+<hkern g1="W" g2="copyright,registered" k="30" />
+<hkern g1="W" g2="S" k="5" />
+<hkern g1="W" g2="m,n,p,r,ntilde" k="30" />
+<hkern g1="W" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="30" />
+<hkern g1="W" g2="s" k="30" />
+<hkern g1="W" g2="u,ugrave,uacute,ucircumflex,udieresis" k="30" />
+<hkern g1="W" g2="x" k="15" />
+<hkern g1="W" g2="y,yacute,ydieresis" k="10" />
+<hkern g1="W" g2="b,h,k,l,germandbls,thorn" k="15" />
+<hkern g1="W" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="10" />
+<hkern g1="W" g2="AE" k="50" />
+<hkern g1="X" g2="T" k="10" />
+<hkern g1="X" g2="V" k="10" />
+<hkern g1="X" g2="W" k="10" />
+<hkern g1="X" g2="Y,Yacute,Ydieresis" k="20" />
+<hkern g1="X" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20" />
+<hkern g1="X" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="5" />
+<hkern g1="X" g2="copyright,registered" k="15" />
+<hkern g1="X" g2="S" k="10" />
+<hkern g1="X" g2="m,n,p,r,ntilde" k="15" />
+<hkern g1="X" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="30" />
+<hkern g1="X" g2="u,ugrave,uacute,ucircumflex,udieresis" k="40" />
+<hkern g1="X" g2="v" k="20" />
+<hkern g1="X" g2="w" k="20" />
+<hkern g1="X" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="8" />
+<hkern g1="X" g2="guillemotleft,guilsinglleft" k="45" />
+<hkern g1="X" g2="guillemotright,guilsinglright" k="-30" />
+<hkern g1="Y,Yacute,Ydieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="70" />
+<hkern g1="Y,Yacute,Ydieresis" g2="J" k="90" />
+<hkern g1="Y,Yacute,Ydieresis" g2="V" k="20" />
+<hkern g1="Y,Yacute,Ydieresis" g2="W" k="20" />
+<hkern g1="Y,Yacute,Ydieresis" g2="X" k="20" />
+<hkern g1="Y,Yacute,Ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="70" />
+<hkern g1="Y,Yacute,Ydieresis" g2="colon,semicolon" k="35" />
+<hkern g1="Y,Yacute,Ydieresis" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="30" />
+<hkern g1="Y,Yacute,Ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="60" />
+<hkern g1="Y,Yacute,Ydieresis" g2="t" k="15" />
+<hkern g1="Y,Yacute,Ydieresis" g2="z" k="50" />
+<hkern g1="Y,Yacute,Ydieresis" g2="copyright,registered" k="40" />
+<hkern g1="Y,Yacute,Ydieresis" g2="S" k="30" />
+<hkern g1="Y,Yacute,Ydieresis" g2="Z" k="10" />
+<hkern g1="Y,Yacute,Ydieresis" g2="i,j,igrave,iacute,icircumflex,idieresis" k="20" />
+<hkern g1="Y,Yacute,Ydieresis" g2="m,n,p,r,ntilde" k="65" />
+<hkern g1="Y,Yacute,Ydieresis" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="70" />
+<hkern g1="Y,Yacute,Ydieresis" g2="s" k="60" />
+<hkern g1="Y,Yacute,Ydieresis" g2="u,ugrave,uacute,ucircumflex,udieresis" k="50" />
+<hkern g1="Y,Yacute,Ydieresis" g2="v" k="70" />
+<hkern g1="Y,Yacute,Ydieresis" g2="w" k="70" />
+<hkern g1="Y,Yacute,Ydieresis" g2="x" k="40" />
+<hkern g1="Y,Yacute,Ydieresis" g2="b,h,k,l,germandbls,thorn" k="20" />
+<hkern g1="Y,Yacute,Ydieresis" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="10" />
+<hkern g1="Y,Yacute,Ydieresis" g2="AE" k="48" />
+<hkern g1="Y,Yacute,Ydieresis" g2="guillemotleft,guilsinglleft" k="50" />
+<hkern g1="Z" g2="Y,Yacute,Ydieresis" k="15" />
+<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="t" k="10" />
+<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="v" k="23" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="25" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="quoteleft,quotedblleft" k="45" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="quoteright,quotedblright" k="45" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="v" k="10" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="x" k="8" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="y,yacute,ydieresis" k="5" />
+<hkern g1="h,m,n,ntilde" g2="v" k="13" />
+<hkern g1="h,m,n,ntilde" g2="w" k="13" />
+<hkern g1="f" g2="quotedbl,quotesingle" k="-45" />
+<hkern g1="f" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="35" />
+<hkern g1="f" g2="trademark" k="-65" />
+<hkern g1="f" g2="quoteleft,quotedblleft" k="-50" />
+<hkern g1="f" g2="quoteright,quotedblright" k="-45" />
+<hkern g1="f" g2="parenright,bracketright,braceright" k="-65" />
+<hkern g1="k" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="15" />
+<hkern g1="k" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="20" />
+<hkern g1="k" g2="s" k="10" />
+<hkern g1="k" g2="v" k="25" />
+<hkern g1="k" g2="w" k="-5" />
+<hkern g1="k" g2="guillemotright,guilsinglright" k="-30" />
+<hkern g1="d,l,uniFB02,uniFB04" g2="t" k="15" />
+<hkern g1="r" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="130" />
+<hkern g1="r" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="10" />
+<hkern g1="r" g2="quoteleft,quotedblleft" k="-50" />
+<hkern g1="r" g2="quoteright,quotedblright" k="-50" />
+<hkern g1="r" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="35" />
+<hkern g1="r" g2="s" k="25" />
+<hkern g1="r" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="-10" />
+<hkern g1="r" g2="guillemotright,guilsinglright" k="-50" />
+<hkern g1="s" g2="t" k="10" />
+<hkern g1="s" g2="v" k="20" />
+<hkern g1="s" g2="w" k="20" />
+<hkern g1="s" g2="x" k="10" />
+<hkern g1="t" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-10" />
+<hkern g1="t" g2="t" k="15" />
+<hkern g1="t" g2="z" k="-15" />
+<hkern g1="t" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="10" />
+<hkern g1="t" g2="u,ugrave,uacute,ucircumflex,udieresis" k="20" />
+<hkern g1="t" g2="v" k="20" />
+<hkern g1="t" g2="w" k="20" />
+<hkern g1="t" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="28" />
+<hkern g1="w" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="30" />
+<hkern g1="w" g2="s" k="10" />
+<hkern g1="w" g2="y,yacute,ydieresis" k="5" />
+<hkern g1="x" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="8" />
+<hkern g1="y,yacute,ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="55" />
+<hkern g1="y,yacute,ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="8" />
+<hkern g1="y,yacute,ydieresis" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="20" />
+<hkern g1="y,yacute,ydieresis" g2="s" k="15" />
+<hkern g1="y,yacute,ydieresis" g2="v" k="10" />
+<hkern g1="y,yacute,ydieresis" g2="w" k="10" />
+<hkern g1="y,yacute,ydieresis" g2="x" k="15" />
+<hkern g1="y,yacute,ydieresis" g2="parenright,bracketright,braceright" k="30" />
+<hkern g1="z" g2="z" k="-7" />
+<hkern g1="colon,semicolon" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-20" />
+<hkern g1="colon,semicolon" g2="J" k="-20" />
+<hkern g1="colon,semicolon" g2="T" k="85" />
+<hkern g1="colon,semicolon" g2="Y,Yacute,Ydieresis" k="35" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-20" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="J" k="-20" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="T" k="120" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="V" k="70" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="W" k="70" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="Y,Yacute,Ydieresis" k="70" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="quoteleft,quotedblleft" k="93" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="quoteright,quotedblright" k="63" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="25" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="v" k="30" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="w" k="30" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="AE" k="-30" />
+<hkern g1="guillemotleft,guilsinglleft" g2="T" k="75" />
+<hkern g1="guillemotleft,guilsinglleft" g2="X" k="-30" />
+<hkern g1="guillemotright,guilsinglright" g2="T" k="70" />
+<hkern g1="guillemotright,guilsinglright" g2="X" k="45" />
+<hkern g1="guillemotright,guilsinglright" g2="Y,Yacute,Ydieresis" k="50" />
+<hkern g1="hyphen,endash,emdash" g2="T" k="50" />
+<hkern g1="parenleft,bracketleft,braceleft" g2="y,yacute,ydieresis" k="-30" />
+<hkern g1="quoteleft,quotedblleft" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="90" />
+<hkern g1="quoteleft,quotedblleft" g2="J" k="83" />
+<hkern g1="quoteleft,quotedblleft" g2="T" k="-35" />
+<hkern g1="quoteleft,quotedblleft" g2="t" k="-45" />
+<hkern g1="quoteleft,quotedblleft" g2="quoteleft,quotedblleft" k="63" />
+<hkern g1="quoteleft,quotedblleft" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="45" />
+<hkern g1="quoteleft,quotedblleft" g2="AE" k="83" />
+<hkern g1="quoteright,quotedblright" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="90" />
+<hkern g1="quoteright,quotedblright" g2="J" k="81" />
+<hkern g1="quoteright,quotedblright" g2="T" k="-35" />
+<hkern g1="quoteright,quotedblright" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="78" />
+<hkern g1="quoteright,quotedblright" g2="quoteright,quotedblright" k="63" />
+<hkern g1="quoteright,quotedblright" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="45" />
+<hkern g1="quoteright,quotedblright" g2="AE" k="83" />
+<hkern g1="quotedbl,quotesingle" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="60" />
+<hkern g1="quotedbl,quotesingle" g2="J" k="95" />
+<hkern g1="V" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="48" />
+<hkern g1="V" g2="J" k="70" />
+<hkern g1="V" g2="X" k="10" />
+<hkern g1="V" g2="Y,Yacute,Ydieresis" k="20" />
+<hkern g1="V" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="70" />
+<hkern g1="V" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="25" />
+<hkern g1="V" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="30" />
+<hkern g1="V" g2="t" k="18" />
+<hkern g1="V" g2="z" k="20" />
+<hkern g1="V" g2="copyright,registered" k="30" />
+<hkern g1="V" g2="S" k="5" />
+<hkern g1="V" g2="m,n,p,r,ntilde" k="30" />
+<hkern g1="V" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="30" />
+<hkern g1="V" g2="s" k="30" />
+<hkern g1="V" g2="u,ugrave,uacute,ucircumflex,udieresis" k="30" />
+<hkern g1="V" g2="x" k="15" />
+<hkern g1="V" g2="y,yacute,ydieresis" k="10" />
+<hkern g1="V" g2="b,h,k,l,germandbls,thorn" k="15" />
+<hkern g1="V" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="10" />
+<hkern g1="V" g2="AE" k="50" />
+<hkern g1="v" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="30" />
+<hkern g1="v" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="18" />
+<hkern g1="v" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="10" />
+<hkern g1="v" g2="s" k="10" />
+<hkern g1="v" g2="v" k="15" />
+<hkern g1="v" g2="y,yacute,ydieresis" k="5" />
+</font>
+</defs></svg> \ No newline at end of file
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Light-webfont.woff b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Light-webfont.woff
new file mode 100755
index 00000000..44555e04
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Light-webfont.woff
Binary files differ
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Regular-webfont.eot b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Regular-webfont.eot
new file mode 100755
index 00000000..b020e058
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Regular-webfont.eot
Binary files differ
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Regular-webfont.svg b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Regular-webfont.svg
new file mode 100755
index 00000000..1e2cffdc
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Regular-webfont.svg
@@ -0,0 +1,669 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="clear_sansregular" horiz-adv-x="555" >
+<font-face units-per-em="2048" ascent="1489" descent="-559" />
+<missing-glyph horiz-adv-x="553" />
+<glyph unicode="&#xfb01;" horiz-adv-x="1143" d="M43 905v144h154v102q0 190 71.5 279.5t251.5 89.5q113 0 203 -39l-47 -148q-29 15 -73 26t-79 11q-87 0 -121 -44.5t-34 -174.5v-102h233v-144h-233v-905h-172v905h-154zM776 1315q0 53 26 77.5t85 24.5q61 0 87 -23.5t26 -78.5q0 -60 -27 -81.5t-86 -21.5q-63 0 -87 27 t-24 76zM801 0v1049h172v-1049h-172z" />
+<glyph unicode="&#xfb02;" horiz-adv-x="1159" d="M43 905v144h154v102q0 190 71.5 279.5t251.5 89.5q113 0 203 -39l-47 -148q-29 15 -73 26t-79 11q-87 0 -121 -44.5t-34 -174.5v-102h233v-144h-233v-905h-172v905h-154zM809 0v1489h172v-1489h-172z" />
+<glyph unicode="&#xfb03;" horiz-adv-x="1776" d="M43 905v144h154v102q0 190 71.5 279.5t251.5 89.5q113 0 203 -39l-47 -148q-29 15 -73 26t-79 11q-87 0 -121 -44.5t-34 -174.5v-102h233v-144h-233v-905h-172v905h-154zM676 905v144h154v102q0 190 71.5 279.5t251.5 89.5q113 0 203 -39l-47 -148q-29 15 -73 26t-79 11 q-87 0 -121 -44.5t-34 -174.5v-102h233v-144h-233v-905h-172v905h-154zM1409 1315q0 53 26 77.5t85 24.5q61 0 87 -23.5t26 -78.5q0 -60 -27 -81.5t-86 -21.5q-63 0 -87 27t-24 76zM1434 0v1049h172v-1049h-172z" />
+<glyph unicode="&#xfb04;" horiz-adv-x="1792" d="M43 905v144h154v102q0 190 71.5 279.5t251.5 89.5q113 0 203 -39l-47 -148q-29 15 -73 26t-79 11q-87 0 -121 -44.5t-34 -174.5v-102h233v-144h-233v-905h-172v905h-154zM676 905v144h154v102q0 190 71.5 279.5t251.5 89.5q113 0 203 -39l-47 -148q-29 15 -73 26t-79 11 q-87 0 -121 -44.5t-34 -174.5v-102h233v-144h-233v-905h-172v905h-154zM1442 0v1489h172v-1489h-172z" />
+<glyph horiz-adv-x="0" />
+<glyph unicode="&#xd;" horiz-adv-x="553" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="0" />
+<glyph unicode=" " horiz-adv-x="553" />
+<glyph unicode="&#x09;" horiz-adv-x="553" />
+<glyph unicode="&#xa0;" horiz-adv-x="553" />
+<glyph unicode="!" d="M156 98q0 60 27.5 86.5t92.5 26.5q68 0 95.5 -26.5t27.5 -86.5q0 -63 -29.5 -87.5t-93.5 -24.5q-71 0 -95.5 29.5t-24.5 82.5zM178 1384h199l-25 -985h-145z" />
+<glyph unicode="&#x22;" horiz-adv-x="924" d="M174 1384h209l-41 -550h-127zM541 1384h209l-41 -550h-127z" />
+<glyph unicode="#" horiz-adv-x="1446" d="M102 393v123h289l96 352h-268v125h301l105 391h129l-105 -391h309l107 391h129l-104 -391h253v-125h-286l-94 -352h264v-123h-299l-105 -393h-129l103 393h-310l-104 -393h-129l104 393h-256zM520 516h311l97 352h-312z" />
+<glyph unicode="$" horiz-adv-x="1264" d="M174 313l139 82q92 -159 269 -178v426q-217 49 -299 124.5t-82 209.5q0 148 105 236.5t276 95.5v104h129v-104q89 -4 159.5 -31t123.5 -71t106 -128l-142 -82q-87 157 -247 170v-391q219 -52 308 -134.5t89 -219.5q0 -151 -103.5 -244t-293.5 -102v-209h-129v209 q-271 13 -408 237zM375 983q0 -76 59.5 -115t147.5 -61v360q-207 -15 -207 -184zM711 217q103 10 164 60.5t61 134.5q0 77 -53.5 123.5t-171.5 78.5v-397z" />
+<glyph unicode="%" horiz-adv-x="2089" d="M113 971q0 442 366 442q193 0 281 -118.5t88 -323.5q0 -207 -89 -324t-280 -117q-194 0 -280 116t-86 325zM291 971q0 -126 18 -185.5t59 -90.5t111 -31q101 0 146 67t45 240q0 174 -46 241.5t-145 67.5q-69 0 -110.5 -31t-59.5 -94t-18 -184zM580 -51l778 1487h166 l-781 -1487h-163zM1243 410q0 442 367 442q194 0 280 -115.5t86 -324.5q0 -443 -366 -443q-367 0 -367 441zM1419 410q0 -172 45.5 -240t145.5 -68q69 0 110.5 31t60.5 92t19 187q0 125 -19.5 185.5t-61 91t-109.5 30.5q-100 0 -145.5 -68.5t-45.5 -240.5z" />
+<glyph unicode="&#x26;" horiz-adv-x="1425" d="M137 360q0 89 28 154.5t88.5 123t205.5 142.5q-68 78 -115 158t-47 160q0 315 371 315q163 0 252.5 -75.5t89.5 -192.5q0 -111 -72 -205.5t-229 -189.5l331 -392q92 108 131 271l156 -39q-63 -231 -180 -359l196 -231h-223l-94 111q-102 -79 -197 -109.5t-204 -30.5 q-228 0 -358 106t-130 283zM324 356q0 -105 84.5 -170t220.5 -65q116 0 188 37t111 69l-367 435q-104 -68 -151.5 -111.5t-66.5 -85.5t-19 -109zM473 1106q0 -53 41 -113.5t94 -124.5q106 59 166 130.5t60 144.5q0 59 -43 98t-129 39q-94 0 -141.5 -45t-47.5 -129z" />
+<glyph unicode="'" horiz-adv-x="557" d="M174 1384h209l-41 -550h-127z" />
+<glyph unicode="(" horiz-adv-x="797" d="M154 561q0 283 88 510.5t278 448.5h195q-195 -188 -297.5 -433t-102.5 -526q0 -284 104 -526.5t296 -429.5h-195q-190 218 -278 448.5t-88 507.5z" />
+<glyph unicode=")" horiz-adv-x="797" d="M82 -395q196 193 297.5 434.5t101.5 521.5q0 256 -93 504t-306 455h194q189 -218 278 -446t89 -513q0 -275 -85.5 -501t-281.5 -455h-194z" />
+<glyph unicode="*" horiz-adv-x="948" d="M92 1001l285 156l-285 156l58 96l270 -158l-2 269h112l-4 -269l273 158l57 -98l-285 -154l285 -156l-57 -96l-271 158l2 -268h-112l2 268l-270 -160z" />
+<glyph unicode="+" horiz-adv-x="1427" d="M164 514v143h477v480h143v-480h480v-143h-480v-477h-143v477h-477z" />
+<glyph unicode="," d="M156 98q0 56 27.5 84.5t92.5 28.5q66 0 94.5 -34t28.5 -99q0 -123 -36.5 -223.5t-75.5 -147.5h-105q37 46 60.5 125.5t23.5 153.5q-59 0 -84.5 26.5t-25.5 85.5z" />
+<glyph unicode="-" horiz-adv-x="827" d="M102 440v172h623v-172h-623z" />
+<glyph unicode="." d="M156 98q0 60 27.5 86.5t92.5 26.5q68 0 95.5 -26.5t27.5 -86.5q0 -63 -29.5 -87.5t-93.5 -24.5q-71 0 -95.5 29.5t-24.5 82.5z" />
+<glyph unicode="/" horiz-adv-x="991" d="M8 -299l715 1819h168l-717 -1819h-166z" />
+<glyph unicode="0" horiz-adv-x="1264" d="M125 688q0 371 123 545t383 174q262 0 385 -173t123 -544t-124 -546t-384 -175t-383 174t-123 545zM319 688q0 -289 76 -424t236 -135q162 0 237.5 135t75.5 426q0 289 -75.5 423t-237.5 134q-160 0 -236 -135t-76 -424z" />
+<glyph unicode="1" horiz-adv-x="1264" d="M281 989v129q136 8 205.5 32t108.5 73t69 161h133v-1384h-181v989h-335z" />
+<glyph unicode="2" horiz-adv-x="1188" d="M135 1178q72 124 185 179.5t266 55.5q201 0 318.5 -99.5t117.5 -281.5q0 -92 -26 -172.5t-81.5 -153.5t-149 -167t-417.5 -371h719v-168h-928v195q245 208 355 312.5t182 186t111.5 159t39.5 169.5q0 103 -68 165t-181 62q-107 0 -174.5 -47t-114.5 -123z" />
+<glyph unicode="3" horiz-adv-x="1188" d="M102 174l154 98q37 -57 107.5 -98t164.5 -41q156 0 228.5 66.5t72.5 208.5q0 247 -317 247h-102v160h86q143 0 226 61.5t83 174.5q0 102 -67.5 151t-178.5 49q-190 0 -289 -153l-155 98q62 109 179 163t277 54q134 0 231 -41t147 -116.5t50 -176.5q0 -139 -68.5 -219 t-209.5 -115q131 -10 217 -98t86 -252q0 -213 -129 -318.5t-365 -105.5q-141 0 -257.5 55.5t-170.5 147.5z" />
+<glyph unicode="4" horiz-adv-x="1264" d="M66 307v178l720 899h170v-917h191v-160h-191v-307h-178v307h-712zM248 467h530v653z" />
+<glyph unicode="5" horiz-adv-x="1188" d="M113 174l153 100q35 -55 104.5 -98t170.5 -43q155 0 233 83t78 226q0 125 -80 198t-229 73t-258 -72h-90l75 743h725v-167h-573l-43 -396q43 23 102.5 35t116.5 12q213 0 329.5 -108t116.5 -318q0 -217 -125.5 -344t-373.5 -127q-160 0 -270.5 59.5t-161.5 143.5z" />
+<glyph unicode="6" horiz-adv-x="1188" d="M123 666q0 356 144 551.5t399 195.5q118 0 204 -33.5t158 -99.5l-115 -143q-59 57 -114.5 86.5t-132.5 29.5q-304 0 -342 -473q57 41 144 74t189 33q191 0 305.5 -107.5t114.5 -330.5q0 -232 -125 -355t-346 -123q-251 0 -367 176.5t-116 518.5zM322 637 q0 -266 71.5 -386t220.5 -120q138 0 207.5 80t69.5 231q0 283 -281 283q-78 0 -156.5 -27.5t-131.5 -60.5z" />
+<glyph unicode="7" horiz-adv-x="1264" d="M139 1217v167h967v-172l-528 -1212h-205l547 1217h-781z" />
+<glyph unicode="8" horiz-adv-x="1188" d="M111 356q0 267 299 379q-116 57 -163 98.5t-75.5 96.5t-28.5 129q0 168 115 261t338 93q219 0 335 -90t116 -262q0 -72 -30 -129.5t-80 -101.5t-159 -95q158 -69 229.5 -159t71.5 -220q0 -194 -131 -289.5t-352 -95.5q-240 0 -362.5 98.5t-122.5 286.5zM295 354 q0 -106 73.5 -169.5t227.5 -63.5q156 0 227.5 65.5t71.5 169.5q0 62 -28 111t-84.5 91t-186.5 101q-128 -53 -183 -94t-86.5 -93t-31.5 -118zM328 1063q0 -54 25 -90.5t79.5 -73.5t163.5 -88q125 51 195.5 108.5t70.5 137.5q0 94 -66.5 151.5t-199.5 57.5 q-141 0 -204.5 -57.5t-63.5 -145.5z" />
+<glyph unicode="9" horiz-adv-x="1188" d="M111 936q0 229 124.5 353t342.5 124q260 0 373.5 -173t113.5 -501q0 -247 -61 -416.5t-184 -260.5t-306 -91q-228 0 -373 135l113 142q59 -58 120.5 -87.5t139.5 -29.5q158 0 244 113.5t106 359.5q-59 -41 -146 -73.5t-186 -32.5q-192 0 -306.5 106.5t-114.5 331.5z M295 942q0 -283 283 -283q77 0 156 28t132 61q0 189 -28.5 288t-90 158t-169.5 59q-138 0 -210.5 -80.5t-72.5 -230.5z" />
+<glyph unicode=":" d="M156 98q0 60 27.5 86.5t92.5 26.5q68 0 95.5 -26.5t27.5 -86.5q0 -63 -29.5 -87.5t-93.5 -24.5q-71 0 -95.5 29.5t-24.5 82.5zM156 936q0 59 27.5 86t92.5 27q68 0 95.5 -27t27.5 -86q0 -64 -29.5 -88.5t-93.5 -24.5q-71 0 -95.5 30t-24.5 83z" />
+<glyph unicode=";" d="M156 98q0 56 27.5 84.5t92.5 28.5q68 0 95.5 -34t27.5 -99q0 -123 -36.5 -223.5t-75.5 -147.5h-105q36 46 60 128t24 151q-59 0 -84.5 26.5t-25.5 85.5zM156 936q0 59 27.5 86t92.5 27q68 0 95.5 -27t27.5 -86q0 -64 -29.5 -88.5t-93.5 -24.5q-71 0 -95.5 30t-24.5 83z " />
+<glyph unicode="&#x3c;" horiz-adv-x="1427" d="M164 524v125l1100 463v-156l-902 -370l902 -369v-156z" />
+<glyph unicode="=" horiz-adv-x="1427" d="M164 283v143h1100v-143h-1100zM164 745v144h1100v-144h-1100z" />
+<glyph unicode="&#x3e;" horiz-adv-x="1427" d="M164 61v156l899 369l-899 370v156l1100 -463v-125z" />
+<glyph unicode="?" horiz-adv-x="1049" d="M68 1206q51 92 151 149.5t266 57.5q208 0 331.5 -94.5t123.5 -267.5q0 -96 -40.5 -172t-115 -140t-254.5 -161v-199h-174v274q223 106 306 190.5t83 186.5q0 103 -66.5 161t-191.5 58q-108 0 -170.5 -41t-97.5 -100zM324 98q0 60 27.5 86.5t92.5 26.5q68 0 95.5 -26.5 t27.5 -86.5q0 -63 -29.5 -87.5t-93.5 -24.5q-71 0 -95.5 29.5t-24.5 82.5z" />
+<glyph unicode="@" horiz-adv-x="1935" d="M121 553q0 239 110 437t309 310.5t441 112.5q396 0 615 -224.5t219 -619.5q0 -266 -102 -409.5t-281 -143.5q-107 0 -165.5 31t-78.5 111q-146 -115 -297 -115q-120 0 -202 58t-125.5 167t-43.5 248q0 240 111 373t309 133q124 0 240 -82v53h170v-723q0 -65 21.5 -88.5 t74.5 -23.5q97 0 156 108.5t59 294.5q0 343 -175.5 527t-502.5 184q-201 0 -364 -93t-254 -260t-91 -368q0 -327 188.5 -523t516.5 -196q241 0 428 45l33 -143q-185 -43 -463 -43q-256 0 -450 105.5t-300 302t-106 454.5zM694 520q0 -317 236 -317q101 0 248 106v482 q-123 79 -211 79q-148 0 -210.5 -89t-62.5 -261z" />
+<glyph unicode="A" horiz-adv-x="1288" d="M51 0l473 1384h240l473 -1384h-195l-120 360h-564l-118 -360h-189zM414 528h450l-225 674z" />
+<glyph unicode="B" horiz-adv-x="1272" d="M182 0v1384h410q254 0 366.5 -72.5t112.5 -242.5q0 -139 -61.5 -212t-153.5 -101q137 -19 219 -101t82 -249q0 -213 -136 -309.5t-388 -96.5h-451zM367 168h188q176 0 255 23.5t117 77t38 145.5q0 86 -33.5 135.5t-103.5 72.5t-226 23h-235v-477zM367 809h204 q166 0 238 53t72 166q0 106 -66 149.5t-235 43.5h-213v-412z" />
+<glyph unicode="C" horiz-adv-x="1321" d="M129 692q0 361 146.5 541t451.5 180q121 0 216 -30t160.5 -82.5t119.5 -147.5l-152 -100q-44 74 -89 112.5t-108 61t-147 22.5q-208 0 -305.5 -138.5t-97.5 -418.5q0 -276 96 -416.5t309 -140.5q118 0 205 46.5t156 160.5l153 -100q-66 -106 -134.5 -160.5t-159.5 -82.5 t-214 -28q-311 0 -458.5 179.5t-147.5 541.5z" />
+<glyph unicode="D" horiz-adv-x="1292" d="M170 0v1384h348q242 0 382 -69.5t207 -220.5t67 -402q0 -254 -65.5 -404t-202 -219t-384.5 -69h-352zM354 168h154q182 0 281.5 50.5t144.5 162t45 313.5q0 198 -44 310t-145 162.5t-282 50.5h-154v-1049z" />
+<glyph unicode="E" horiz-adv-x="1153" d="M182 0v1384h846v-167h-661v-404h565v-168h-565v-477h661v-168h-846z" />
+<glyph unicode="F" horiz-adv-x="1108" d="M182 0v1384h838v-167h-653v-404h555v-168h-555v-645h-185z" />
+<glyph unicode="G" horiz-adv-x="1391" d="M129 690q0 366 150.5 544.5t449.5 178.5q170 0 293.5 -60t202.5 -200l-150 -102q-49 90 -130 144t-218 54q-209 0 -306 -138t-97 -423q0 -291 105 -422t312 -131q80 0 148.5 18.5t148.5 53.5v328h-336v167h521v-596q-113 -63 -224.5 -99t-257.5 -36q-312 0 -462 179 t-150 540z" />
+<glyph unicode="H" horiz-adv-x="1364" d="M182 0v1384h185v-583h630v583h185v-1384h-185v633h-630v-633h-185z" />
+<glyph unicode="I" horiz-adv-x="770" d="M102 0v160h191v1067h-191v157h566v-157h-191v-1067h191v-160h-566z" />
+<glyph unicode="J" horiz-adv-x="885" d="M51 20l68 158q32 -16 92 -30.5t98 -14.5q81 0 125 28t63 92.5t19 199.5v931h184v-1007q0 -203 -89 -305.5t-300 -102.5q-59 0 -133 14.5t-127 36.5z" />
+<glyph unicode="K" horiz-adv-x="1264" d="M182 0v1384h185v-679l585 679h230l-566 -636l594 -748h-235l-477 614l-131 -147v-467h-185z" />
+<glyph unicode="L" horiz-adv-x="1038" d="M182 0v1384h185v-1216h626v-168h-811z" />
+<glyph unicode="M" horiz-adv-x="1593" d="M182 0v1384h250l367 -753l370 753h242v-1384h-176v1147l-383 -770h-115l-379 770v-1147h-176z" />
+<glyph unicode="N" horiz-adv-x="1386" d="M182 0v1384h271l573 -1087v1087h178v-1384h-219l-625 1188v-1188h-178z" />
+<glyph unicode="O" horiz-adv-x="1364" d="M119 692q0 364 137 542.5t426 178.5q285 0 424 -175t139 -546q0 -373 -140.5 -547t-422.5 -174q-286 0 -424.5 177t-138.5 544zM313 692q0 -289 87.5 -423t281.5 -134q193 0 281 133t88 424q0 287 -86.5 422t-282.5 135t-282.5 -135t-86.5 -422z" />
+<glyph unicode="P" horiz-adv-x="1182" d="M182 0v1384h410q259 0 375 -107t116 -335q0 -250 -117.5 -361.5t-381.5 -111.5h-217v-469h-185zM367 637h178q146 0 213.5 28.5t99 92t31.5 180.5q0 145 -72 212t-246 67h-204v-580z" />
+<glyph unicode="Q" horiz-adv-x="1364" d="M119 692q0 371 139 546t426 175q281 0 421 -175.5t140 -545.5q0 -327 -108.5 -502.5t-335.5 -212.5q20 -65 71.5 -104t159.5 -39q31 0 78 7t82 18l57 -152q-103 -35 -225 -35q-190 0 -290.5 80t-141.5 223q-246 27 -359.5 205t-113.5 512zM313 692q0 -292 89 -424.5 t282 -132.5q192 0 279.5 134t87.5 423q0 273 -82 415t-285 142q-194 0 -282.5 -133.5t-88.5 -423.5z" />
+<glyph unicode="R" horiz-adv-x="1237" d="M182 0v1384h430q258 0 370 -95t112 -294q0 -170 -68.5 -269t-222.5 -132l375 -594h-217l-353 565h-241v-565h-185zM367 729h231q116 0 182.5 24.5t94.5 78t28 149.5q0 137 -69.5 188.5t-223.5 51.5h-243v-492z" />
+<glyph unicode="S" horiz-adv-x="1227" d="M96 242l150 100q117 -207 362 -207q147 0 231.5 61.5t84.5 168.5q0 61 -27 103t-71 70.5t-101 46t-119 33.5q-102 25 -190 51.5t-152.5 68.5t-101.5 107.5t-37 168.5q0 184 118.5 291.5t354.5 107.5q188 0 300 -69.5t177 -178.5l-147 -104q-54 90 -131.5 139t-198.5 49 q-135 0 -210 -59.5t-75 -159.5q0 -53 22.5 -89t64.5 -60.5t104.5 -42t142.5 -37.5q94 -25 179 -52.5t148.5 -72.5t100.5 -116t37 -181q0 -194 -127.5 -301t-372.5 -107q-187 0 -312 66t-204 205z" />
+<glyph unicode="T" horiz-adv-x="1184" d="M41 1217v167h1102v-167h-459v-1217h-184v1217h-459z" />
+<glyph unicode="U" horiz-adv-x="1405" d="M182 578v806h185v-786q0 -182 33 -280.5t104.5 -141.5t197.5 -43q127 0 199 42.5t104.5 135.5t32.5 283v790h185v-806q0 -227 -51 -358t-160.5 -191t-306.5 -60q-196 0 -309 61t-163.5 193t-50.5 355z" />
+<glyph unicode="V" horiz-adv-x="1225" d="M51 1384h193l370 -1206l371 1206h189l-441 -1384h-248z" />
+<glyph unicode="W" horiz-adv-x="1757" d="M68 1384h184l258 -1118l262 1118h209l266 -1126l262 1126h181l-334 -1384h-221l-261 1108l-262 -1108h-217z" />
+<glyph unicode="X" horiz-adv-x="1208" d="M53 0l449 694l-436 690h217l327 -546l338 546h207l-442 -684l442 -700h-217l-336 557l-342 -557h-207z" />
+<glyph unicode="Y" horiz-adv-x="1147" d="M41 1384h209l325 -673l332 673h199l-440 -849v-535h-187v526z" />
+<glyph unicode="Z" horiz-adv-x="1163" d="M92 0v176l729 1041h-698v167h917v-165l-737 -1051h754v-168h-965z" />
+<glyph unicode="[" horiz-adv-x="805" d="M195 -395v1884h487v-133h-330v-1618h330v-133h-487z" />
+<glyph unicode="\" horiz-adv-x="991" d="M100 1520h168l715 -1819h-166z" />
+<glyph unicode="]" horiz-adv-x="805" d="M123 -262h330v1618h-330v133h487v-1884h-487v133z" />
+<glyph unicode="^" horiz-adv-x="1243" d="M143 594l404 790h149l404 -790h-152l-325 637l-328 -637h-152z" />
+<glyph unicode="_" horiz-adv-x="1024" d="M-10 -154h1044v-102h-1044v102z" />
+<glyph unicode="`" horiz-adv-x="1085" d="M268 1569h236l178 -361h-141z" />
+<glyph unicode="a" horiz-adv-x="1100" d="M109 295q0 108 42.5 179.5t123 113t233.5 59.5l258 23v51q0 121 -67.5 165t-186.5 44q-106 0 -163.5 -37t-82.5 -80l-141 86q48 87 146.5 133.5t244.5 46.5q226 0 324 -82t98 -284v-713h-172v131q-80 -70 -161 -116t-183 -46q-150 0 -231.5 91.5t-81.5 234.5zM287 299 q0 -94 47 -135t141 -41q39 0 77 14.5t75 36t71.5 49t67.5 53.5v256l-168 -16q-171 -15 -241 -66.5t-70 -150.5z" />
+<glyph unicode="b" horiz-adv-x="1174" d="M170 0v1489h172v-545q59 57 142 96t178 39q194 0 294.5 -142t100.5 -405q0 -265 -108.5 -414t-303.5 -149q-84 0 -164 34t-139 83v-86h-172zM342 236q57 -48 132 -80.5t147 -32.5q116 0 187 98t71 307q0 210 -64 304t-186 94q-80 0 -155 -41t-132 -94v-555z" />
+<glyph unicode="c" horiz-adv-x="1030" d="M117 522q0 274 116 415.5t342 141.5q259 0 369 -192l-141 -86q-39 61 -91.5 95t-138.5 34q-151 0 -214.5 -109.5t-63.5 -302.5q0 -147 30 -229t93.5 -126t161.5 -44q84 0 137 31.5t100 97.5l141 -86q-49 -84 -136 -138.5t-240 -54.5q-231 0 -348 139.5t-117 413.5z" />
+<glyph unicode="d" horiz-adv-x="1174" d="M117 516q0 257 112 410t310 153q159 0 292 -116v526h173v-1489h-173v104q-59 -57 -142 -96t-177 -39q-189 0 -292 142.5t-103 404.5zM295 520q0 -397 250 -397q82 0 156.5 41t129.5 94v555q-137 113 -270 113q-117 0 -191.5 -98.5t-74.5 -307.5z" />
+<glyph unicode="e" horiz-adv-x="1081" d="M117 516q0 288 112.5 425.5t339.5 137.5q204 0 306 -117.5t102 -361.5v-96h-682q0 -208 71 -296.5t228 -88.5q70 0 123 29.5t102 95.5l142 -88q-60 -90 -146 -138.5t-233 -48.5q-234 0 -349.5 136t-115.5 411zM297 639h512q-2 141 -59.5 219t-186.5 78 q-123 0 -184.5 -70.5t-81.5 -226.5z" />
+<glyph unicode="f" horiz-adv-x="633" d="M43 905v144h154v102q0 190 71.5 279.5t251.5 89.5q113 0 203 -39l-47 -148q-29 15 -73 26t-79 11q-87 0 -121 -44.5t-34 -174.5v-102h233v-144h-233v-905h-172v905h-154z" />
+<glyph unicode="g" horiz-adv-x="1174" d="M117 535q0 256 113 400t309 144q159 0 292 -116v86h173v-1026q0 -211 -104.5 -314.5t-346.5 -103.5q-231 0 -381 98l64 139q135 -94 317 -94q147 0 212.5 61.5t65.5 202.5v123q-59 -57 -141 -96t-178 -39q-193 0 -294 137.5t-101 397.5zM295 539q0 -202 63 -293.5 t187 -91.5q144 0 286 135v524q-137 113 -270 113q-131 0 -198.5 -102t-67.5 -285z" />
+<glyph unicode="h" horiz-adv-x="1163" d="M170 0v1489h172v-596q73 73 170 129.5t195 56.5q152 0 223 -86.5t71 -292.5v-700h-172v618q0 150 -14.5 199.5t-48.5 72.5t-100 23t-154 -50t-170 -122v-741h-172z" />
+<glyph unicode="i" horiz-adv-x="512" d="M145 1315q0 53 26 77.5t85 24.5q61 0 87 -23.5t26 -78.5q0 -60 -27 -81.5t-86 -21.5q-63 0 -87 27t-24 76zM170 0v1049h172v-1049h-172z" />
+<glyph unicode="j" horiz-adv-x="537" d="M-143 -365l43 142q73 -29 151 -29q84 0 109.5 58.5t25.5 168.5v1074h172v-1094q0 -190 -74 -270t-239 -80q-100 0 -188 30zM162 1315q0 53 25.5 77.5t84.5 24.5q62 0 87.5 -23.5t25.5 -78.5q0 -60 -26.5 -81.5t-86.5 -21.5q-63 0 -86.5 27t-23.5 76z" />
+<glyph unicode="k" horiz-adv-x="1049" d="M170 0v1489h172v-930l426 490h211l-418 -459l440 -590h-213l-333 471l-113 -125v-346h-172z" />
+<glyph unicode="l" horiz-adv-x="528" d="M178 0v1489h172v-1489h-172z" />
+<glyph unicode="m" horiz-adv-x="1712" d="M170 0v1049h172v-156q68 74 152 130t180 56q106 0 169.5 -49t84.5 -156q82 87 167 146t189 59q96 0 154 -40.5t85 -117t27 -221.5v-700h-172v618q0 156 -12 206t-42 69.5t-91 19.5q-52 0 -117 -37t-170 -135v-741h-172v618q0 148 -12 200t-41 73.5t-90 21.5 q-56 0 -131 -44.5t-158 -127.5v-741h-172z" />
+<glyph unicode="n" horiz-adv-x="1163" d="M170 0v1049h172v-156q73 73 170 129.5t195 56.5q152 0 223 -86.5t71 -292.5v-700h-172v618q0 150 -15 200t-49 72.5t-99 22.5q-66 0 -154 -50t-170 -122v-741h-172z" />
+<glyph unicode="o" horiz-adv-x="1157" d="M117 522q0 281 119.5 419t343.5 138q226 0 343 -140.5t117 -416.5q0 -273 -117.5 -413t-342.5 -140t-344 138.5t-119 414.5zM295 522q0 -205 67.5 -304t217.5 -99q143 0 212.5 98t69.5 305q0 214 -70.5 311t-211.5 97q-145 0 -215 -97.5t-70 -310.5z" />
+<glyph unicode="p" horiz-adv-x="1174" d="M170 -395v1444h172v-105q59 57 142 96t178 39q187 0 291 -141.5t104 -405.5q0 -258 -112.5 -410.5t-309.5 -152.5q-157 0 -293 117v-481h-172zM342 236q134 -113 270 -113q117 0 192 98t75 307q0 398 -250 398q-82 0 -157 -41t-130 -94v-555z" />
+<glyph unicode="q" horiz-adv-x="1174" d="M117 516q0 265 108 414t303 149q84 0 164 -33.5t139 -82.5v86h173v-1444h-173v499q-59 -57 -142 -96t-177 -39q-191 0 -293 139t-102 408zM295 520q0 -209 63 -303t187 -94q141 0 286 135v555q-57 47 -131.5 80t-146.5 33q-117 0 -187.5 -98.5t-70.5 -307.5z" />
+<glyph unicode="r" horiz-adv-x="811" d="M170 0v1049h172v-170q72 73 151.5 129.5t176.5 56.5q65 0 104 -21l-37 -165q-28 12 -80 12q-77 0 -148.5 -35.5t-166.5 -130.5v-725h-172z" />
+<glyph unicode="s" horiz-adv-x="991" d="M100 158l138 84q79 -127 254 -127q114 0 170.5 43.5t56.5 117.5q0 44 -20 71.5t-62 48t-172 55.5q-187 43 -263.5 119t-76.5 202q0 139 100 223t277 84q137 0 230 -54t136 -130l-137 -84q-82 123 -233 123q-86 0 -145.5 -38t-59.5 -118q0 -71 52 -103t163 -59 q178 -46 246 -86t100.5 -98.5t32.5 -148.5q0 -147 -104 -230.5t-296 -83.5q-131 0 -235 49.5t-152 139.5z" />
+<glyph unicode="t" horiz-adv-x="729" d="M47 905v144h150v292h172v-292h266v-144h-266v-555q0 -127 25.5 -182t113.5 -55q76 0 141 28l45 -141q-100 -31 -198 -31q-160 0 -229.5 84t-69.5 264v588h-150z" />
+<glyph unicode="u" horiz-adv-x="1163" d="M162 348v701h172v-619q0 -150 15.5 -200t49.5 -72.5t99 -22.5t153 50.5t170 121.5v742h172v-1049h-172v156q-80 -80 -176 -133.5t-188 -53.5q-105 0 -170.5 39.5t-95 119t-29.5 220.5z" />
+<glyph unicode="v" horiz-adv-x="1008" d="M51 1049h185l272 -824l270 824h178l-368 -1049h-170z" />
+<glyph unicode="w" horiz-adv-x="1475" d="M63 1049h179l178 -799l250 799h143l256 -799l170 799h172l-258 -1049h-160l-256 803l-256 -803h-157z" />
+<glyph unicode="x" horiz-adv-x="1012" d="M55 0l348 518l-344 531h211l242 -398l248 398h196l-348 -519l348 -530h-215l-241 399l-250 -399h-195z" />
+<glyph unicode="y" horiz-adv-x="1040" d="M-4 -365l43 142q65 -29 151 -29q121 0 205 219l35 90l-383 992h186l289 -768l291 768h180l-448 -1129q-71 -173 -152 -244t-211 -71q-47 0 -100 9t-86 21z" />
+<glyph unicode="z" horiz-adv-x="934" d="M82 0v131l547 774h-535v144h742v-125l-549 -779h565v-145h-770z" />
+<glyph unicode="{" horiz-adv-x="977" d="M102 489v148h19q291 0 291 356v146q0 188 107.5 284.5t285.5 96.5h69v-134h-51q-131 0 -192.5 -65.5t-61.5 -198.5v-172q0 -157 -73.5 -249.5t-206.5 -139.5q280 -95 280 -387v-172q0 -133 61.5 -198.5t192.5 -65.5h51v-133h-69q-180 0 -286.5 98t-106.5 283v147 q0 178 -74.5 267t-216.5 89h-19z" />
+<glyph unicode="|" horiz-adv-x="852" d="M348 -395v1915h156v-1915h-156z" />
+<glyph unicode="}" horiz-adv-x="977" d="M102 -262h52q131 0 192.5 65.5t61.5 198.5v172q0 292 280 387q-133 47 -206.5 139.5t-73.5 249.5v172q0 133 -61.5 198.5t-192.5 65.5h-52v134h70q193 0 293 -98.5t100 -282.5v-146q0 -356 291 -356h18v-148h-18q-142 0 -216.5 -89t-74.5 -267v-147q0 -185 -105.5 -283 t-287.5 -98h-70v133z" />
+<glyph unicode="~" horiz-adv-x="1427" d="M164 614v160q100 80 178 103.5t127 23.5q61 0 125.5 -24.5t129 -54t126 -54.5t117.5 -25q47 0 91.5 16t84.5 38.5t121 89.5v-160q-17 -12 -45.5 -32.5t-66.5 -42t-85 -37t-96 -15.5q-62 0 -130.5 24.5t-136 54.5t-130 54.5t-109.5 24.5q-66 0 -144 -37.5t-157 -106.5z " />
+<glyph unicode="&#xa1;" d="M156 967q0 63 29.5 87.5t93.5 24.5q71 0 95.5 -29.5t24.5 -82.5q0 -60 -27.5 -86.5t-92.5 -26.5q-68 0 -95.5 26.5t-27.5 86.5zM178 -395l25 1087h145l29 -1087h-199z" />
+<glyph unicode="&#xa2;" horiz-adv-x="1030" d="M117 522q0 274 116 415.5t342 141.5q32 0 64 -4l47 213h119l-53 -237q125 -43 192 -164l-141 -86q-41 61 -86 90l-168 -772h31q84 0 137 31.5t100 97.5l141 -86q-49 -84 -136 -138.5t-240 -54.5q-34 0 -66 4l-51 -233h-119l55 256q-153 51 -218.5 190.5t-65.5 335.5z M295 518q0 -129 29.5 -225t111.5 -141l170 776l-16 2h-17q-151 0 -214.5 -109.5t-63.5 -302.5z" />
+<glyph unicode="&#xa3;" horiz-adv-x="1264" d="M113 0v156q69 14 107 70.5t55.5 135t17.5 226.5h-156v131h150l-10 49q-44 159 -44 276q0 173 127 271t342 98q306 0 443 -219l-154 -90q-45 72 -118.5 115t-170.5 43q-135 0 -206.5 -64.5t-71.5 -181.5q0 -76 24 -172q25 -104 27 -125h381v-131h-373q0 -175 -41 -276.5 t-120 -155.5h837v-156h-1046z" />
+<glyph unicode="&#xa4;" horiz-adv-x="1264" d="M119 164l194 198q-71 100 -71 224q0 135 69 225l-192 195l92 92l192 -191q100 76 228 76q133 0 229 -74l193 189l90 -92l-187 -191q74 -96 74 -229q0 -115 -76 -228l189 -194l-90 -90l-195 190q-59 -41 -113.5 -55t-113.5 -14q-127 0 -223 71l-197 -192zM387 586 q0 -66 31 -124t88.5 -93t124.5 -35q109 0 181.5 74t72.5 178q0 109 -73.5 183.5t-180.5 74.5q-106 0 -175 -75.5t-69 -182.5z" />
+<glyph unicode="&#xa5;" horiz-adv-x="1264" d="M66 1384h208l361 -624l364 624h199l-375 -624h303v-121h-374l-29 -45v-105h403v-120h-403v-369h-184v369h-402v120h402v97l-33 53h-369v121h299z" />
+<glyph unicode="&#xa6;" horiz-adv-x="852" d="M348 242h156v-637h-156v637zM348 883v637h156v-637h-156z" />
+<glyph unicode="&#xa7;" horiz-adv-x="1081" d="M109 545q0 104 68.5 179t174.5 138q-92 64 -136 123t-44 131q0 135 98.5 216t296.5 81q270 0 383 -147l-127 -97q-87 101 -252 101q-219 0 -219 -146q0 -59 55.5 -103t172.5 -110q173 -96 248 -156.5t110 -122.5t35 -132q0 -101 -59.5 -170.5t-182.5 -145.5 q100 -67 142 -127.5t42 -124.5q0 -151 -108.5 -225t-286.5 -74q-263 0 -383 148l127 96q95 -102 252 -102q115 0 167 36.5t52 112.5q0 53 -50.5 97.5t-195.5 119.5q-161 87 -230.5 142.5t-109.5 118t-40 143.5zM276 551q0 -55 60.5 -116t164.5 -117l101 -56q90 60 146.5 108 t56.5 122q0 42 -30 83t-88.5 84.5t-203.5 124.5q-90 -55 -148.5 -110.5t-58.5 -122.5z" />
+<glyph unicode="&#xa8;" horiz-adv-x="1085" d="M242 1315q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78zM637 1315q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1855" d="M123 610q0 221 106 405.5t293.5 291t405.5 106.5q221 0 405.5 -106t291 -293.5t106.5 -403.5q0 -221 -106.5 -408t-292 -293t-404.5 -106q-220 0 -405.5 107.5t-292.5 294t-107 405.5zM256 610q0 -183 89 -339t245 -247.5t338 -91.5q179 0 335.5 90.5t246 247.5t89.5 340 t-90.5 340t-246 246.5t-334.5 89.5q-181 0 -336.5 -90.5t-245.5 -247.5t-90 -338zM557 612q0 224 94 334.5t297 110.5q123 0 200 -49.5t118 -126.5l-119 -74q-29 51 -73 89t-128 38q-135 0 -189.5 -81t-54.5 -241q0 -163 58.5 -241t187.5 -78q136 0 211 133l119 -72 q-57 -96 -136 -140t-190 -44q-204 0 -299.5 109.5t-95.5 332.5z" />
+<glyph unicode="&#xaa;" horiz-adv-x="780" d="M92 1014q0 104 62.5 160.5t205.5 72.5l158 13v24q0 72 -39 96.5t-114 24.5q-113 0 -158 -78l-109 66q31 51 91.5 89t177.5 38q147 0 215.5 -52.5t68.5 -189.5v-461h-133v72q-47 -39 -98 -64.5t-115 -25.5q-102 0 -157.5 60.5t-55.5 154.5zM227 1016q0 -53 28 -77t85 -24 q47 0 91 29t87 64v145l-98 -10q-92 -8 -142.5 -33t-50.5 -94z" />
+<glyph unicode="&#xab;" horiz-adv-x="1225" d="M72 524l393 471h197l-394 -471l394 -471h-197zM561 524l393 471h197l-393 -471l393 -471h-197z" />
+<glyph unicode="&#xac;" horiz-adv-x="1427" d="M164 827v144h1100v-604h-144v460h-956z" />
+<glyph unicode="&#xad;" horiz-adv-x="827" d="M102 440v172h623v-172h-623z" />
+<glyph unicode="&#xae;" horiz-adv-x="1855" d="M123 610q0 221 106 405.5t293.5 291t405.5 106.5q221 0 405.5 -106t291 -293.5t106.5 -403.5q0 -221 -106.5 -408t-292 -293t-404.5 -106q-220 0 -405.5 107.5t-292.5 294t-107 405.5zM256 610q0 -183 89 -339t245 -247.5t338 -91.5q179 0 335.5 90.5t246 247.5t89.5 340 t-90.5 340t-246 246.5t-334.5 89.5q-181 0 -336.5 -90.5t-245.5 -247.5t-90 -338zM643 201v850h275q151 0 232 -52.5t81 -193.5q0 -111 -46 -168t-124 -80l233 -356h-164l-217 336h-131v-336h-139zM782 657h129q103 0 138.5 32t35.5 110q0 73 -36.5 103t-130.5 30h-136v-275 z" />
+<glyph unicode="&#xaf;" horiz-adv-x="1085" d="M238 1255v140h610v-140h-610z" />
+<glyph unicode="&#xb0;" horiz-adv-x="864" d="M152 1241q0 112 80 195.5t200 83.5q116 0 198.5 -81.5t82.5 -197.5q0 -76 -39 -143t-103 -103.5t-137 -36.5q-119 0 -200.5 84t-81.5 199zM270 1241q0 -67 47.5 -115.5t116.5 -48.5q68 0 114 48.5t46 113.5q0 68 -46 115t-114 47q-72 0 -118 -48t-46 -112z" />
+<glyph unicode="&#xb1;" horiz-adv-x="1427" d="M164 0v143h1100v-143h-1100zM164 809v143h477v478h143v-478h480v-143h-480v-479h-143v479h-477z" />
+<glyph unicode="&#xb2;" horiz-adv-x="889" d="M106 1362q106 162 326 162q148 0 230.5 -63.5t82.5 -180.5q0 -85 -38.5 -147t-122.5 -137t-260 -210h450v-131h-659v138q74 52 208.5 161t195 180t56.5 142q0 59 -44 89t-103 30q-108 0 -188 -111z" />
+<glyph unicode="&#xb3;" horiz-adv-x="889" d="M84 778l133 74q27 -35 73 -60.5t103 -25.5q94 0 137 36t43 109q0 70 -48 100.5t-140 30.5h-90v127h78q86 0 136 32t50 91q0 54 -40 79.5t-105 25.5q-117 0 -187 -99l-133 76q40 56 82.5 85.5t105.5 47t142 17.5q160 0 233.5 -63.5t73.5 -151.5q0 -140 -139 -193 q67 -24 110 -78.5t43 -132.5q0 -133 -92 -200.5t-258 -67.5q-102 0 -186 39t-125 102z" />
+<glyph unicode="&#xb4;" horiz-adv-x="1085" d="M481 1208l178 361h236l-272 -361h-142z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1169" d="M139 -395v1444h174v-793q43 -53 113 -85t143 -32q153 0 273 144v766h176v-1049h-166l-10 119q-60 -76 -123.5 -113t-147.5 -37q-75 0 -132.5 15.5t-125.5 66.5v-446h-174z" />
+<glyph unicode="&#xb6;" horiz-adv-x="1257" d="M59 1069q0 191 132.5 305.5t347.5 114.5h657v-133h-192v-1751h-160v1751h-195v-1751h-160v1040q-120 0 -219 51.5t-155 148t-56 224.5z" />
+<glyph unicode="&#xb7;" d="M156 745q0 60 27.5 86.5t92.5 26.5q68 0 95.5 -26.5t27.5 -86.5q0 -63 -29.5 -87.5t-93.5 -24.5q-71 0 -95.5 29.5t-24.5 82.5z" />
+<glyph unicode="&#xb8;" horiz-adv-x="1085" d="M244 -348l51 100q29 -10 85 -21.5t107 -11.5q121 0 121 78q0 40 -42.5 68t-133.5 35l62 118h106l-25 -49q87 -22 125.5 -73.5t38.5 -110.5q0 -86 -68.5 -133t-187.5 -47q-77 0 -147 17.5t-92 29.5z" />
+<glyph unicode="&#xb9;" horiz-adv-x="889" d="M182 1241v107q129 4 182.5 37.5t77.5 119.5h125v-850h-161v586h-224z" />
+<glyph unicode="&#xba;" horiz-adv-x="825" d="M102 1157q0 180 80 271.5t232 91.5q151 0 230 -93.5t79 -269.5t-79.5 -267t-229.5 -91q-154 0 -233 91.5t-79 266.5zM240 1157q0 -129 41.5 -186.5t132.5 -57.5q100 0 137 67t37 177q0 113 -37 180.5t-137 67.5q-91 0 -132.5 -58.5t-41.5 -189.5z" />
+<glyph unicode="&#xbb;" horiz-adv-x="1225" d="M74 53l393 471l-393 471h196l394 -471l-394 -471h-196zM563 53l393 471l-393 471h197l393 -471l-393 -471h-197z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1946" d="M161 1126v107q129 4 182.5 37.5t77.5 119.5h125v-850h-161v586h-224zM481 -51l779 1487h166l-781 -1487h-164zM1100 174v125l496 542h141v-542h127v-125h-127v-183h-160v183h-477zM1278 299h299v325z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1946" d="M84 1126v107q129 4 182.5 37.5t77.5 119.5h125v-850h-161v586h-224zM397 -51l779 1487h166l-781 -1487h-164zM1132 696q106 162 326 162q148 0 230.5 -63.5t82.5 -180.5q0 -85 -38.5 -147t-122.5 -137t-260 -210h450v-131h-659v138q74 52 208.5 161t195 180t56.5 142 q0 59 -44 89t-103 30q-108 0 -188 -111z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1946" d="M104 663l133 74q27 -35 73 -60.5t103 -25.5q94 0 137 36t43 109q0 70 -48 100.5t-140 30.5h-90v127h78q86 0 136 32t50 91q0 54 -40 79.5t-105 25.5q-117 0 -187 -99l-133 76q40 56 82.5 85.5t105.5 47t142 17.5q160 0 233.5 -63.5t73.5 -151.5q0 -140 -139 -193 q67 -24 110 -78.5t43 -132.5q0 -133 -92 -200.5t-258 -67.5q-102 0 -186 39t-125 102zM585 -51l779 1487h166l-781 -1487h-164zM1100 172v125l496 542h141v-542h127v-125h-127v-183h-160v183h-477zM1278 297h299v325z" />
+<glyph unicode="&#xbf;" horiz-adv-x="1049" d="M109 -14q0 102 40 184t115 152t254 174v196h174v-272q-179 -106 -252.5 -166t-105 -118.5t-31.5 -135.5q0 -113 66.5 -172t191.5 -59q109 0 171.5 40.5t96.5 100.5l152 -98q-114 -207 -418 -207q-211 0 -332.5 98t-121.5 283zM481 967q0 63 30 87.5t93 24.5 q72 0 96.5 -29.5t24.5 -82.5q0 -60 -27.5 -86.5t-93.5 -26.5q-67 0 -95 26.5t-28 86.5z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1288" d="M51 0l473 1384h240l473 -1384h-195l-120 360h-564l-118 -360h-189zM364 1905h236l178 -361h-141zM414 528h450l-225 674z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1288" d="M51 0l473 1384h240l473 -1384h-195l-120 360h-564l-118 -360h-189zM414 528h450l-225 674zM520 1544l178 361h236l-272 -361h-142z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1288" d="M51 0l473 1384h240l473 -1384h-195l-120 360h-564l-118 -360h-189zM309 1544l229 361h211l228 -361h-150l-184 238l-185 -238h-149zM414 528h450l-225 674z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1288" d="M51 0l473 1384h240l473 -1384h-195l-120 360h-564l-118 -360h-189zM266 1557q6 125 67.5 193.5t161.5 68.5q56 0 96.5 -22.5t75.5 -48.5t66 -48.5t67 -22.5q88 0 97 129h121q-19 -262 -232 -262q-65 0 -105 22.5t-71 50.5t-58.5 50.5t-68.5 22.5q-51 0 -71.5 -36 t-24.5 -97h-121zM414 528h450l-225 674z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1288" d="M51 0l473 1384h240l473 -1384h-195l-120 360h-564l-118 -360h-189zM342 1651q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78zM414 528h450l-225 674zM737 1651q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5 t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1288" d="M51 0l473 1384h240l473 -1384h-195l-120 360h-564l-118 -360h-189zM414 528h450l-225 674zM446 1692q0 88 47 142t150 54q104 0 151 -53t47 -143t-48 -143.5t-150 -53.5q-105 0 -151 55.5t-46 141.5zM546 1692q0 -101 97 -101q98 0 98 101q0 100 -98 100q-97 0 -97 -100z " />
+<glyph unicode="&#xc6;" horiz-adv-x="1747" d="M45 0l533 1384h1044v-167h-604v-408h526v-168h-526v-473h604v-168h-788v383h-453l-145 -383h-191zM442 551h392v666h-140z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1321" d="M129 692q0 361 146.5 541t451.5 180q121 0 216 -30t160.5 -82.5t119.5 -147.5l-152 -100q-44 74 -89 112.5t-108 61t-147 22.5q-208 0 -305.5 -138.5t-97.5 -418.5q0 -276 96 -416.5t309 -140.5q118 0 205 46.5t156 160.5l153 -100q-78 -131 -180.5 -191.5t-245.5 -75.5 l-2 -6q86 -22 125 -73.5t39 -110.5q0 -86 -68.5 -133t-187.5 -47q-78 0 -147.5 17.5t-92.5 29.5l52 100q28 -10 84.5 -21.5t107.5 -11.5q121 0 121 78q0 40 -42.5 68t-133.5 35l37 71q-297 9 -438.5 188t-141.5 533z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1153" d="M182 0v1384h846v-167h-661v-404h565v-168h-565v-477h661v-168h-846zM340 1905h236l178 -361h-141z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1153" d="M182 0v1384h846v-167h-661v-404h565v-168h-565v-477h661v-168h-846zM481 1544l178 361h236l-272 -361h-142z" />
+<glyph unicode="&#xca;" horiz-adv-x="1153" d="M182 0v1384h846v-167h-661v-404h565v-168h-565v-477h661v-168h-846zM270 1544l229 361h211l228 -361h-150l-184 238l-185 -238h-149z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1153" d="M182 0v1384h846v-167h-661v-404h565v-168h-565v-477h661v-168h-846zM287 1651q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78zM682 1651q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5 q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78z" />
+<glyph unicode="&#xcc;" horiz-adv-x="770" d="M92 1905h236l178 -361h-141zM102 0v160h191v1067h-191v157h566v-157h-191v-1067h191v-160h-566z" />
+<glyph unicode="&#xcd;" horiz-adv-x="770" d="M102 0v160h191v1067h-191v157h566v-157h-191v-1067h191v-160h-566zM295 1544l178 361h236l-272 -361h-142z" />
+<glyph unicode="&#xce;" horiz-adv-x="770" d="M57 1544l229 361h211l228 -361h-150l-184 238l-185 -238h-149zM102 0v160h191v1067h-191v157h566v-157h-191v-1067h191v-160h-566z" />
+<glyph unicode="&#xcf;" horiz-adv-x="770" d="M90 1651q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78zM102 0v160h191v1067h-191v157h566v-157h-191v-1067h191v-160h-566zM485 1651q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5 q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1378" d="M63 627v141h119v616h365q261 0 410.5 -70.5t220.5 -222.5t71 -399q0 -254 -70 -404t-217 -219t-413 -69h-367v627h-119zM367 168h172q198 0 307 50.5t159 164t50 311.5q0 292 -115 407.5t-401 115.5h-172v-449h335v-141h-335v-459z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1386" d="M182 0v1384h271l573 -1087v1087h178v-1384h-219l-625 1188v-1188h-178zM297 1557q6 125 67.5 193.5t161.5 68.5q56 0 96.5 -22.5t75.5 -48.5t66 -48.5t67 -22.5q88 0 97 129h121q-19 -262 -232 -262q-65 0 -105 22.5t-71 50.5t-58.5 50.5t-68.5 22.5q-51 0 -71.5 -36 t-24.5 -97h-121z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1364" d="M119 692q0 364 137 542.5t426 178.5q285 0 424 -175t139 -546q0 -373 -140.5 -547t-422.5 -174q-286 0 -424.5 177t-138.5 544zM313 692q0 -289 87.5 -423t281.5 -134q193 0 281 133t88 424q0 287 -86.5 422t-282.5 135t-282.5 -135t-86.5 -422zM444 1905h236l178 -361 h-141z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1364" d="M119 692q0 364 137 542.5t426 178.5q285 0 424 -175t139 -546q0 -373 -140.5 -547t-422.5 -174q-286 0 -424.5 177t-138.5 544zM313 692q0 -289 87.5 -423t281.5 -134q193 0 281 133t88 424q0 287 -86.5 422t-282.5 135t-282.5 -135t-86.5 -422zM585 1544l178 361h236 l-272 -361h-142z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1364" d="M119 692q0 364 137 542.5t426 178.5q285 0 424 -175t139 -546q0 -373 -140.5 -547t-422.5 -174q-286 0 -424.5 177t-138.5 544zM313 692q0 -289 87.5 -423t281.5 -134q193 0 281 133t88 424q0 287 -86.5 422t-282.5 135t-282.5 -135t-86.5 -422zM348 1544l229 361h211 l228 -361h-150l-184 238l-185 -238h-149z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1364" d="M119 692q0 364 137 542.5t426 178.5q285 0 424 -175t139 -546q0 -373 -140.5 -547t-422.5 -174q-286 0 -424.5 177t-138.5 544zM305 1557q6 125 67.5 193.5t161.5 68.5q56 0 96.5 -22.5t75.5 -48.5t66 -48.5t67 -22.5q88 0 97 129h121q-19 -262 -232 -262 q-65 0 -105 22.5t-71 50.5t-58.5 50.5t-68.5 22.5q-51 0 -71.5 -36t-24.5 -97h-121zM313 692q0 -289 87.5 -423t281.5 -134q193 0 281 133t88 424q0 287 -86.5 422t-282.5 135t-282.5 -135t-86.5 -422z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1364" d="M119 692q0 364 137 542.5t426 178.5q285 0 424 -175t139 -546q0 -373 -140.5 -547t-422.5 -174q-286 0 -424.5 177t-138.5 544zM313 692q0 -289 87.5 -423t281.5 -134q193 0 281 133t88 424q0 287 -86.5 422t-282.5 135t-282.5 -135t-86.5 -422zM381 1651q0 53 23.5 79.5 t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78zM776 1651q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78z" />
+<glyph unicode="&#xd7;" horiz-adv-x="1427" d="M205 180l407 406l-407 407l102 101l406 -406l407 406l101 -101l-406 -407l406 -406l-101 -102l-407 407l-406 -407z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1364" d="M68 -115l184 271q-133 170 -133 536q0 364 137 542.5t426 178.5q225 0 360 -110l129 186h150l-195 -283q119 -177 119 -514q0 -373 -140.5 -547t-422.5 -174q-213 0 -340 97l-125 -183h-149zM313 692q0 -237 58 -366l565 823q-88 100 -254 100q-196 0 -282.5 -135 t-86.5 -422zM444 217q84 -82 238 -82q193 0 281 133t88 424q0 211 -47 338z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1405" d="M182 578v806h185v-786q0 -182 33 -280.5t104.5 -141.5t197.5 -43q127 0 199 42.5t104.5 135.5t32.5 283v790h185v-806q0 -227 -51 -358t-160.5 -191t-306.5 -60q-196 0 -309 61t-163.5 193t-50.5 355zM434 1905h236l178 -361h-141z" />
+<glyph unicode="&#xda;" horiz-adv-x="1405" d="M182 578v806h185v-786q0 -182 33 -280.5t104.5 -141.5t197.5 -43q127 0 199 42.5t104.5 135.5t32.5 283v790h185v-806q0 -227 -51 -358t-160.5 -191t-306.5 -60q-196 0 -309 61t-163.5 193t-50.5 355zM606 1544l178 361h236l-272 -361h-142z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1405" d="M182 578v806h185v-786q0 -182 33 -280.5t104.5 -141.5t197.5 -43q127 0 199 42.5t104.5 135.5t32.5 283v790h185v-806q0 -227 -51 -358t-160.5 -191t-306.5 -60q-196 0 -309 61t-163.5 193t-50.5 355zM369 1544l229 361h211l228 -361h-150l-184 238l-185 -238h-149z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1405" d="M182 578v806h185v-786q0 -182 33 -280.5t104.5 -141.5t197.5 -43q127 0 199 42.5t104.5 135.5t32.5 283v790h185v-806q0 -227 -51 -358t-160.5 -191t-306.5 -60q-196 0 -309 61t-163.5 193t-50.5 355zM402 1651q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5 q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78zM797 1651q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78z" />
+<glyph unicode="&#xdd;" horiz-adv-x="1147" d="M41 1384h209l325 -673l332 673h199l-440 -849v-535h-187v526zM481 1544l178 361h236l-272 -361h-142z" />
+<glyph unicode="&#xde;" horiz-adv-x="1182" d="M182 0v1384h185v-215h225q259 0 375 -107t116 -335q0 -250 -117.5 -361.5t-381.5 -111.5h-217v-254h-185zM367 422h178q146 0 213.5 28.5t99 92t31.5 180.5q0 144 -71.5 211t-246.5 67h-204v-579z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1171" d="M170 0v1034q0 261 102 373.5t308 112.5q170 0 274 -78t104 -246q0 -140 -64.5 -222t-188.5 -102q174 -20 262 -130.5t88 -282.5q0 -490 -408 -490q-74 0 -190 31v162q99 -41 184 -41q127 0 181.5 88t54.5 258q0 113 -43 181.5t-122.5 99t-232.5 30.5v152 q160 0 232.5 61.5t72.5 186.5q0 192 -209 192q-121 0 -177 -75t-56 -253v-1042h-172z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1100" d="M109 295q0 108 42.5 179.5t123 113t233.5 59.5l258 23v51q0 121 -67.5 165t-186.5 44q-106 0 -163.5 -37t-82.5 -80l-141 86q48 87 146.5 133.5t244.5 46.5q226 0 324 -82t98 -284v-713h-172v131q-80 -70 -161 -116t-183 -46q-150 0 -231.5 91.5t-81.5 234.5zM262 1569 h236l178 -361h-141zM287 299q0 -94 47 -135t141 -41q39 0 77 14.5t75 36t71.5 49t67.5 53.5v256l-168 -16q-171 -15 -241 -66.5t-70 -150.5z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1100" d="M109 295q0 108 42.5 179.5t123 113t233.5 59.5l258 23v51q0 121 -67.5 165t-186.5 44q-106 0 -163.5 -37t-82.5 -80l-141 86q48 87 146.5 133.5t244.5 46.5q226 0 324 -82t98 -284v-713h-172v131q-80 -70 -161 -116t-183 -46q-150 0 -231.5 91.5t-81.5 234.5zM287 299 q0 -94 47 -135t141 -41q39 0 77 14.5t75 36t71.5 49t67.5 53.5v256l-168 -16q-171 -15 -241 -66.5t-70 -150.5zM424 1208l178 361h236l-272 -361h-142z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1100" d="M109 295q0 108 42.5 179.5t123 113t233.5 59.5l258 23v51q0 121 -67.5 165t-186.5 44q-106 0 -163.5 -37t-82.5 -80l-141 86q48 87 146.5 133.5t244.5 46.5q226 0 324 -82t98 -284v-713h-172v131q-80 -70 -161 -116t-183 -46q-150 0 -231.5 91.5t-81.5 234.5zM186 1208 l229 361h211l228 -361h-150l-184 238l-185 -238h-149zM287 299q0 -94 47 -135t141 -41q39 0 77 14.5t75 36t71.5 49t67.5 53.5v256l-168 -16q-171 -15 -241 -66.5t-70 -150.5z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1100" d="M109 295q0 108 42.5 179.5t123 113t233.5 59.5l258 23v51q0 121 -67.5 165t-186.5 44q-106 0 -163.5 -37t-82.5 -80l-141 86q48 87 146.5 133.5t244.5 46.5q226 0 324 -82t98 -284v-713h-172v131q-80 -70 -161 -116t-183 -46q-150 0 -231.5 91.5t-81.5 234.5zM156 1221 q6 125 67.5 193.5t161.5 68.5q56 0 96.5 -22.5t75.5 -48.5t66 -48.5t67 -22.5q88 0 97 129h121q-19 -262 -232 -262q-65 0 -105 22.5t-71 50.5t-58.5 50.5t-68.5 22.5q-51 0 -71.5 -36t-24.5 -97h-121zM287 299q0 -94 47 -135t141 -41q39 0 77 14.5t75 36t71.5 49t67.5 53.5 v256l-168 -16q-171 -15 -241 -66.5t-70 -150.5z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1100" d="M109 295q0 108 42.5 179.5t123 113t233.5 59.5l258 23v51q0 121 -67.5 165t-186.5 44q-106 0 -163.5 -37t-82.5 -80l-141 86q48 87 146.5 133.5t244.5 46.5q226 0 324 -82t98 -284v-713h-172v131q-80 -70 -161 -116t-183 -46q-150 0 -231.5 91.5t-81.5 234.5zM219 1315 q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78zM287 299q0 -94 47 -135t141 -41q39 0 77 14.5t75 36t71.5 49t67.5 53.5v256l-168 -16q-171 -15 -241 -66.5t-70 -150.5zM614 1315q0 53 23.5 79.5t82.5 26.5 q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1100" d="M109 295q0 108 42.5 179.5t123 113t233.5 59.5l258 23v51q0 121 -67.5 165t-186.5 44q-106 0 -163.5 -37t-82.5 -80l-141 86q48 87 146.5 133.5t244.5 46.5q226 0 324 -82t98 -284v-713h-172v131q-80 -70 -161 -116t-183 -46q-150 0 -231.5 91.5t-81.5 234.5zM287 299 q0 -94 47 -135t141 -41q39 0 77 14.5t75 36t71.5 49t67.5 53.5v256l-168 -16q-171 -15 -241 -66.5t-70 -150.5zM323 1354q0 88 47 142t150 54q104 0 151 -53t47 -143t-48 -143.5t-150 -53.5q-105 0 -151 55.5t-46 141.5zM423 1354q0 -101 97 -101q98 0 98 101q0 100 -98 100 q-97 0 -97 -100z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1724" d="M109 301q0 152 95 238.5t304 107.5l258 23v51q0 121 -67.5 165t-186.5 44q-106 0 -163.5 -37t-82.5 -80l-141 86q103 180 401 180q123 0 217.5 -32.5t137.5 -116.5q49 71 126.5 110t200.5 39q208 0 310 -117.5t102 -361.5v-96h-682q0 -200 68.5 -292.5t218.5 -92.5 q84 0 135 29.5t102 95.5l142 -88q-60 -90 -144 -138.5t-225 -48.5q-129 0 -232.5 44t-158.5 139q-95 -81 -213 -132t-217 -51q-140 0 -222.5 90.5t-82.5 241.5zM287 297q0 -92 49 -133t127 -41q86 0 165 42t163 107q-16 51 -20.5 95.5t-4.5 164.5l-168 -16 q-126 -11 -187 -35.5t-92.5 -70t-31.5 -113.5zM940 639h512q-2 141 -58.5 219t-189.5 78q-121 0 -187.5 -70.5t-76.5 -226.5z" />
+<glyph unicode="&#xe7;" horiz-adv-x="1030" d="M117 522q0 274 116 415.5t342 141.5q259 0 369 -192l-141 -86q-39 61 -91.5 95t-138.5 34q-151 0 -214.5 -109.5t-63.5 -302.5q0 -147 30 -229t93.5 -126t161.5 -44q84 0 137 31.5t100 97.5l141 -86q-43 -74 -114.5 -125t-190.5 -64l-2 -4q86 -22 125 -73.5t39 -110.5 q0 -86 -68.5 -133t-187.5 -47q-78 0 -147.5 17.5t-92.5 29.5l52 100q28 -10 84.5 -21.5t107.5 -11.5q121 0 121 78q0 40 -42.5 68t-133.5 35l37 71q-212 11 -320 149.5t-108 401.5z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1081" d="M117 516q0 288 112.5 425.5t339.5 137.5q204 0 306 -117.5t102 -361.5v-96h-682q0 -208 71 -296.5t228 -88.5q70 0 123 29.5t102 95.5l142 -88q-60 -90 -146 -138.5t-233 -48.5q-234 0 -349.5 136t-115.5 411zM280 1569h236l178 -361h-141zM297 639h512q-2 141 -59.5 219 t-186.5 78q-123 0 -184.5 -70.5t-81.5 -226.5z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1081" d="M117 516q0 288 112.5 425.5t339.5 137.5q204 0 306 -117.5t102 -361.5v-96h-682q0 -208 71 -296.5t228 -88.5q70 0 123 29.5t102 95.5l142 -88q-60 -90 -146 -138.5t-233 -48.5q-234 0 -349.5 136t-115.5 411zM297 639h512q-2 141 -59.5 219t-186.5 78 q-123 0 -184.5 -70.5t-81.5 -226.5zM444 1208l178 361h236l-272 -361h-142z" />
+<glyph unicode="&#xea;" horiz-adv-x="1081" d="M117 516q0 288 112.5 425.5t339.5 137.5q204 0 306 -117.5t102 -361.5v-96h-682q0 -208 71 -296.5t228 -88.5q70 0 123 29.5t102 95.5l142 -88q-60 -90 -146 -138.5t-233 -48.5q-234 0 -349.5 136t-115.5 411zM225 1208l229 361h211l228 -361h-150l-184 238l-185 -238 h-149zM297 639h512q-2 141 -59.5 219t-186.5 78q-123 0 -184.5 -70.5t-81.5 -226.5z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1081" d="M117 516q0 288 112.5 425.5t339.5 137.5q204 0 306 -117.5t102 -361.5v-96h-682q0 -208 71 -296.5t228 -88.5q70 0 123 29.5t102 95.5l142 -88q-60 -90 -146 -138.5t-233 -48.5q-234 0 -349.5 136t-115.5 411zM258 1315q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5 t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78zM297 639h512q-2 141 -59.5 219t-186.5 78q-123 0 -184.5 -70.5t-81.5 -226.5zM653 1315q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78 z" />
+<glyph unicode="&#xec;" horiz-adv-x="512" d="M-31 1569h236l178 -361h-141zM170 0v1049h172v-1049h-172z" />
+<glyph unicode="&#xed;" horiz-adv-x="512" d="M141 1208l178 361h236l-272 -361h-142zM170 0v1049h172v-1049h-172z" />
+<glyph unicode="&#xee;" horiz-adv-x="512" d="M-76 1208l229 361h211l228 -361h-150l-184 238l-185 -238h-149zM170 0v1049h172v-1049h-172z" />
+<glyph unicode="&#xef;" horiz-adv-x="512" d="M-63 1315q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78zM170 0v1049h172v-1049h-172zM332 1315q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29 t-21.5 78z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1157" d="M117 508q0 253 110.5 397t311.5 144q126 0 235 -80q-20 65 -81 159t-136 168l-195 -112l-53 84l183 104q-73 84 -175 148h166q80 -47 117 -84l148 84l57 -82l-125 -72q360 -360 360 -856q0 -264 -117 -402.5t-343 -138.5q-228 0 -345.5 138.5t-117.5 400.5zM295 508 q0 -198 69 -293.5t216 -95.5q142 0 212 93t70 298q0 202 -70 295.5t-214 93.5q-148 0 -215.5 -92t-67.5 -299z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1163" d="M170 0v1049h172v-156q73 73 170 129.5t195 56.5q152 0 223 -86.5t71 -292.5v-700h-172v618q0 150 -15 200t-49 72.5t-99 22.5q-66 0 -154 -50t-170 -122v-741h-172zM219 1221q6 125 67.5 193.5t161.5 68.5q56 0 96.5 -22.5t75.5 -48.5t66 -48.5t67 -22.5q88 0 97 129h121 q-19 -262 -232 -262q-65 0 -105 22.5t-71 50.5t-58.5 50.5t-68.5 22.5q-51 0 -71.5 -36t-24.5 -97h-121z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1157" d="M117 522q0 281 119.5 419t343.5 138q226 0 343 -140.5t117 -416.5q0 -273 -117.5 -413t-342.5 -140t-344 138.5t-119 414.5zM286 1569h236l178 -361h-141zM295 522q0 -205 67.5 -304t217.5 -99q143 0 212.5 98t69.5 305q0 214 -70.5 311t-211.5 97q-145 0 -215 -97.5 t-70 -310.5z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1157" d="M117 522q0 281 119.5 419t343.5 138q226 0 343 -140.5t117 -416.5q0 -273 -117.5 -413t-342.5 -140t-344 138.5t-119 414.5zM295 522q0 -205 67.5 -304t217.5 -99q143 0 212.5 98t69.5 305q0 214 -70.5 311t-211.5 97q-145 0 -215 -97.5t-70 -310.5zM454 1208l178 361 h236l-272 -361h-142z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1157" d="M117 522q0 281 119.5 419t343.5 138q226 0 343 -140.5t117 -416.5q0 -273 -117.5 -413t-342.5 -140t-344 138.5t-119 414.5zM246 1208l229 361h211l228 -361h-150l-184 238l-185 -238h-149zM295 522q0 -205 67.5 -304t217.5 -99q143 0 212.5 98t69.5 305q0 214 -70.5 311 t-211.5 97q-145 0 -215 -97.5t-70 -310.5z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1157" d="M117 522q0 281 119.5 419t343.5 138q226 0 343 -140.5t117 -416.5q0 -273 -117.5 -413t-342.5 -140t-344 138.5t-119 414.5zM203 1221q6 125 67.5 193.5t161.5 68.5q56 0 96.5 -22.5t75.5 -48.5t66 -48.5t67 -22.5q88 0 97 129h121q-19 -262 -232 -262q-65 0 -105 22.5 t-71 50.5t-58.5 50.5t-68.5 22.5q-51 0 -71.5 -36t-24.5 -97h-121zM295 522q0 -205 67.5 -304t217.5 -99q143 0 212.5 98t69.5 305q0 214 -70.5 311t-211.5 97q-145 0 -215 -97.5t-70 -310.5z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1157" d="M117 522q0 281 119.5 419t343.5 138q226 0 343 -140.5t117 -416.5q0 -273 -117.5 -413t-342.5 -140t-344 138.5t-119 414.5zM279 1315q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78zM295 522 q0 -205 67.5 -304t217.5 -99q143 0 212.5 98t69.5 305q0 214 -70.5 311t-211.5 97q-145 0 -215 -97.5t-70 -310.5zM674 1315q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78z" />
+<glyph unicode="&#xf7;" horiz-adv-x="1427" d="M164 514v143h1100v-143h-1100zM623 43v180h180v-180h-180zM623 948v180h180v-180h-180z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1157" d="M102 -76l129 189q-114 137 -114 409q0 281 119.5 419t343.5 138q161 0 268 -71l80 116h141l-137 -198q108 -145 108 -404q0 -273 -117.5 -413t-342.5 -140q-158 0 -261 66l-75 -111h-142zM295 522q0 -164 41 -258l420 608q-68 58 -176 58q-145 0 -215 -97.5t-70 -310.5z M410 168q63 -49 170 -49q143 0 212.5 98t69.5 305q0 158 -37 248z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1163" d="M162 348v701h172v-619q0 -150 15.5 -200t49.5 -72.5t99 -22.5t153 50.5t170 121.5v742h172v-1049h-172v156q-80 -80 -176 -133.5t-188 -53.5q-105 0 -170.5 39.5t-95 119t-29.5 220.5zM303 1569h236l178 -361h-141z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1163" d="M162 348v701h172v-619q0 -150 15.5 -200t49.5 -72.5t99 -22.5t153 50.5t170 121.5v742h172v-1049h-172v156q-80 -80 -176 -133.5t-188 -53.5q-105 0 -170.5 39.5t-95 119t-29.5 220.5zM467 1208l178 361h236l-272 -361h-142z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1163" d="M162 348v701h172v-619q0 -150 15.5 -200t49.5 -72.5t99 -22.5t153 50.5t170 121.5v742h172v-1049h-172v156q-80 -80 -176 -133.5t-188 -53.5q-105 0 -170.5 39.5t-95 119t-29.5 220.5zM248 1208l229 361h211l228 -361h-150l-184 238l-185 -238h-149z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1163" d="M162 348v701h172v-619q0 -150 15.5 -200t49.5 -72.5t99 -22.5t153 50.5t170 121.5v742h172v-1049h-172v156q-80 -80 -176 -133.5t-188 -53.5q-105 0 -170.5 39.5t-95 119t-29.5 220.5zM277 1315q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5 t-84.5 -23.5q-63 0 -84.5 29t-21.5 78zM672 1315q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78z" />
+<glyph unicode="&#xfd;" horiz-adv-x="1040" d="M-4 -365l43 142q65 -29 151 -29q121 0 205 219l35 90l-383 992h186l289 -768l291 768h180l-448 -1129q-71 -173 -152 -244t-211 -71q-47 0 -100 9t-86 21zM405 1208l178 361h236l-272 -361h-142z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1174" d="M170 -395v1884h172v-545q59 57 142 96t178 39q187 0 291 -141.5t104 -405.5q0 -258 -112.5 -410.5t-309.5 -152.5q-157 0 -293 117v-481h-172zM342 236q134 -113 270 -113q117 0 192 98t75 307q0 398 -250 398q-82 0 -157 -41t-130 -94v-555z" />
+<glyph unicode="&#xff;" horiz-adv-x="1040" d="M-4 -365l43 142q65 -29 151 -29q121 0 205 219l35 90l-383 992h186l289 -768l291 768h180l-448 -1129q-71 -173 -152 -244t-211 -71q-47 0 -100 9t-86 21zM221 1315q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29 t-21.5 78zM616 1315q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78z" />
+<glyph unicode="&#x152;" horiz-adv-x="1849" d="M129 692q0 366 145.5 543.5t452.5 177.5q124 0 223 -29h774v-167h-604v-408h525v-168h-525v-473h604v-168h-772q-102 -29 -225 -29q-305 0 -451.5 177t-146.5 544zM324 692q0 -288 95.5 -422.5t309.5 -134.5q121 0 205 43v1028q-84 43 -205 43q-216 0 -310.5 -135.5 t-94.5 -421.5z" />
+<glyph unicode="&#x153;" horiz-adv-x="1821" d="M117 522q0 281 119.5 419t343.5 138q120 0 217.5 -51t148.5 -141q51 94 144.5 143t218.5 49q203 0 305 -117t102 -362v-96h-682v-21q0 -188 74 -276t225 -88q72 0 124 29.5t102 95.5l141 -88q-60 -90 -145 -138.5t-220 -48.5q-274 0 -389 193q-121 -193 -366 -193 q-225 0 -344 138.5t-119 414.5zM295 522q0 -205 67.5 -304t217.5 -99q139 0 210.5 96.5t71.5 300.5q0 153 -29.5 237.5t-91 130.5t-161.5 46q-145 0 -215 -97.5t-70 -310.5zM1036 639h512q-2 141 -59 219t-186 78q-123 0 -188.5 -68.5t-78.5 -228.5z" />
+<glyph unicode="&#x178;" horiz-adv-x="1147" d="M41 1384h209l325 -673l332 673h199l-440 -849v-535h-187v526zM275 1651q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78zM670 1651q0 53 23.5 79.5t82.5 26.5q62 0 85.5 -25.5t23.5 -80.5 q0 -60 -24.5 -83.5t-84.5 -23.5q-63 0 -84.5 29t-21.5 78z" />
+<glyph unicode="&#x2c6;" horiz-adv-x="1085" d="M209 1208l229 361h211l228 -361h-150l-184 238l-185 -238h-149z" />
+<glyph unicode="&#x2dc;" horiz-adv-x="1085" d="M166 1221q6 125 67.5 193.5t161.5 68.5q56 0 96.5 -22.5t75.5 -48.5t66 -48.5t67 -22.5q88 0 97 129h121q-19 -262 -232 -262q-65 0 -105 22.5t-71 50.5t-58.5 50.5t-68.5 22.5q-51 0 -71.5 -36t-24.5 -97h-121z" />
+<glyph unicode="&#x2000;" horiz-adv-x="952" />
+<glyph unicode="&#x2001;" horiz-adv-x="1905" />
+<glyph unicode="&#x2002;" horiz-adv-x="952" />
+<glyph unicode="&#x2003;" horiz-adv-x="1905" />
+<glyph unicode="&#x2004;" horiz-adv-x="635" />
+<glyph unicode="&#x2005;" horiz-adv-x="476" />
+<glyph unicode="&#x2006;" horiz-adv-x="317" />
+<glyph unicode="&#x2007;" horiz-adv-x="317" />
+<glyph unicode="&#x2008;" horiz-adv-x="238" />
+<glyph unicode="&#x2009;" horiz-adv-x="381" />
+<glyph unicode="&#x200a;" horiz-adv-x="105" />
+<glyph unicode="&#x2010;" horiz-adv-x="827" d="M102 440v172h623v-172h-623z" />
+<glyph unicode="&#x2011;" horiz-adv-x="827" d="M102 440v172h623v-172h-623z" />
+<glyph unicode="&#x2012;" horiz-adv-x="827" d="M102 440v172h623v-172h-623z" />
+<glyph unicode="&#x2013;" horiz-adv-x="1085" d="M51 455v143h983v-143h-983z" />
+<glyph unicode="&#x2014;" horiz-adv-x="2109" d="M51 455v143h2007v-143h-2007z" />
+<glyph unicode="&#x2018;" d="M156 1014q0 106 31.5 208t80.5 162h105q-34 -42 -59 -127.5t-25 -150.5q59 0 84.5 -26.5t25.5 -86.5q0 -55 -27.5 -83.5t-92.5 -28.5q-68 0 -95.5 33.5t-27.5 99.5z" />
+<glyph unicode="&#x2019;" d="M156 1300q0 56 27.5 84.5t92.5 28.5q68 0 95.5 -33.5t27.5 -99.5q0 -123 -36.5 -223.5t-75.5 -147.5h-105q35 44 59.5 130t24.5 149q-59 0 -84.5 26.5t-25.5 85.5z" />
+<glyph unicode="&#x201a;" d="M156 98q0 56 27.5 84.5t92.5 28.5q68 0 95.5 -34t27.5 -99q0 -123 -36.5 -223.5t-75.5 -147.5h-105q35 44 59.5 130t24.5 149q-59 0 -84.5 26.5t-25.5 85.5z" />
+<glyph unicode="&#x201c;" horiz-adv-x="965" d="M156 1014q0 106 31.5 208t80.5 162h105q-34 -42 -59 -127.5t-25 -150.5q59 0 84.5 -26.5t25.5 -86.5q0 -55 -27.5 -83.5t-92.5 -28.5q-68 0 -95.5 33.5t-27.5 99.5zM565 1014q0 101 32 207.5t81 162.5h104q-34 -43 -59 -130t-25 -148q60 0 85.5 -26.5t25.5 -86.5 q0 -55 -27.5 -83.5t-93.5 -28.5q-67 0 -95 33.5t-28 99.5z" />
+<glyph unicode="&#x201d;" horiz-adv-x="965" d="M156 1300q0 56 27.5 84.5t92.5 28.5q68 0 95.5 -33.5t27.5 -99.5q0 -123 -36.5 -223.5t-75.5 -147.5h-105q35 44 59.5 130t24.5 149q-59 0 -84.5 26.5t-25.5 85.5zM565 1300q0 56 28 84.5t93 28.5q68 0 95.5 -33.5t27.5 -99.5q0 -123 -37 -223.5t-76 -147.5h-104 q33 43 58.5 127.5t25.5 151.5q-60 0 -85.5 26.5t-25.5 85.5z" />
+<glyph unicode="&#x201e;" horiz-adv-x="965" d="M156 98q0 56 27.5 84.5t92.5 28.5q68 0 95.5 -34t27.5 -99q0 -123 -36.5 -223.5t-75.5 -147.5h-105q35 44 59.5 130t24.5 149q-59 0 -84.5 26.5t-25.5 85.5zM565 98q0 56 28 84.5t93 28.5q68 0 95.5 -34t27.5 -99q0 -123 -37 -223.5t-76 -147.5h-104q33 43 58.5 127.5 t25.5 151.5q-60 0 -85.5 26.5t-25.5 85.5z" />
+<glyph unicode="&#x2022;" horiz-adv-x="774" d="M129 745q0 109 76 184t182 75q108 0 182 -76t74 -183q0 -104 -76 -180t-180 -76q-106 0 -182 76t-76 180z" />
+<glyph unicode="&#x2026;" horiz-adv-x="2109" d="M250 98q0 60 27.5 86.5t93.5 26.5q67 0 95 -26.5t28 -86.5q0 -63 -30 -87.5t-93 -24.5q-72 0 -96.5 29.5t-24.5 82.5zM932 98q0 60 27.5 86.5t93.5 26.5q67 0 95 -26.5t28 -86.5q0 -63 -30 -87.5t-93 -24.5q-72 0 -96.5 29.5t-24.5 82.5zM1614 98q0 60 27.5 86.5 t93.5 26.5q67 0 95 -26.5t28 -86.5q0 -63 -30 -87.5t-93 -24.5q-72 0 -96.5 29.5t-24.5 82.5z" />
+<glyph unicode="&#x202f;" horiz-adv-x="381" />
+<glyph unicode="&#x2039;" horiz-adv-x="735" d="M72 524l393 471h197l-394 -471l394 -471h-197z" />
+<glyph unicode="&#x203a;" horiz-adv-x="735" d="M74 53l393 471l-393 471h196l394 -471l-394 -471h-196z" />
+<glyph unicode="&#x205f;" horiz-adv-x="476" />
+<glyph unicode="&#x20ac;" horiz-adv-x="1264" d="M31 506l39 119h59v139h-98l37 119h71q35 264 173.5 397t392.5 133q114 0 204.5 -29.5t153 -80.5t119.5 -150l-152 -96q-45 78 -88 116t-101 59t-136 21q-166 0 -254.5 -98t-116.5 -272h592l-37 -119h-565v-139h530l-37 -119h-483q28 -187 118.5 -281t256.5 -94 q113 0 192 49.5t146 173.5l147 -92q-87 -160 -199.5 -225.5t-279.5 -65.5q-508 0 -576 535h-108z" />
+<glyph unicode="&#x2122;" horiz-adv-x="1608" d="M76 1257v127h581v-127h-219v-587h-141v587h-221zM817 670v714h164l174 -344l180 344h160v-714h-137v483l-160 -301h-88l-156 299v-481h-137z" />
+<glyph unicode="&#x25fc;" horiz-adv-x="1050" d="M0 0v1050h1050v-1050h-1050z" />
+<hkern u1="&#x28;" u2="j" k="-123" />
+<hkern u1="&#x2a;" u2="&#xef;" k="-61" />
+<hkern u1="&#x2a;" u2="&#xc5;" k="164" />
+<hkern u1="&#x2a;" u2="&#xc4;" k="164" />
+<hkern u1="&#x2a;" u2="&#xc3;" k="164" />
+<hkern u1="&#x2a;" u2="&#xc2;" k="164" />
+<hkern u1="&#x2a;" u2="&#xc1;" k="164" />
+<hkern u1="&#x2a;" u2="&#xc0;" k="164" />
+<hkern u1="&#x2a;" u2="T" k="-61" />
+<hkern u1="&#x2a;" u2="J" k="225" />
+<hkern u1="&#x2a;" u2="A" k="164" />
+<hkern u1="A" u2="&#x3f;" k="82" />
+<hkern u1="A" u2="&#x2a;" k="164" />
+<hkern u1="F" u2="&#xef;" k="-41" />
+<hkern u1="F" u2="&#xee;" k="-20" />
+<hkern u1="K" u2="&#xef;" k="-10" />
+<hkern u1="K" u2="&#xee;" k="-10" />
+<hkern u1="L" u2="&#xd8;" k="20" />
+<hkern u1="L" u2="&#x3f;" k="102" />
+<hkern u1="L" u2="&#x2a;" k="287" />
+<hkern u1="T" u2="&#xef;" k="-102" />
+<hkern u1="T" u2="&#xee;" k="-61" />
+<hkern u1="T" u2="&#xe4;" k="164" />
+<hkern u1="T" u2="&#xe3;" k="102" />
+<hkern u1="T" u2="&#xe2;" k="143" />
+<hkern u1="T" u2="&#x3f;" k="20" />
+<hkern u1="T" u2="&#x2a;" k="-61" />
+<hkern u1="V" u2="&#xef;" k="-61" />
+<hkern u1="V" u2="&#xee;" k="-41" />
+<hkern u1="W" u2="&#xef;" k="-61" />
+<hkern u1="W" u2="&#xee;" k="-41" />
+<hkern u1="X" u2="&#xef;" k="-61" />
+<hkern u1="X" u2="&#xee;" k="-41" />
+<hkern u1="Y" u2="&#xef;" k="-61" />
+<hkern u1="Y" u2="&#xee;" k="-51" />
+<hkern u1="[" u2="j" k="-123" />
+<hkern u1="f" u2="&#xef;" k="-123" />
+<hkern u1="f" u2="&#xee;" k="-102" />
+<hkern u1="f" u2="&#xec;" k="-82" />
+<hkern u1="f" u2="&#x3f;" k="-82" />
+<hkern u1="f" u2="&#x2a;" k="-82" />
+<hkern u1="f" u2="&#x21;" k="-61" />
+<hkern u1="j" u2="&#xff;" k="-31" />
+<hkern u1="j" u2="&#xfd;" k="-31" />
+<hkern u1="j" u2="y" k="-31" />
+<hkern u1="&#x7b;" u2="j" k="-123" />
+<hkern u1="&#xa1;" u2="&#x178;" k="113" />
+<hkern u1="&#xa1;" u2="&#xdd;" k="113" />
+<hkern u1="&#xa1;" u2="Y" k="113" />
+<hkern u1="&#xa1;" u2="W" k="61" />
+<hkern u1="&#xa1;" u2="V" k="61" />
+<hkern u1="&#xa1;" u2="T" k="143" />
+<hkern u1="&#xbf;" u2="&#x178;" k="215" />
+<hkern u1="&#xbf;" u2="&#xdd;" k="215" />
+<hkern u1="&#xbf;" u2="Y" k="215" />
+<hkern u1="&#xbf;" u2="W" k="123" />
+<hkern u1="&#xbf;" u2="V" k="123" />
+<hkern u1="&#xbf;" u2="T" k="143" />
+<hkern u1="&#xc0;" u2="&#x3f;" k="82" />
+<hkern u1="&#xc0;" u2="&#x2a;" k="164" />
+<hkern u1="&#xc1;" u2="&#x3f;" k="82" />
+<hkern u1="&#xc1;" u2="&#x2a;" k="164" />
+<hkern u1="&#xc2;" u2="&#x3f;" k="82" />
+<hkern u1="&#xc2;" u2="&#x2a;" k="164" />
+<hkern u1="&#xc3;" u2="&#x3f;" k="82" />
+<hkern u1="&#xc3;" u2="&#x2a;" k="164" />
+<hkern u1="&#xc4;" u2="&#x3f;" k="82" />
+<hkern u1="&#xc4;" u2="&#x2a;" k="164" />
+<hkern u1="&#xc5;" u2="&#x3f;" k="82" />
+<hkern u1="&#xc5;" u2="&#x2a;" k="164" />
+<hkern u1="&#xdd;" u2="&#xef;" k="-61" />
+<hkern u1="&#xdd;" u2="&#xee;" k="-51" />
+<hkern u1="&#xde;" u2="X" k="41" />
+<hkern u1="&#xde;" u2="W" k="-10" />
+<hkern u1="&#xde;" u2="V" k="-10" />
+<hkern u1="&#xde;" u2="T" k="20" />
+<hkern u1="&#xef;" u2="&#xef;" k="-184" />
+<hkern u1="&#xef;" u2="&#x2a;" k="-61" />
+<hkern u1="&#x178;" u2="&#xef;" k="-61" />
+<hkern u1="&#x178;" u2="&#xee;" k="-51" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="T" k="164" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="V" k="92" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="W" k="61" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="Y,Yacute,Ydieresis" k="133" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quotedbl,quotesingle" k="123" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="-41" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="colon,semicolon" k="-41" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="41" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="41" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="t" k="31" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="z" k="-20" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="copyright,registered" k="41" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="trademark" k="205" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quoteleft,quotedblleft" k="184" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quoteright,quotedblright" k="184" />
+<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="41" />
+<hkern g1="B" g2="J" k="61" />
+<hkern g1="B" g2="T" k="61" />
+<hkern g1="B" g2="V" k="41" />
+<hkern g1="B" g2="W" k="41" />
+<hkern g1="B" g2="Y,Yacute,Ydieresis" k="51" />
+<hkern g1="B" g2="trademark" k="61" />
+<hkern g1="C,Ccedilla" g2="J" k="20" />
+<hkern g1="C,Ccedilla" g2="V" k="20" />
+<hkern g1="C,Ccedilla" g2="W" k="20" />
+<hkern g1="C,Ccedilla" g2="X" k="31" />
+<hkern g1="C,Ccedilla" g2="Y,Yacute,Ydieresis" k="41" />
+<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="20" />
+<hkern g1="F" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="123" />
+<hkern g1="F" g2="J" k="184" />
+<hkern g1="F" g2="X" k="61" />
+<hkern g1="F" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="246" />
+<hkern g1="F" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="61" />
+<hkern g1="F" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="82" />
+<hkern g1="F" g2="t" k="20" />
+<hkern g1="F" g2="z" k="61" />
+<hkern g1="F" g2="copyright,registered" k="61" />
+<hkern g1="F" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="61" />
+<hkern g1="F" g2="S" k="41" />
+<hkern g1="F" g2="Z" k="41" />
+<hkern g1="F" g2="i,j,igrave,iacute,icircumflex,idieresis" k="41" />
+<hkern g1="F" g2="m,n,p,r,ntilde" k="72" />
+<hkern g1="F" g2="s" k="82" />
+<hkern g1="F" g2="u,ugrave,uacute,ucircumflex,udieresis" k="41" />
+<hkern g1="F" g2="v" k="41" />
+<hkern g1="F" g2="w" k="41" />
+<hkern g1="F" g2="x" k="82" />
+<hkern g1="F" g2="y,yacute,ydieresis" k="61" />
+<hkern g1="G" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="20" />
+<hkern g1="G" g2="J" k="51" />
+<hkern g1="G" g2="T" k="41" />
+<hkern g1="G" g2="V" k="41" />
+<hkern g1="G" g2="W" k="41" />
+<hkern g1="G" g2="X" k="31" />
+<hkern g1="G" g2="Y,Yacute,Ydieresis" k="41" />
+<hkern g1="G" g2="trademark" k="41" />
+<hkern g1="J" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="41" />
+<hkern g1="J" g2="J" k="61" />
+<hkern g1="J" g2="X" k="20" />
+<hkern g1="J" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="61" />
+<hkern g1="J" g2="AE" k="61" />
+<hkern g1="K" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="41" />
+<hkern g1="K" g2="J" k="41" />
+<hkern g1="K" g2="T" k="61" />
+<hkern g1="K" g2="V" k="51" />
+<hkern g1="K" g2="W" k="51" />
+<hkern g1="K" g2="X" k="41" />
+<hkern g1="K" g2="Y,Yacute,Ydieresis" k="82" />
+<hkern g1="K" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="61" />
+<hkern g1="K" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="20" />
+<hkern g1="K" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="61" />
+<hkern g1="K" g2="t" k="61" />
+<hkern g1="K" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="61" />
+<hkern g1="K" g2="S" k="72" />
+<hkern g1="K" g2="i,j,igrave,iacute,icircumflex,idieresis" k="41" />
+<hkern g1="K" g2="m,n,p,r,ntilde" k="41" />
+<hkern g1="K" g2="s" k="61" />
+<hkern g1="K" g2="u,ugrave,uacute,ucircumflex,udieresis" k="61" />
+<hkern g1="K" g2="v" k="51" />
+<hkern g1="K" g2="w" k="51" />
+<hkern g1="K" g2="y,yacute,ydieresis" k="102" />
+<hkern g1="K" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="41" />
+<hkern g1="L" g2="T" k="205" />
+<hkern g1="L" g2="V" k="154" />
+<hkern g1="L" g2="W" k="102" />
+<hkern g1="L" g2="Y,Yacute,Ydieresis" k="164" />
+<hkern g1="L" g2="quotedbl,quotesingle" k="205" />
+<hkern g1="L" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="-20" />
+<hkern g1="L" g2="colon,semicolon" k="-41" />
+<hkern g1="L" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="61" />
+<hkern g1="L" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="41" />
+<hkern g1="L" g2="t" k="31" />
+<hkern g1="L" g2="copyright,registered" k="102" />
+<hkern g1="L" g2="trademark" k="287" />
+<hkern g1="L" g2="quoteleft,quotedblleft" k="256" />
+<hkern g1="L" g2="quoteright,quotedblright" k="256" />
+<hkern g1="L" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="31" />
+<hkern g1="L" g2="S" k="41" />
+<hkern g1="L" g2="v" k="61" />
+<hkern g1="L" g2="w" k="61" />
+<hkern g1="L" g2="y,yacute,ydieresis" k="102" />
+<hkern g1="P,Thorn" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="102" />
+<hkern g1="P,Thorn" g2="J" k="143" />
+<hkern g1="P,Thorn" g2="T" k="20" />
+<hkern g1="P,Thorn" g2="V" k="-10" />
+<hkern g1="P,Thorn" g2="W" k="-10" />
+<hkern g1="P,Thorn" g2="X" k="41" />
+<hkern g1="P,Thorn" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="287" />
+<hkern g1="P,Thorn" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20" />
+<hkern g1="P,Thorn" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="20" />
+<hkern g1="P,Thorn" g2="S" k="-31" />
+<hkern g1="P,Thorn" g2="Z" k="41" />
+<hkern g1="P,Thorn" g2="AE" k="123" />
+<hkern g1="P,Thorn" g2="I,Igrave,Iacute,Icircumflex,Idieresis" k="41" />
+<hkern g1="R" g2="J" k="41" />
+<hkern g1="R" g2="T" k="41" />
+<hkern g1="R" g2="V" k="41" />
+<hkern g1="R" g2="W" k="41" />
+<hkern g1="R" g2="Y,Yacute,Ydieresis" k="41" />
+<hkern g1="R" g2="z" k="-20" />
+<hkern g1="R" g2="AE" k="61" />
+<hkern g1="S" g2="J" k="61" />
+<hkern g1="S" g2="T" k="41" />
+<hkern g1="S" g2="V" k="31" />
+<hkern g1="S" g2="W" k="31" />
+<hkern g1="S" g2="X" k="20" />
+<hkern g1="S" g2="Y,Yacute,Ydieresis" k="61" />
+<hkern g1="T" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="164" />
+<hkern g1="T" g2="J" k="143" />
+<hkern g1="T" g2="X" k="20" />
+<hkern g1="T" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="225" />
+<hkern g1="T" g2="colon,semicolon" k="143" />
+<hkern g1="T" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="61" />
+<hkern g1="T" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="205" />
+<hkern g1="T" g2="t" k="82" />
+<hkern g1="T" g2="z" k="156" />
+<hkern g1="T" g2="copyright,registered" k="102" />
+<hkern g1="T" g2="trademark" k="-61" />
+<hkern g1="T" g2="quoteleft,quotedblleft" k="-61" />
+<hkern g1="T" g2="quoteright,quotedblright" k="-61" />
+<hkern g1="T" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="205" />
+<hkern g1="T" g2="S" k="41" />
+<hkern g1="T" g2="i,j,igrave,iacute,icircumflex,idieresis" k="41" />
+<hkern g1="T" g2="m,n,p,r,ntilde" k="184" />
+<hkern g1="T" g2="s" k="242" />
+<hkern g1="T" g2="u,ugrave,uacute,ucircumflex,udieresis" k="164" />
+<hkern g1="T" g2="v" k="225" />
+<hkern g1="T" g2="w" k="225" />
+<hkern g1="T" g2="x" k="205" />
+<hkern g1="T" g2="y,yacute,ydieresis" k="143" />
+<hkern g1="T" g2="AE" k="184" />
+<hkern g1="T" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="61" />
+<hkern g1="T" g2="hyphen,endash,emdash" k="102" />
+<hkern g1="T" g2="guillemotleft,guilsinglleft" k="143" />
+<hkern g1="T" g2="guillemotright,guilsinglright" k="123" />
+<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="41" />
+<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="J" k="51" />
+<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="X" k="20" />
+<hkern g1="W" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="61" />
+<hkern g1="W" g2="J" k="143" />
+<hkern g1="W" g2="X" k="20" />
+<hkern g1="W" g2="Y,Yacute,Ydieresis" k="41" />
+<hkern g1="W" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="143" />
+<hkern g1="W" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="41" />
+<hkern g1="W" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="61" />
+<hkern g1="W" g2="t" k="31" />
+<hkern g1="W" g2="z" k="41" />
+<hkern g1="W" g2="copyright,registered" k="41" />
+<hkern g1="W" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="61" />
+<hkern g1="W" g2="S" k="10" />
+<hkern g1="W" g2="m,n,p,r,ntilde" k="61" />
+<hkern g1="W" g2="s" k="61" />
+<hkern g1="W" g2="u,ugrave,uacute,ucircumflex,udieresis" k="61" />
+<hkern g1="W" g2="x" k="31" />
+<hkern g1="W" g2="y,yacute,ydieresis" k="20" />
+<hkern g1="W" g2="AE" k="82" />
+<hkern g1="W" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="20" />
+<hkern g1="W" g2="b,h,k,l,germandbls,thorn" k="31" />
+<hkern g1="X" g2="T" k="20" />
+<hkern g1="X" g2="V" k="20" />
+<hkern g1="X" g2="W" k="20" />
+<hkern g1="X" g2="Y,Yacute,Ydieresis" k="41" />
+<hkern g1="X" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="41" />
+<hkern g1="X" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="20" />
+<hkern g1="X" g2="copyright,registered" k="41" />
+<hkern g1="X" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="61" />
+<hkern g1="X" g2="S" k="20" />
+<hkern g1="X" g2="m,n,p,r,ntilde" k="31" />
+<hkern g1="X" g2="u,ugrave,uacute,ucircumflex,udieresis" k="82" />
+<hkern g1="X" g2="v" k="41" />
+<hkern g1="X" g2="w" k="41" />
+<hkern g1="X" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="20" />
+<hkern g1="X" g2="guillemotleft,guilsinglleft" k="61" />
+<hkern g1="X" g2="guillemotright,guilsinglright" k="-41" />
+<hkern g1="Y,Yacute,Ydieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="133" />
+<hkern g1="Y,Yacute,Ydieresis" g2="J" k="184" />
+<hkern g1="Y,Yacute,Ydieresis" g2="V" k="41" />
+<hkern g1="Y,Yacute,Ydieresis" g2="W" k="41" />
+<hkern g1="Y,Yacute,Ydieresis" g2="X" k="41" />
+<hkern g1="Y,Yacute,Ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="164" />
+<hkern g1="Y,Yacute,Ydieresis" g2="colon,semicolon" k="61" />
+<hkern g1="Y,Yacute,Ydieresis" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="61" />
+<hkern g1="Y,Yacute,Ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="123" />
+<hkern g1="Y,Yacute,Ydieresis" g2="t" k="31" />
+<hkern g1="Y,Yacute,Ydieresis" g2="z" k="102" />
+<hkern g1="Y,Yacute,Ydieresis" g2="copyright,registered" k="82" />
+<hkern g1="Y,Yacute,Ydieresis" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="143" />
+<hkern g1="Y,Yacute,Ydieresis" g2="S" k="61" />
+<hkern g1="Y,Yacute,Ydieresis" g2="Z" k="20" />
+<hkern g1="Y,Yacute,Ydieresis" g2="i,j,igrave,iacute,icircumflex,idieresis" k="41" />
+<hkern g1="Y,Yacute,Ydieresis" g2="m,n,p,r,ntilde" k="133" />
+<hkern g1="Y,Yacute,Ydieresis" g2="s" k="123" />
+<hkern g1="Y,Yacute,Ydieresis" g2="u,ugrave,uacute,ucircumflex,udieresis" k="102" />
+<hkern g1="Y,Yacute,Ydieresis" g2="v" k="123" />
+<hkern g1="Y,Yacute,Ydieresis" g2="w" k="123" />
+<hkern g1="Y,Yacute,Ydieresis" g2="x" k="82" />
+<hkern g1="Y,Yacute,Ydieresis" g2="AE" k="113" />
+<hkern g1="Y,Yacute,Ydieresis" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="20" />
+<hkern g1="Y,Yacute,Ydieresis" g2="guillemotleft,guilsinglleft" k="102" />
+<hkern g1="Y,Yacute,Ydieresis" g2="b,h,k,l,germandbls,thorn" k="41" />
+<hkern g1="Z" g2="Y,Yacute,Ydieresis" k="31" />
+<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="t" k="20" />
+<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="v" k="31" />
+<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="w" k="10" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="41" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="quoteleft,quotedblleft" k="82" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="quoteright,quotedblright" k="82" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="v" k="20" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="x" k="20" />
+<hkern g1="b,o,p,germandbls,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="y,yacute,ydieresis" k="10" />
+<hkern g1="h,m,n,ntilde" g2="v" k="20" />
+<hkern g1="h,m,n,ntilde" g2="w" k="20" />
+<hkern g1="f" g2="quotedbl,quotesingle" k="-102" />
+<hkern g1="f" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="61" />
+<hkern g1="f" g2="trademark" k="-143" />
+<hkern g1="f" g2="quoteleft,quotedblleft" k="-102" />
+<hkern g1="f" g2="quoteright,quotedblright" k="-102" />
+<hkern g1="f" g2="parenright,bracketright,braceright" k="-143" />
+<hkern g1="k" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="31" />
+<hkern g1="k" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="41" />
+<hkern g1="k" g2="s" k="20" />
+<hkern g1="k" g2="v" k="41" />
+<hkern g1="k" g2="guillemotright,guilsinglright" k="-41" />
+<hkern g1="d,l,uniFB02,uniFB04" g2="t" k="20" />
+<hkern g1="r" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="266" />
+<hkern g1="r" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20" />
+<hkern g1="r" g2="quoteleft,quotedblleft" k="-82" />
+<hkern g1="r" g2="quoteright,quotedblright" k="-82" />
+<hkern g1="r" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="61" />
+<hkern g1="r" g2="s" k="41" />
+<hkern g1="r" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="-20" />
+<hkern g1="r" g2="guillemotright,guilsinglright" k="-82" />
+<hkern g1="s" g2="t" k="20" />
+<hkern g1="s" g2="v" k="41" />
+<hkern g1="s" g2="w" k="41" />
+<hkern g1="s" g2="x" k="20" />
+<hkern g1="t" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-20" />
+<hkern g1="t" g2="t" k="20" />
+<hkern g1="t" g2="z" k="-31" />
+<hkern g1="t" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="20" />
+<hkern g1="t" g2="u,ugrave,uacute,ucircumflex,udieresis" k="31" />
+<hkern g1="t" g2="v" k="31" />
+<hkern g1="t" g2="w" k="31" />
+<hkern g1="t" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="41" />
+<hkern g1="w" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="61" />
+<hkern g1="w" g2="s" k="20" />
+<hkern g1="w" g2="y,yacute,ydieresis" k="10" />
+<hkern g1="x" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="20" />
+<hkern g1="y,yacute,ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="123" />
+<hkern g1="y,yacute,ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20" />
+<hkern g1="y,yacute,ydieresis" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="41" />
+<hkern g1="y,yacute,ydieresis" g2="s" k="31" />
+<hkern g1="y,yacute,ydieresis" g2="v" k="20" />
+<hkern g1="y,yacute,ydieresis" g2="w" k="20" />
+<hkern g1="y,yacute,ydieresis" g2="x" k="31" />
+<hkern g1="y,yacute,ydieresis" g2="parenright,bracketright,braceright" k="61" />
+<hkern g1="z" g2="z" k="-20" />
+<hkern g1="colon,semicolon" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-41" />
+<hkern g1="colon,semicolon" g2="J" k="-41" />
+<hkern g1="colon,semicolon" g2="T" k="143" />
+<hkern g1="colon,semicolon" g2="Y,Yacute,Ydieresis" k="61" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-41" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="J" k="-41" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="T" k="225" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="V" k="143" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="W" k="143" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="Y,Yacute,Ydieresis" k="164" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="quoteleft,quotedblleft" k="184" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="quoteright,quotedblright" k="143" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="41" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="v" k="61" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="w" k="61" />
+<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="AE" k="-61" />
+<hkern g1="guillemotleft,guilsinglleft" g2="T" k="123" />
+<hkern g1="guillemotleft,guilsinglleft" g2="X" k="-41" />
+<hkern g1="guillemotright,guilsinglright" g2="T" k="143" />
+<hkern g1="guillemotright,guilsinglright" g2="X" k="61" />
+<hkern g1="guillemotright,guilsinglright" g2="Y,Yacute,Ydieresis" k="102" />
+<hkern g1="hyphen,endash,emdash" g2="T" k="102" />
+<hkern g1="parenleft,bracketleft,braceleft" g2="y,yacute,ydieresis" k="-61" />
+<hkern g1="quoteleft,quotedblleft" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="184" />
+<hkern g1="quoteleft,quotedblleft" g2="J" k="195" />
+<hkern g1="quoteleft,quotedblleft" g2="T" k="-61" />
+<hkern g1="quoteleft,quotedblleft" g2="t" k="-61" />
+<hkern g1="quoteleft,quotedblleft" g2="quoteleft,quotedblleft" k="123" />
+<hkern g1="quoteleft,quotedblleft" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="82" />
+<hkern g1="quoteleft,quotedblleft" g2="AE" k="174" />
+<hkern g1="quoteright,quotedblright" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="184" />
+<hkern g1="quoteright,quotedblright" g2="J" k="193" />
+<hkern g1="quoteright,quotedblright" g2="T" k="-61" />
+<hkern g1="quoteright,quotedblright" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="164" />
+<hkern g1="quoteright,quotedblright" g2="quoteright,quotedblright" k="123" />
+<hkern g1="quoteright,quotedblright" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="82" />
+<hkern g1="quoteright,quotedblright" g2="AE" k="174" />
+<hkern g1="quotedbl,quotesingle" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="123" />
+<hkern g1="quotedbl,quotesingle" g2="J" k="205" />
+<hkern g1="V" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="92" />
+<hkern g1="V" g2="J" k="143" />
+<hkern g1="V" g2="X" k="20" />
+<hkern g1="V" g2="Y,Yacute,Ydieresis" k="41" />
+<hkern g1="V" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="143" />
+<hkern g1="V" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="41" />
+<hkern g1="V" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="61" />
+<hkern g1="V" g2="t" k="31" />
+<hkern g1="V" g2="z" k="41" />
+<hkern g1="V" g2="copyright,registered" k="41" />
+<hkern g1="V" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="61" />
+<hkern g1="V" g2="S" k="10" />
+<hkern g1="V" g2="m,n,p,r,ntilde" k="61" />
+<hkern g1="V" g2="s" k="61" />
+<hkern g1="V" g2="u,ugrave,uacute,ucircumflex,udieresis" k="61" />
+<hkern g1="V" g2="x" k="31" />
+<hkern g1="V" g2="y,yacute,ydieresis" k="20" />
+<hkern g1="V" g2="AE" k="82" />
+<hkern g1="V" g2="f,uniFB01,uniFB02,uniFB03,uniFB04" k="20" />
+<hkern g1="V" g2="b,h,k,l,germandbls,thorn" k="31" />
+<hkern g1="v" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="61" />
+<hkern g1="v" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="31" />
+<hkern g1="v" g2="c,d,e,g,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="20" />
+<hkern g1="v" g2="s" k="20" />
+<hkern g1="v" g2="v" k="20" />
+<hkern g1="v" g2="y,yacute,ydieresis" k="10" />
+</font>
+</defs></svg> \ No newline at end of file
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Regular-webfont.woff b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Regular-webfont.woff
new file mode 100755
index 00000000..9d58858d
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/ClearSans-Regular-webfont.woff
Binary files differ
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/clear-sans.css b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/clear-sans.css
new file mode 100755
index 00000000..d6d0521f
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/fonts/clear-sans.css
@@ -0,0 +1,29 @@
+@font-face {
+ font-family: "Clear Sans";
+ src: url("ClearSans-Light-webfont.eot");
+ src: url("ClearSans-Light-webfont.eot?#iefix") format("embedded-opentype"),
+ url("ClearSans-Light-webfont.svg#clear_sans_lightregular") format("svg"),
+ url("ClearSans-Light-webfont.woff") format("woff");
+ font-weight: 200;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: "Clear Sans";
+ src: url("ClearSans-Regular-webfont.eot");
+ src: url("ClearSans-Regular-webfont.eot?#iefix") format("embedded-opentype"),
+ url("ClearSans-Regular-webfont.svg#clear_sansregular") format("svg"),
+ url("ClearSans-Regular-webfont.woff") format("woff");
+ font-weight: normal;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: "Clear Sans";
+ src: url("ClearSans-Bold-webfont.eot");
+ src: url("ClearSans-Bold-webfont.eot?#iefix") format("embedded-opentype"),
+ url("ClearSans-Bold-webfont.svg#clear_sansbold") format("svg"),
+ url("ClearSans-Bold-webfont.woff") format("woff");
+ font-weight: 700;
+ font-style: normal;
+}
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/jatek.css b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/jatek.css
new file mode 100644
index 00000000..4fb1d074
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/css/jatek.css
@@ -0,0 +1,12 @@
+
+ div.egyszam { width:140px; margin-left: auto; margin-right: auto; margin-bottom: 50px;}
+ h1.egyszam { text-align: center }
+
+ table.egyszam {
+ background-color: #dddddd;
+ width:200px;
+ }
+ table.egyszam thead th { background-color: magenta; border-bottom: solid 2px lightblue; height:2em; }
+ table.egyszam tfoot th { background-color: lightblue; border-bottom: solid 1px white; }
+ table.egyszam td { background-color: #eeeeee; text-align:right; padding-right:4px; }
+
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/html/2048.phtml b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/html/2048.phtml
new file mode 100644
index 00000000..fa330967
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/html/2048.phtml
@@ -0,0 +1,77 @@
+<?php
+
+function jatek2048() {
+# <link href="style/main.css" rel="stylesheet" type="text/css">
+
+echo '
+ <div class="container">
+ <div class="heading">
+ <h1 class="title">2048</h1>
+ <div class="scores-container">
+ <div class="score-container">0</div>
+ <div class="best-container">0</div>
+ </div>
+ </div>
+
+ <div class="above-game">
+ <p class="game-intro">Join the numbers and get to the <strong>2048 tile!</strong></p>
+ <a class="restart-button">New Game</a>
+ </div>
+
+ <div class="game-container">
+ <div class="game-message">
+ <p></p>
+ <div class="lower">
+ <a class="keep-playing-button">Keep going</a>
+ <a class="retry-button">Try again</a>
+ </div>
+ </div>
+
+ <div class="grid-container">
+ <div class="grid-row">
+ <div class="grid-cell"></div>
+ <div class="grid-cell"></div>
+ <div class="grid-cell"></div>
+ <div class="grid-cell"></div>
+ </div>
+ <div class="grid-row">
+ <div class="grid-cell"></div>
+ <div class="grid-cell"></div>
+ <div class="grid-cell"></div>
+ <div class="grid-cell"></div>
+ </div>
+ <div class="grid-row">
+ <div class="grid-cell"></div>
+ <div class="grid-cell"></div>
+ <div class="grid-cell"></div>
+ <div class="grid-cell"></div>
+ </div>
+ <div class="grid-row">
+ <div class="grid-cell"></div>
+ <div class="grid-cell"></div>
+ <div class="grid-cell"></div>
+ <div class="grid-cell"></div>
+ </div>
+ </div>
+
+ <div class="tile-container">
+
+ </div>
+ </div>
+
+ </div>
+
+ <script src="/skin/classic/module-jatek/js/bind_polyfill.js"></script>
+ <script src="/skin/classic/module-jatek/js/classlist_polyfill.js"></script>
+ <script src="/skin/classic/module-jatek/js/animframe_polyfill.js"></script>
+ <script src="/skin/classic/module-jatek/js/keyboard_input_manager.js"></script>
+ <script src="/skin/classic/module-jatek/js/html_actuator.js"></script>
+ <script src="/skin/classic/module-jatek/js/grid.js"></script>
+ <script src="/skin/classic/module-jatek/js/tile.js"></script>
+ <script src="/skin/classic/module-jatek/js/local_storage_manager.js"></script>
+ <script src="/skin/classic/module-jatek/js/game_manager.js"></script>
+ <script src="/skin/classic/module-jatek/js/application.js"></script>
+';
+}
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/html/base.phtml b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/html/base.phtml
new file mode 100644
index 00000000..ed555187
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/html/base.phtml
@@ -0,0 +1,51 @@
+<?php
+
+ function putEgyszamForm($ADAT) {
+
+ echo '<h1 class="egyszam">'._EGYSZAMJATEK.'</h1>';
+
+ echo '<div class="egyszam">';
+
+ echo _EDDIG.': '.$ADAT['db'].' '._SZAVAZAT.'<br/>';
+ echo _NYERTES.': '.$ADAT['elozoNyertes']['szam'].' ('.$ADAT['elozoNyertes']['userAccount'].')<br/>';
+
+ if ($ADAT['szavazott']==false) {
+
+ //echo '<form method="post">';
+ formBegin();
+ echo '<input type="hidden" name="action" value="szavaz" />';
+ echo '<select name="szam" id="szam">';
+ for ($i=1; $i<200; $i++) {
+ echo '<option value="'.$i.'">'.$i.'</option>';
+ }
+ echo '</select>';
+ echo '<input type="submit" value="'._OK.'" />';
+ formEnd();
+
+ } else {
+ echo _MARSZAVAZOTT;
+ }
+
+ echo '</div>';
+
+ }
+
+ function putEgyszamTablazat($ADAT) {
+
+ foreach($ADAT as $het => $D) {
+ echo '<table align="center" class="egyszam">';
+ echo '<thead><tr><th colspan="2">'.$het.'. '._JATEKHET.'</th></tr></thead>'."\n";
+ echo '<tfoot><tr><th>'._SZAM.'</th><th>'._DB.'</th></tr></tfoot>'."\n";
+ echo '<tbody>';
+ foreach ($D as $szam => $T) {
+ echo '<tr>';
+ echo '<td>'.$szam.'</td>';
+ echo '<td>'.$T['db'].'</td>';
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ }
+ echo '</table>';
+ }
+
+?>
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/img/2048.png b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/img/2048.png
new file mode 100644
index 00000000..5d85963a
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/img/2048.png
Binary files differ
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/animframe_polyfill.js b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/animframe_polyfill.js
new file mode 100644
index 00000000..c524a994
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/animframe_polyfill.js
@@ -0,0 +1,28 @@
+(function () {
+ var lastTime = 0;
+ var vendors = ['webkit', 'moz'];
+ for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
+ window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];
+ window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] ||
+ window[vendors[x] + 'CancelRequestAnimationFrame'];
+ }
+
+ if (!window.requestAnimationFrame) {
+ window.requestAnimationFrame = function (callback) {
+ var currTime = new Date().getTime();
+ var timeToCall = Math.max(0, 16 - (currTime - lastTime));
+ var id = window.setTimeout(function () {
+ callback(currTime + timeToCall);
+ },
+ timeToCall);
+ lastTime = currTime + timeToCall;
+ return id;
+ };
+ }
+
+ if (!window.cancelAnimationFrame) {
+ window.cancelAnimationFrame = function (id) {
+ clearTimeout(id);
+ };
+ }
+}());
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/application.js b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/application.js
new file mode 100644
index 00000000..2c1108e7
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/application.js
@@ -0,0 +1,4 @@
+// Wait till the browser is ready to render the game (avoids glitches)
+window.requestAnimationFrame(function () {
+ new GameManager(4, KeyboardInputManager, HTMLActuator, LocalStorageManager);
+});
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/bind_polyfill.js b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/bind_polyfill.js
new file mode 100644
index 00000000..8d9c4a48
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/bind_polyfill.js
@@ -0,0 +1,9 @@
+Function.prototype.bind = Function.prototype.bind || function (target) {
+ var self = this;
+ return function (args) {
+ if (!(args instanceof Array)) {
+ args = [args];
+ }
+ self.apply(target, args);
+ };
+};
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/classlist_polyfill.js b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/classlist_polyfill.js
new file mode 100644
index 00000000..1789ae78
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/classlist_polyfill.js
@@ -0,0 +1,71 @@
+(function () {
+ if (typeof window.Element === "undefined" ||
+ "classList" in document.documentElement) {
+ return;
+ }
+
+ var prototype = Array.prototype,
+ push = prototype.push,
+ splice = prototype.splice,
+ join = prototype.join;
+
+ function DOMTokenList(el) {
+ this.el = el;
+ // The className needs to be trimmed and split on whitespace
+ // to retrieve a list of classes.
+ var classes = el.className.replace(/^\s+|\s+$/g, '').split(/\s+/);
+ for (var i = 0; i < classes.length; i++) {
+ push.call(this, classes[i]);
+ }
+ }
+
+ DOMTokenList.prototype = {
+ add: function (token) {
+ if (this.contains(token)) return;
+ push.call(this, token);
+ this.el.className = this.toString();
+ },
+ contains: function (token) {
+ return this.el.className.indexOf(token) != -1;
+ },
+ item: function (index) {
+ return this[index] || null;
+ },
+ remove: function (token) {
+ if (!this.contains(token)) return;
+ for (var i = 0; i < this.length; i++) {
+ if (this[i] == token) break;
+ }
+ splice.call(this, i, 1);
+ this.el.className = this.toString();
+ },
+ toString: function () {
+ return join.call(this, ' ');
+ },
+ toggle: function (token) {
+ if (!this.contains(token)) {
+ this.add(token);
+ } else {
+ this.remove(token);
+ }
+
+ return this.contains(token);
+ }
+ };
+
+ window.DOMTokenList = DOMTokenList;
+
+ function defineElementGetter(obj, prop, getter) {
+ if (Object.defineProperty) {
+ Object.defineProperty(obj, prop, {
+ get: getter
+ });
+ } else {
+ obj.__defineGetter__(prop, getter);
+ }
+ }
+
+ defineElementGetter(HTMLElement.prototype, 'classList', function () {
+ return new DOMTokenList(this);
+ });
+})();
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/game_manager.js b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/game_manager.js
new file mode 100644
index 00000000..aea99f33
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/game_manager.js
@@ -0,0 +1,276 @@
+function GameManager(size, InputManager, Actuator, StorageManager) {
+ this.size = size; // Size of the grid
+ this.inputManager = new InputManager;
+ this.storageManager = new StorageManager;
+ this.actuator = new Actuator;
+
+ this.startTiles = 2;
+
+ this.inputManager.on("move", this.move.bind(this));
+ this.inputManager.on("restart", this.restart.bind(this));
+ this.inputManager.on("keepPlaying", this.keepPlaying.bind(this));
+
+ this.setup();
+}
+
+// Restart the game
+GameManager.prototype.restart = function () {
+ this.storageManager.clearGameState();
+ this.actuator.continueGame(); // Clear the game won/lost message
+ this.setup();
+};
+
+// Keep playing after winning (allows going over 2048)
+GameManager.prototype.keepPlaying = function () {
+ this.keepPlaying = true;
+ this.actuator.continueGame(); // Clear the game won/lost message
+};
+
+// Return true if the game is lost, or has won and the user hasn't kept playing
+GameManager.prototype.isGameTerminated = function () {
+ if (this.over || (this.won && !this.keepPlaying)) {
+ return true;
+ } else {
+ return false;
+ }
+};
+
+// Set up the game
+GameManager.prototype.setup = function () {
+ var previousState = this.storageManager.getGameState();
+
+ // Reload the game from a previous game if present
+ if (previousState) {
+ this.grid = new Grid(previousState.grid.size,
+ previousState.grid.cells); // Reload grid
+ this.score = previousState.score;
+ this.over = previousState.over;
+ this.won = previousState.won;
+ this.keepPlaying = previousState.keepPlaying;
+ } else {
+ this.grid = new Grid(this.size);
+ this.score = 0;
+ this.over = false;
+ this.won = false;
+ this.keepPlaying = false;
+
+ // Add the initial tiles
+ this.addStartTiles();
+ }
+
+ // Update the actuator
+ this.actuate();
+};
+
+// Set up the initial tiles to start the game with
+GameManager.prototype.addStartTiles = function () {
+ for (var i = 0; i < this.startTiles; i++) {
+ this.addRandomTile();
+ }
+};
+
+// Adds a tile in a random position
+GameManager.prototype.addRandomTile = function () {
+ if (this.grid.cellsAvailable()) {
+ var value = Math.random() < 0.9 ? 2 : 4;
+ var tile = new Tile(this.grid.randomAvailableCell(), value);
+
+ this.grid.insertTile(tile);
+ }
+};
+
+// Sends the updated grid to the actuator
+GameManager.prototype.actuate = function () {
+ if (this.storageManager.getBestScore() < this.score) {
+ this.storageManager.setBestScore(this.score);
+ }
+
+ // Clear the state when the game is over (game over only, not win)
+ if (this.over) {
+ this.storageManager.clearGameState();
+ } else {
+ this.storageManager.setGameState(this.serialize());
+ }
+
+ this.actuator.actuate(this.grid, {
+ score: this.score,
+ over: this.over,
+ won: this.won,
+ bestScore: this.storageManager.getBestScore(),
+ terminated: this.isGameTerminated()
+ });
+
+};
+
+// Represent the current game as an object
+GameManager.prototype.serialize = function () {
+ return {
+ grid: this.grid.serialize(),
+ score: this.score,
+ over: this.over,
+ won: this.won,
+ keepPlaying: this.keepPlaying
+ };
+};
+
+// Save all tile positions and remove merger info
+GameManager.prototype.prepareTiles = function () {
+ this.grid.eachCell(function (x, y, tile) {
+ if (tile) {
+ tile.mergedFrom = null;
+ tile.savePosition();
+ }
+ });
+};
+
+// Move a tile and its representation
+GameManager.prototype.moveTile = function (tile, cell) {
+ this.grid.cells[tile.x][tile.y] = null;
+ this.grid.cells[cell.x][cell.y] = tile;
+ tile.updatePosition(cell);
+};
+
+// Move tiles on the grid in the specified direction
+GameManager.prototype.move = function (direction) {
+ // 0: up, 1: right, 2: down, 3: left
+ var self = this;
+
+ if (this.isGameTerminated()) return; // Don't do anything if the game's over
+
+ var cell, tile;
+
+ var vector = this.getVector(direction);
+ var traversals = this.buildTraversals(vector);
+ var moved = false;
+
+ // Save the current tile positions and remove merger information
+ this.prepareTiles();
+
+ // Traverse the grid in the right direction and move tiles
+ traversals.x.forEach(function (x) {
+ traversals.y.forEach(function (y) {
+ cell = { x: x, y: y };
+ tile = self.grid.cellContent(cell);
+
+ if (tile) {
+ var positions = self.findFarthestPosition(cell, vector);
+ var next = self.grid.cellContent(positions.next);
+
+ // Only one merger per row traversal?
+ if (next && next.value === tile.value && !next.mergedFrom) {
+ var merged = new Tile(positions.next, tile.value * 2);
+ merged.mergedFrom = [tile, next];
+
+ self.grid.insertTile(merged);
+ self.grid.removeTile(tile);
+
+ // Converge the two tiles' positions
+ tile.updatePosition(positions.next);
+
+ // Update the score
+ self.score += merged.value;
+
+ // The mighty 2048 tile
+ if (merged.value === 2048) self.won = true;
+ } else {
+ self.moveTile(tile, positions.farthest);
+ }
+
+ if (!self.positionsEqual(cell, tile)) {
+ moved = true; // The tile moved from its original cell!
+ }
+ }
+ });
+ });
+
+ if (moved) {
+ this.addRandomTile();
+
+ if (!this.movesAvailable()) {
+ this.over = true; // Game over!
+ }
+
+ this.actuate();
+ }
+};
+
+// Get the vector representing the chosen direction
+GameManager.prototype.getVector = function (direction) {
+ // Vectors representing tile movement
+ var map = {
+ 0: { x: 0, y: -1 }, // Up
+ 1: { x: 1, y: 0 }, // Right
+ 2: { x: 0, y: 1 }, // Down
+ 3: { x: -1, y: 0 } // Left
+ };
+
+ return map[direction];
+};
+
+// Build a list of positions to traverse in the right order
+GameManager.prototype.buildTraversals = function (vector) {
+ var traversals = { x: [], y: [] };
+
+ for (var pos = 0; pos < this.size; pos++) {
+ traversals.x.push(pos);
+ traversals.y.push(pos);
+ }
+
+ // Always traverse from the farthest cell in the chosen direction
+ if (vector.x === 1) traversals.x = traversals.x.reverse();
+ if (vector.y === 1) traversals.y = traversals.y.reverse();
+
+ return traversals;
+};
+
+GameManager.prototype.findFarthestPosition = function (cell, vector) {
+ var previous;
+
+ // Progress towards the vector direction until an obstacle is found
+ do {
+ previous = cell;
+ cell = { x: previous.x + vector.x, y: previous.y + vector.y };
+ } while (this.grid.withinBounds(cell) &&
+ this.grid.cellAvailable(cell));
+
+ return {
+ farthest: previous,
+ next: cell // Used to check if a merge is required
+ };
+};
+
+GameManager.prototype.movesAvailable = function () {
+ return this.grid.cellsAvailable() || this.tileMatchesAvailable();
+};
+
+// Check for available matches between tiles (more expensive check)
+GameManager.prototype.tileMatchesAvailable = function () {
+ var self = this;
+
+ var tile;
+
+ for (var x = 0; x < this.size; x++) {
+ for (var y = 0; y < this.size; y++) {
+ tile = this.grid.cellContent({ x: x, y: y });
+
+ if (tile) {
+ for (var direction = 0; direction < 4; direction++) {
+ var vector = self.getVector(direction);
+ var cell = { x: x + vector.x, y: y + vector.y };
+
+ var other = self.grid.cellContent(cell);
+
+ if (other && other.value === tile.value) {
+ return true; // These two tiles can be merged
+ }
+ }
+ }
+ }
+ }
+
+ return false;
+};
+
+GameManager.prototype.positionsEqual = function (first, second) {
+ return first.x === second.x && first.y === second.y;
+};
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/grid.js b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/grid.js
new file mode 100644
index 00000000..29f0821e
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/grid.js
@@ -0,0 +1,117 @@
+function Grid(size, previousState) {
+ this.size = size;
+ this.cells = previousState ? this.fromState(previousState) : this.empty();
+}
+
+// Build a grid of the specified size
+Grid.prototype.empty = function () {
+ var cells = [];
+
+ for (var x = 0; x < this.size; x++) {
+ var row = cells[x] = [];
+
+ for (var y = 0; y < this.size; y++) {
+ row.push(null);
+ }
+ }
+
+ return cells;
+};
+
+Grid.prototype.fromState = function (state) {
+ var cells = [];
+
+ for (var x = 0; x < this.size; x++) {
+ var row = cells[x] = [];
+
+ for (var y = 0; y < this.size; y++) {
+ var tile = state[x][y];
+ row.push(tile ? new Tile(tile.position, tile.value) : null);
+ }
+ }
+
+ return cells;
+};
+
+// Find the first available random position
+Grid.prototype.randomAvailableCell = function () {
+ var cells = this.availableCells();
+
+ if (cells.length) {
+ return cells[Math.floor(Math.random() * cells.length)];
+ }
+};
+
+Grid.prototype.availableCells = function () {
+ var cells = [];
+
+ this.eachCell(function (x, y, tile) {
+ if (!tile) {
+ cells.push({ x: x, y: y });
+ }
+ });
+
+ return cells;
+};
+
+// Call callback for every cell
+Grid.prototype.eachCell = function (callback) {
+ for (var x = 0; x < this.size; x++) {
+ for (var y = 0; y < this.size; y++) {
+ callback(x, y, this.cells[x][y]);
+ }
+ }
+};
+
+// Check if there are any cells available
+Grid.prototype.cellsAvailable = function () {
+ return !!this.availableCells().length;
+};
+
+// Check if the specified cell is taken
+Grid.prototype.cellAvailable = function (cell) {
+ return !this.cellOccupied(cell);
+};
+
+Grid.prototype.cellOccupied = function (cell) {
+ return !!this.cellContent(cell);
+};
+
+Grid.prototype.cellContent = function (cell) {
+ if (this.withinBounds(cell)) {
+ return this.cells[cell.x][cell.y];
+ } else {
+ return null;
+ }
+};
+
+// Inserts a tile at its position
+Grid.prototype.insertTile = function (tile) {
+ this.cells[tile.x][tile.y] = tile;
+};
+
+Grid.prototype.removeTile = function (tile) {
+ this.cells[tile.x][tile.y] = null;
+};
+
+Grid.prototype.withinBounds = function (position) {
+ return position.x >= 0 && position.x < this.size &&
+ position.y >= 0 && position.y < this.size;
+};
+
+Grid.prototype.serialize = function () {
+ var cellState = [];
+
+ for (var x = 0; x < this.size; x++) {
+ var row = cellState[x] = [];
+
+ for (var y = 0; y < this.size; y++) {
+ row.push(this.cells[x][y] ? this.cells[x][y].serialize() : null);
+ }
+ }
+
+ return {
+ size: this.size,
+ cells: cellState
+ };
+};
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/html_actuator.js b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/html_actuator.js
new file mode 100644
index 00000000..6b31f2d1
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/html_actuator.js
@@ -0,0 +1,139 @@
+function HTMLActuator() {
+ this.tileContainer = document.querySelector(".tile-container");
+ this.scoreContainer = document.querySelector(".score-container");
+ this.bestContainer = document.querySelector(".best-container");
+ this.messageContainer = document.querySelector(".game-message");
+
+ this.score = 0;
+}
+
+HTMLActuator.prototype.actuate = function (grid, metadata) {
+ var self = this;
+
+ window.requestAnimationFrame(function () {
+ self.clearContainer(self.tileContainer);
+
+ grid.cells.forEach(function (column) {
+ column.forEach(function (cell) {
+ if (cell) {
+ self.addTile(cell);
+ }
+ });
+ });
+
+ self.updateScore(metadata.score);
+ self.updateBestScore(metadata.bestScore);
+
+ if (metadata.terminated) {
+ if (metadata.over) {
+ self.message(false); // You lose
+ } else if (metadata.won) {
+ self.message(true); // You win!
+ }
+ }
+
+ });
+};
+
+// Continues the game (both restart and keep playing)
+HTMLActuator.prototype.continueGame = function () {
+ this.clearMessage();
+};
+
+HTMLActuator.prototype.clearContainer = function (container) {
+ while (container.firstChild) {
+ container.removeChild(container.firstChild);
+ }
+};
+
+HTMLActuator.prototype.addTile = function (tile) {
+ var self = this;
+
+ var wrapper = document.createElement("div");
+ var inner = document.createElement("div");
+ var position = tile.previousPosition || { x: tile.x, y: tile.y };
+ var positionClass = this.positionClass(position);
+
+ // We can't use classlist because it somehow glitches when replacing classes
+ var classes = ["tile", "tile-" + tile.value, positionClass];
+
+ if (tile.value > 2048) classes.push("tile-super");
+
+ this.applyClasses(wrapper, classes);
+
+ inner.classList.add("tile-inner");
+ inner.textContent = tile.value;
+
+ if (tile.previousPosition) {
+ // Make sure that the tile gets rendered in the previous position first
+ window.requestAnimationFrame(function () {
+ classes[2] = self.positionClass({ x: tile.x, y: tile.y });
+ self.applyClasses(wrapper, classes); // Update the position
+ });
+ } else if (tile.mergedFrom) {
+ classes.push("tile-merged");
+ this.applyClasses(wrapper, classes);
+
+ // Render the tiles that merged
+ tile.mergedFrom.forEach(function (merged) {
+ self.addTile(merged);
+ });
+ } else {
+ classes.push("tile-new");
+ this.applyClasses(wrapper, classes);
+ }
+
+ // Add the inner part of the tile to the wrapper
+ wrapper.appendChild(inner);
+
+ // Put the tile on the board
+ this.tileContainer.appendChild(wrapper);
+};
+
+HTMLActuator.prototype.applyClasses = function (element, classes) {
+ element.setAttribute("class", classes.join(" "));
+};
+
+HTMLActuator.prototype.normalizePosition = function (position) {
+ return { x: position.x + 1, y: position.y + 1 };
+};
+
+HTMLActuator.prototype.positionClass = function (position) {
+ position = this.normalizePosition(position);
+ return "tile-position-" + position.x + "-" + position.y;
+};
+
+HTMLActuator.prototype.updateScore = function (score) {
+ this.clearContainer(this.scoreContainer);
+
+ var difference = score - this.score;
+ this.score = score;
+
+ this.scoreContainer.textContent = this.score;
+
+ if (difference > 0) {
+ var addition = document.createElement("div");
+ addition.classList.add("score-addition");
+ addition.textContent = "+" + difference;
+
+ this.scoreContainer.appendChild(addition);
+ }
+};
+
+HTMLActuator.prototype.updateBestScore = function (bestScore) {
+ this.bestContainer.textContent = bestScore;
+};
+
+HTMLActuator.prototype.message = function (won) {
+ var type = won ? "game-won" : "game-over";
+ var message = won ? "You win!" : "Game over!";
+
+ this.messageContainer.classList.add(type);
+ this.messageContainer.getElementsByTagName("p")[0].textContent = message;
+};
+
+HTMLActuator.prototype.clearMessage = function () {
+ // IE only takes one value to remove at a time.
+ this.messageContainer.classList.remove("game-won");
+ this.messageContainer.classList.remove("game-over");
+};
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/keyboard_input_manager.js b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/keyboard_input_manager.js
new file mode 100644
index 00000000..32a177a4
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/keyboard_input_manager.js
@@ -0,0 +1,144 @@
+function KeyboardInputManager() {
+ this.events = {};
+
+ if (window.navigator.msPointerEnabled) {
+ //Internet Explorer 10 style
+ this.eventTouchstart = "MSPointerDown";
+ this.eventTouchmove = "MSPointerMove";
+ this.eventTouchend = "MSPointerUp";
+ } else {
+ this.eventTouchstart = "touchstart";
+ this.eventTouchmove = "touchmove";
+ this.eventTouchend = "touchend";
+ }
+
+ this.listen();
+}
+
+KeyboardInputManager.prototype.on = function (event, callback) {
+ if (!this.events[event]) {
+ this.events[event] = [];
+ }
+ this.events[event].push(callback);
+};
+
+KeyboardInputManager.prototype.emit = function (event, data) {
+ var callbacks = this.events[event];
+ if (callbacks) {
+ callbacks.forEach(function (callback) {
+ callback(data);
+ });
+ }
+};
+
+KeyboardInputManager.prototype.listen = function () {
+ var self = this;
+
+ var map = {
+ 38: 0, // Up
+ 39: 1, // Right
+ 40: 2, // Down
+ 37: 3, // Left
+ 75: 0, // Vim up
+ 76: 1, // Vim right
+ 74: 2, // Vim down
+ 72: 3, // Vim left
+ 87: 0, // W
+ 68: 1, // D
+ 83: 2, // S
+ 65: 3 // A
+ };
+
+ // Respond to direction keys
+ document.addEventListener("keydown", function (event) {
+ var modifiers = event.altKey || event.ctrlKey || event.metaKey ||
+ event.shiftKey;
+ var mapped = map[event.which];
+
+ if (!modifiers) {
+ if (mapped !== undefined) {
+ event.preventDefault();
+ self.emit("move", mapped);
+ }
+ }
+
+ // R key restarts the game
+ if (!modifiers && event.which === 82) {
+ self.restart.call(self, event);
+ }
+ });
+
+ // Respond to button presses
+ this.bindButtonPress(".retry-button", this.restart);
+ this.bindButtonPress(".restart-button", this.restart);
+ this.bindButtonPress(".keep-playing-button", this.keepPlaying);
+
+ // Respond to swipe events
+ var touchStartClientX, touchStartClientY;
+ var gameContainer = document.getElementsByClassName("game-container")[0];
+
+ gameContainer.addEventListener(this.eventTouchstart, function (event) {
+ if ((!window.navigator.msPointerEnabled && event.touches.length > 1) ||
+ event.targetTouches > 1) {
+ return; // Ignore if touching with more than 1 finger
+ }
+
+ if (window.navigator.msPointerEnabled) {
+ touchStartClientX = event.pageX;
+ touchStartClientY = event.pageY;
+ } else {
+ touchStartClientX = event.touches[0].clientX;
+ touchStartClientY = event.touches[0].clientY;
+ }
+
+ event.preventDefault();
+ });
+
+ gameContainer.addEventListener(this.eventTouchmove, function (event) {
+ event.preventDefault();
+ });
+
+ gameContainer.addEventListener(this.eventTouchend, function (event) {
+ if ((!window.navigator.msPointerEnabled && event.touches.length > 0) ||
+ event.targetTouches > 0) {
+ return; // Ignore if still touching with one or more fingers
+ }
+
+ var touchEndClientX, touchEndClientY;
+
+ if (window.navigator.msPointerEnabled) {
+ touchEndClientX = event.pageX;
+ touchEndClientY = event.pageY;
+ } else {
+ touchEndClientX = event.changedTouches[0].clientX;
+ touchEndClientY = event.changedTouches[0].clientY;
+ }
+
+ var dx = touchEndClientX - touchStartClientX;
+ var absDx = Math.abs(dx);
+
+ var dy = touchEndClientY - touchStartClientY;
+ var absDy = Math.abs(dy);
+
+ if (Math.max(absDx, absDy) > 10) {
+ // (right : left) : (down : up)
+ self.emit("move", absDx > absDy ? (dx > 0 ? 1 : 3) : (dy > 0 ? 2 : 0));
+ }
+ });
+};
+
+KeyboardInputManager.prototype.restart = function (event) {
+ event.preventDefault();
+ this.emit("restart");
+};
+
+KeyboardInputManager.prototype.keepPlaying = function (event) {
+ event.preventDefault();
+ this.emit("keepPlaying");
+};
+
+KeyboardInputManager.prototype.bindButtonPress = function (selector, fn) {
+ var button = document.querySelector(selector);
+ button.addEventListener("click", fn.bind(this));
+ button.addEventListener(this.eventTouchend, fn.bind(this));
+};
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/local_storage_manager.js b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/local_storage_manager.js
new file mode 100644
index 00000000..776e94b1
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/local_storage_manager.js
@@ -0,0 +1,63 @@
+window.fakeStorage = {
+ _data: {},
+
+ setItem: function (id, val) {
+ return this._data[id] = String(val);
+ },
+
+ getItem: function (id) {
+ return this._data.hasOwnProperty(id) ? this._data[id] : undefined;
+ },
+
+ removeItem: function (id) {
+ return delete this._data[id];
+ },
+
+ clear: function () {
+ return this._data = {};
+ }
+};
+
+function LocalStorageManager() {
+ this.bestScoreKey = "bestScore";
+ this.gameStateKey = "gameState";
+
+ var supported = this.localStorageSupported();
+ this.storage = supported ? window.localStorage : window.fakeStorage;
+}
+
+LocalStorageManager.prototype.localStorageSupported = function () {
+ var testKey = "test";
+ var storage = window.localStorage;
+
+ try {
+ storage.setItem(testKey, "1");
+ storage.removeItem(testKey);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+// Best score getters/setters
+LocalStorageManager.prototype.getBestScore = function () {
+ return this.storage.getItem(this.bestScoreKey) || 0;
+};
+
+LocalStorageManager.prototype.setBestScore = function (score) {
+ this.storage.setItem(this.bestScoreKey, score);
+};
+
+// Game state getters/setters and clearing
+LocalStorageManager.prototype.getGameState = function () {
+ var stateJSON = this.storage.getItem(this.gameStateKey);
+ return stateJSON ? JSON.parse(stateJSON) : null;
+};
+
+LocalStorageManager.prototype.setGameState = function (gameState) {
+ this.storage.setItem(this.gameStateKey, JSON.stringify(gameState));
+};
+
+LocalStorageManager.prototype.clearGameState = function () {
+ this.storage.removeItem(this.gameStateKey);
+};
diff --git a/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/tile.js b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/tile.js
new file mode 100644
index 00000000..92a670a5
--- /dev/null
+++ b/mayor-orig/mayor-jatek/www/skin/classic/module-jatek/js/tile.js
@@ -0,0 +1,27 @@
+function Tile(position, value) {
+ this.x = position.x;
+ this.y = position.y;
+ this.value = value || 2;
+
+ this.previousPosition = null;
+ this.mergedFrom = null; // Tracks tiles that merged together
+}
+
+Tile.prototype.savePosition = function () {
+ this.previousPosition = { x: this.x, y: this.y };
+};
+
+Tile.prototype.updatePosition = function (position) {
+ this.x = position.x;
+ this.y = position.y;
+};
+
+Tile.prototype.serialize = function () {
+ return {
+ position: {
+ x: this.x,
+ y: this.y
+ },
+ value: this.value
+ };
+};
diff --git a/mayor-orig/mayor-locales-de_DE/log/mayor-locales-de_DE.rev b/mayor-orig/mayor-locales-de_DE/log/mayor-locales-de_DE.rev
new file mode 100644
index 00000000..ab5135de
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/log/mayor-locales-de_DE.rev
@@ -0,0 +1 @@
+4455
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/base.php b/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/base.php
new file mode 100644
index 00000000..e0d30c1c
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/base.php
@@ -0,0 +1,42 @@
+<?php
+
+ $ALERT_MSG = array(
+ 'default' => 'Unbekanntes Warnungs Botschaft!',
+ 'change_success' => 'Die Dateiänderung ist erfolgreich verlaufen!',
+ 'page_missing' => 'Der gesuchte Seite ist nicht auf dem Server zu finden.',
+ 'sql_failure' => 'SQL Datenbank Fehler!',
+ 'sql_connect_failure' => 'SQL Datenbank anschliesungs Fehler!',
+ 'sql_query_failure' => 'SQL Suchanfrage Fehler!',
+ 'auth_failure' => 'Unidentifizierter Benutzer! In der gegebenen Zugangsebene hast du dich nicht beglaubigt!',
+ 'bad_pw' => 'Falsches Passwort!',
+ 'account_expired' => 'Die Gültigkeit des Passworts lief seit %0% Tagen ab!',
+ 'account_warning' => 'Die Güldigkeit des Passworts läuft in %0% Tagen ab!',
+ 'warn_account_disable' => 'Das Account wird in %0% Tagen abgesperrt!',
+ 'empty_field' => 'Lehres Dateieintragungsfeld! Ein verbindliches Parameter ist nicht eingegeben!',
+ 'insufficient_access' => 'Unbefugter Zugang!',
+ 'wrong_data' => 'Fehlerhafte Datei',
+ 'deadline_expired' => 'Frist läuft ab!',
+ 'pw_change_success' => 'Die Änderung des Passworts ist erfolgreich verlaufen',
+ 'file_not_found' => 'File nicht gefunden!',
+ 'success' => 'Operation erfolgreich beendet!',
+ 'file_open_failure' => 'Erfolglose File Öffnung!',
+ 'success' => 'Operation erfolgreich beendet!',
+ 'illegal_access' => 'Unbefugter Zugang!',
+ 'insufficient_access' => 'Unbefugter Zugang!',
+ 'ldap_modify_failure' => 'Die LDAP Datenänderung ist nicht gelungen! Prüfe dein Befungnis!',
+ 'ldap_add_failure' => 'Die LDAP Dateneintragung ist nicht gelungen! Prüfe dein Befungnis!',
+ 'ldap_slow_connection' => 'Die LDAP Datenbank Verbindung ist langsam... Bitte um Geduld!',
+ 'sql_failure' => 'SQL Datenbank Verbindungs Fehler!',
+ 'from_proxy' => 'Dein Browser benutzt unpassande Proxy-Einstellungen!',
+ 'auth_failure' => 'Unidentifizierter Benutzer! Die eigene Seite ist nur nach der Identifizierung erreichbar.',
+ 'parent_pw_info' => '-',
+ 'account_expired' => 'Das Passwort ist seit %0% Tagen abgelaufen! Die Passwortänderung ist Pflicht, in dessen Mangel wird das Account in %1% Tagen Gesperrt!',
+ 'account_warning' => 'Das Passwort läuft in %0% Tagen ab!',
+ 'account_disabled' => 'Die Gültigkeit des Passworts ist abgelaufen, mit diesem Username kannst du nicht eintreten! Für ein neues Passwort suche den Administrator auf!',
+ 'wrong_page' => 'Diese Seite ist so nicht erreichbar... (hm)',
+ 'under_con' => 'Unter Konstruktion! Die innere Seite ist vorübergehend nicht erreichbar!',
+ 'move_file_error' => 'Die Bewegung des Files ist nicht gelungen!',
+ 'deadline_expired' => 'Frist läuft ab!',
+ );
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/file.php b/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/file.php
new file mode 100644
index 00000000..8f0e10f8
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/file.php
@@ -0,0 +1,5 @@
+<?php
+
+ $ALERT_MSG['file_open_failure'] = 'Erfolglose File Öffnung!';
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/ldap.php b/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/ldap.php
new file mode 100644
index 00000000..06a460a6
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/ldap.php
@@ -0,0 +1,7 @@
+<?php
+
+ $ALERT_MSG['ldap_failure'] = 'LDAP Datenbank Fehler!';
+ $ALERT_MSG['ldap_bind_failure'] = 'LDAP Datenbank Verbindungsfehler!';
+ $ALERT_MSG['ldap_search_failure'] = 'Die LDAP Datensuche ist nicht gelungen! Prüfe deine Befügnise!';
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-auth.php b/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-auth.php
new file mode 100644
index 00000000..339f7bb5
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-auth.php
@@ -0,0 +1,8 @@
+<?php
+
+ $ALERT_MSG['no_account'] = 'Falsche Username!';
+ $ALERT_MSG['multi_uid'] = 'Diesen Namen gibt es schon!';
+ $ALERT_MSG['account_disabled'] = 'Das Account wird gesperrt, mit diesem Namen kann man nicht eintreten! Für mehr Information wennde dich zum Administrator!';
+ $ALERT_MSG['force_pw_update'] = 'Die Änderung des Passwort ist Pflicht!';
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-honosito.php b/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-honosito.php
new file mode 100644
index 00000000..f29f2765
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-honosito.php
@@ -0,0 +1,5 @@
+<?php
+
+ $ALERT_MSG['nem_honosito'] = 'Du bist leider nicht Teil der Übersetzungsgruppe. Für mehr Informationen wende dich zum Administrator!';
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-password.php b/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-password.php
new file mode 100644
index 00000000..f4639380
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-password.php
@@ -0,0 +1,10 @@
+<?php
+
+ $ALERT_MSG['force_pw_update'] = 'Die Änderung des Passworts ist Pflicht!';
+ $ALERT_MSG['pw_change_failed'] = 'Die Änderung des Passworts ist nicht gelungen!';
+ $ALERT_MSG['pw_change_disabled'] = 'Die Änderung des Passworts ist verboten!';
+ $ALERT_MSG['pw_change_success'] = 'Die Änderung des Passworts ist gelungen!';
+ $ALERT_MSG['pw_not_match'] = 'Das Passwort und die Bestätigung überstimmen nicht!';
+ $ALERT_MSG['pw_not_changed'] = 'Das Passwort ist nicht Geändert! Das neue Passwort muss sich vom Alten unterscheiden!';
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-session.php b/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-session.php
new file mode 100644
index 00000000..bfd63256
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/alert/de_DE/module-session.php
@@ -0,0 +1,5 @@
+<?php
+
+ $ALERT_MSG['pw_not_match'] = 'Das Passwort und die Bestätigung überstimmen nicht!';
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/menu/parent/de_DE/base.php b/mayor-orig/mayor-locales-de_DE/www/include/menu/parent/de_DE/base.php
new file mode 100644
index 00000000..718cd80f
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/menu/parent/de_DE/base.php
@@ -0,0 +1,34 @@
+<?php
+
+ if (defined('_SESSIONID') and _SESSIONID != '') {
+ $MENU['logout'] = array(
+ array(
+ 'txt' => 'Verlassen',
+ 'url' => 'index.php?policy=public&page=session&f=logout',
+ 'get' => array('sessionID','skin','lang')
+ )
+ );
+ $MENU['session'] = array(
+ array(
+ 'txt' => 'Benutzerdaten',
+ 'url' => 'index.php?page=password&sub=&f=changeMyPassword&userAccount='._USERACCOUNT.'&policy=public&toPolicy=parent',
+ 'get' => array('skin','lang','sessionID'),
+ )
+ );
+ }
+ $MENU['modules']['session'] = array(
+// 'searchAccount' => array(array('txt' => 'Suche des Benutzer','url' => 'index.php?page=session&sub=search&f=searchAccount')),
+// 'searchGroup' => array(array('txt' => 'Suche der Gruppe','url' => 'index.php?page=session&sub=search&f=searchGroup')),
+ 'changeMyPassword' => array(array('txt' => 'Passwortänderung','url' => 'index.php?page=password&sub=&f=changeMyPassword&userAccount='._USERACCOUNT.'&policy=public&toPolicy=parent','get' => array('skin','lang','sessionID'))),
+// 'sub' => array(
+// 'search' => array(
+// 'searchAccount' => array(array('txt' => 'Suche des Benutzer')),
+// 'searchGroup' => array(array('txt' => 'Suche der Gruppe')),
+// )
+// )
+ );
+ $MENU['home'] = array(
+ array('txt' => 'Startseite', 'url' => 'index.php')
+ );
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/menu/parent/de_DE/module-keptar.php b/mayor-orig/mayor-locales-de_DE/www/include/menu/parent/de_DE/module-keptar.php
new file mode 100644
index 00000000..03d5ec8f
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/menu/parent/de_DE/module-keptar.php
@@ -0,0 +1,13 @@
+<?php
+ $MENU['keptar'] = array(
+ array('txt' => 'Galerie', 'url' => 'index.php?page=keptar&f=keptar')
+ );
+
+ $MENU['modules']['keptar']['uncat'] = array(
+ array('txt' => 'Kategoriezierte Bilder', 'url' => 'index.php?page=keptar&f=uncat')
+ );
+
+ $MENU['modules']['keptar']['admin'] = array(
+ array('txt' => 'Admin', 'url' => 'index.php?page=keptar&f=admin'),
+ );
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/base.php b/mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/base.php
new file mode 100644
index 00000000..3b918054
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/base.php
@@ -0,0 +1,43 @@
+<?php
+
+ if (defined('_SESSIONID') and _SESSIONID != '') {
+ $MENU['logout'] = array(
+ array(
+ 'txt' => 'Verlassen',
+ 'url' => 'index.php?policy=public&page=session&f=logout',
+ 'get' => array('sessionID','skin','lang')
+ )
+ );
+ $MENU['session'] = array(
+ array(
+ 'txt' => 'Benutzerdaten',
+ 'url' => 'index.php?page=session&sub=search&f=searchAccount'
+ )
+ );
+ }
+ $MENU['home'] = array(
+ array('txt' => 'Startseite', 'url' => 'index.php')
+ );
+
+ if (memberOf(_USERACCOUNT, $AUTH[_POLICY]['adminGroup'])) {
+ $MENU['modules']['session'] = array(
+ 'createAccount' => array(array('txt' => 'Neuer Benutzer')),
+ 'createGroup' => array(array('txt' => 'Neue Gruppe')),
+ 'searchAccount' => array(array('txt' => 'Suche des Benutzer','url' => 'index.php?page=session&sub=search&f=searchAccount')),
+ 'searchGroup' => array(array('txt' => 'Suche der Gruppe','url' => 'index.php?page=session&sub=search&f=searchGroup')),
+ 'changeMyPassword' => array(array('txt' => 'Passwortänderung','url' => 'index.php?page=password&sub=&f=changeMyPassword&userAccount='._USERACCOUNT.'&policy=public&toPolicy=private','get' => array('skin','lang','sessionID'))),
+// 'sub' => array(
+// 'search' => array(
+// 'searchAccount' => array(array('txt' => 'Suche des Benutzer')),
+// 'searchGroup' => array(array('txt' => 'Suche der Gruppe')),
+// )
+// )
+ );
+ } else {
+ $MENU['modules']['session'] = array(
+ 'searchAccount' => array(array('txt' => 'Suche des Benutzer','url' => 'index.php?page=session&sub=search&f=searchAccount')),
+ 'searchGroup' => array(array('txt' => 'Suche der Gruppe','url' => 'index.php?page=session&sub=search&f=searchGroup')),
+ 'changeMyPassword' => array(array('txt' => 'Passwortänderung','url' => 'index.php?page=password&sub=&f=changeMyPassword&userAccount='._USERACCOUNT.'&policy=public&toPolicy=private','get' => array('skin','lang','sessionID'))),
+ );
+ }
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/module-honosito.php b/mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/module-honosito.php
new file mode 100644
index 00000000..22fa4b64
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/module-honosito.php
@@ -0,0 +1,16 @@
+<?php
+
+
+ if (memberOf(_USERACCOUNT,'honosito')) {
+
+ $MENU['honosito'] = array(array('txt' => 'Übersetzer', 'url' => 'index.php?page=honosito&f=text'));
+
+ $MENU['modules']['honosito'] = array(
+ 'alert' => array(array('txt' => 'Übersetzung der Nachricht')),
+ 'menu' => array(array('txt' => 'Übersetzung des Menüs')),
+ 'text' => array(array('txt' => 'Übersetzung der Texte')),
+ );
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/module-naplo.php b/mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/module-naplo.php
new file mode 100644
index 00000000..ff187e6e
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/module-naplo.php
@@ -0,0 +1,211 @@
+<?php
+/*
+ module: naplo
+*/
+
+ $MENU['naplo'] = array(
+ array('txt' => '', 'url' => 'index.php?page=naplo')
+ );
+
+ // A menüpontok sorrendjének beállítása - ettől még nem jelenik meg semmi :)
+ $MENU['modules']['naplo'] = array(
+ 'haladasi' => array(),
+ 'osztalyozo' => array(),
+ 'hianyzas' => array(),
+ 'bejegyzesek' => array(),
+ 'tanev' => array(),
+ 'intezmeny' => array(),
+ 'admin' => array(),
+ );
+
+ if (__DIAK) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=diak'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=hianyzas&f=diak'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'dolgozat' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'),
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=szabadTerem'),
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv')
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'));
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'stat' => array(array('txt' => '')),
+ );
+ } elseif (__TANAR) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=tankor'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=hianyzas&f=osztaly'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'),
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=szabadTerem'),
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv'),
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=fogadoOra'),
+ );
+ $MENU['modules']['naplo']['intezmeny'] = array(
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'),
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=intezmeny&f=tankorDiak'),
+ array('txt' => '', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankor'),
+ );
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'tanarOrarend' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => '')),
+ 'diak' => array(array('txt' => '')),
+ 'dolgozat' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['bejegyzesek'] = array(
+ 'bejegyzesek' => array(array('txt' => '')),
+ 'ujBejegyzes' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'stat' => array(array('txt' => '')),
+ );
+ } elseif (__TITKARSAG) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=tankor'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=hianyzas&f=osztaly'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'),
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=szabadTerem'),
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv'),
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=fogadoOra'),
+ );
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'));
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'tanarOrarend' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => '')),
+ 'diak' => array(array('txt' => '')),
+ 'dolgozat' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'stat' => array(array('txt' => '')),
+ );
+ }
+ if (__VEZETOSEG) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=tankor'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=hianyzas&f=osztaly'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'));
+ $MENU['modules']['naplo']['tanev'][] = array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv');
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ $MENU['modules']['naplo']['intezmeny'] = array(
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=intezmeny&f=tankorDiak'),
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'),
+ array('txt' => '', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankor'),
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'helyettesites' => array(array('txt' => '')),
+ 'pluszora' => array(array('txt' => '')),
+ 'osszevonas' => array(array('txt' => '')),
+ 'specialis' => array(array('txt' => '')),
+ 'elmaradas' => array(array('txt' => '')),
+ 'stat' => array(array('txt' => '')),
+ 'elszamolas' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => '')),
+ 'diak' => array(array('txt' => '')),
+ 'dolgozat' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['bejegyzesek'] = array(
+ 'bejegyzesek' => array(array('txt' => '')),
+ 'ujBejegyzes' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'orarend' => array(array('txt' => '')),
+ 'szabadTerem' => array(array('txt' => '')),
+ 'munkaterv' => array(array('txt' => '')),
+ 'tankorCsoport' => array(array('txt' => '')),
+ 'fogadoOra' => array(array('txt' => '')),
+ 'tanarOrarend' => array(array('txt' => '')),
+ );
+ }
+ if (__NAPLOADMIN) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=tankor'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=hianyzas&f=osztaly'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'));
+ $MENU['modules']['naplo']['tanev'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'));
+ $MENU['modules']['naplo']['tanev'][] = array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv');
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'));
+ $MENU['modules']['naplo']['admin'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=admin&f=import'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'helyettesites' => array(array('txt' => '')),
+ 'pluszora' => array(array('txt' => '')),
+ 'osszevonas' => array(array('txt' => '')),
+ 'specialis' => array(array('txt' => '')),
+ 'elmaradas' => array(array('txt' => '')),
+ 'stat' => array(array('txt' => '')),
+ 'elszamolas' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => '')),
+ 'diak' => array(array('txt' => '')),
+ 'dolgozat' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['bejegyzesek'] = array(
+ 'bejegyzesek' => array(array('txt' => '')),
+ 'ujBejegyzes' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'orarend' => array(array('txt' => '')),
+ 'szabadTerem' => array(array('txt' => '')),
+ 'helyettesites' => array(array('txt' => '')),
+ 'munkaterv' => array(array('txt' => '')),
+ 'tankorCsoport' => array(array('txt' => '')),
+ 'orarendTankor' => array(array('txt' => '')),
+ 'orarendUtkozes' => array(array('txt' => '')),
+ 'orarendLoad' => array(array('txt' => '')),
+ 'fogadoOra' => array(array('txt' => '')),
+ 'tanarOrarend' => array(array('txt' => '')),
+ // 'intezmeny' => array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas')),
+ );
+ $MENU['modules']['naplo']['sub']['intezmeny'] = array(
+ 'valtas' => array(array('txt' => '')),
+ 'osztaly' => array(array('txt' => '')),
+ 'diak' => array(array('txt' => '')),
+ 'tanar' => array(array('txt' => '')),
+ 'munkakozosseg' => array(array('txt' => '')),
+ 'tankor' => array(array('txt' => '')),
+ 'tankorTanar' => array(array('txt' => '')),
+ 'tankorDiak' => array(array('txt' => '')),
+ 'diakTankor' => array(array('txt' => '')),
+ 'tankorSzemeszter' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['admin'] = array(
+ 'intezmenyek' => array(array('txt' => '')),
+ 'tanevek' => array(array('txt' => '')),
+ 'import' => array(array('txt' => '')),
+ 'azonositok' => array(array('txt' => '')),
+ );
+ }
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/module-portal.php b/mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/module-portal.php
new file mode 100644
index 00000000..dd54c829
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/menu/private/de_DE/module-portal.php
@@ -0,0 +1,14 @@
+<?php
+
+ if (defined('__HIREKADMIN') && __HIREKADMIN) {
+ $MENU['portal'] = array(array('txt' => 'Nachrichten', 'url' => 'index.php?page=portal&sub=hirek&f=hirekAdmin'));
+ $MENU['modules']['portal']['hirek'] = array(
+ array('txt' => 'Administrierung der Nachrichten', 'url' => 'index.php?page=portal&sub=hirek&f=hirekAdmin'),
+// array('txt' => 'Nachrichten', 'url' => 'index.php?page=portal&sub=hirek&f=hirek'),
+ array('txt' => 'Neue Nachricht', 'url' => 'index.php?page=portal&sub=hirek&f=egyhir'),
+ array('txt' => 'Neue Frage', 'url' => 'index.php?page=portal&sub=kerdoiv&f=kerdoivAdmin')
+ );
+ } else {
+ $MENU['portal'] = array(array('txt' => 'Einschicken der Nachricht', 'url' => 'index.php?page=portal&sub=hirek&f=egyhir'));
+ }
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/base.php b/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/base.php
new file mode 100644
index 00000000..95cf6ffb
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/base.php
@@ -0,0 +1,37 @@
+<?php
+
+ $MENU = array(
+ 'home'=>array(),
+ 'session'=>array(),
+ 'naplo'=>array(),
+ 'portal'=>array(),
+ 'felveteli'=>array(),
+ 'forum'=>array(),
+ 'auth'=>array(),
+
+ );
+
+ if (defined('_SESSIONID') and _SESSIONID != '') {
+ $MENU['session'] = array(
+ array('txt' => 'Austritt', 'url' => 'index.php?page=session&f=logout')
+ );
+ }
+ $MENU['home'] = array(
+ array('txt' => 'Startseite', 'url' => 'index.php')
+ );
+ $MENU['auth'] = array(
+ array('txt' => 'Eltern Einmeldung', 'url' => 'index.php?page=auth&f=login&toPolicy=parent'),
+ array('txt' => 'Einmeldung', 'url' => 'index.php?page=auth&f=login&toPolicy=private')
+ );
+ $MENU['modules']['auth']['login'] = array(
+ array('txt' => 'Forum Einmeldung', 'url' => 'index.php?page=auth&f=login&toPolicy=public&toPSF=forum::forum'),
+ array('txt' => 'Eltern Einmeldung', 'url' => 'index.php?page=auth&f=login&toPolicy=parent'),
+ array('txt' => 'geschützte Seiten','url' => 'index.php?page=auth&f=login&toPolicy=private'),
+// array('txt' => 'Registrierung','url' => 'index.php?page=session&f=createAccount&toPolicy=parent')
+ );
+// $MENU['modules']['session']['createAccount'] = array(
+// array('txt' => 'Eltern Registrierung', 'url' => 'index.php?page=session&f=createAccount&toPolicy=parent'),
+// array('txt' => 'Forum Registrierung', 'url' => 'index.php?page=session&f=createAccount&toPolicy=public'),
+// );
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-felveteli.php b/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-felveteli.php
new file mode 100644
index 00000000..861bf734
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-felveteli.php
@@ -0,0 +1,21 @@
+<?php
+
+ $MENU['felveteli'] = array(
+ array('txt' => 'Aufnahme', 'url' => 'index.php?page=felveteli&f=felveteli')
+ );
+
+
+ $MENU['modules']['felveteli']['felveteli'] = array(
+ array('txt' => 'Ausgehobene Dateie', 'url' => 'index.php?page=felveteli&f=felveteli'),
+ array('txt' => 'Aufnahme Prospekt', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=1'),
+ );
+ $MENU['modules']['felveteli']['felveteli/20082009'] = array(
+ array('txt' => '1.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=1'),
+ array('txt' => '2.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=2'),
+ array('txt' => '3.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=3'),
+ array('txt' => '4.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=4'),
+ array('txt' => '5.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=5'),
+ array('txt' => '6.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=6'),
+ );
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-forum.php b/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-forum.php
new file mode 100644
index 00000000..c3d0b56f
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-forum.php
@@ -0,0 +1,17 @@
+<?php
+
+ if (defined('_SESSIONID') and _SESSIONID != '') {
+ $MENU['session'] = array(
+ array('txt' => 'Austritt', 'url' => 'index.php?page=session&f=logout')
+ );
+ }
+ $MENU['forum'] = array(
+ array('txt' => 'Forum', 'url' => 'index.php?page=forum&f=forum')
+ );
+ $MENU['modules']['forum']['forum'] = array(
+ array('txt' => 'Forum', 'url' => 'index.php?page=forum&f=forum'),
+ array('txt' => 'Eintritt ins Forum', 'url' => 'index.php?page=auth&f=login&toPSF=forum::forum&toPolicy=public'),
+ array('txt' => 'User Registrierung', 'url' => 'index.php?page=session&f=createAccount&toPolicy=public&toPSF=forum::forum')
+ );
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-keptar.php b/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-keptar.php
new file mode 100644
index 00000000..d6566d66
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-keptar.php
@@ -0,0 +1,16 @@
+<?php
+
+// $MENU['keptar'] = array(
+// array('txt' => 'Galerie', 'url' => 'index.php?page=keptar&f=keptar')
+// );
+
+// $MENU['modules']['keptar']['uncat'] = array(
+// array('txt' => 'Kategoriezierte Bilder', 'url' => 'index.php?page=keptar&f=uncat')
+// );
+
+// $MENU['modules']['session']['createAccount'] = array(
+// array('txt' => 'Eltern Registrierung', 'url' => 'index.php?page=session&f=createAccount&toPolicy=parent'),
+// array('txt' => 'Furum Registrierung', 'url' => 'index.php?page=session&f=createAccount&toPolicy=public'),
+// );
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-naplo.php b/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-naplo.php
new file mode 100644
index 00000000..41357e3a
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-naplo.php
@@ -0,0 +1,13 @@
+<?php
+/*
+ module: naplo
+*/
+
+ $MENU['naplo'] = array(array('txt' => 'Stundenplan', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'));
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => 'Stundenplan', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'),
+ array('txt' => 'Freie Räume', 'url' => 'index.php?page=naplo&sub=tanev&f=szabadTerem'),
+ array('txt' => 'Vertretung', 'url'=>'index.php?page=naplo&sub=tanev&f=helyettesites')
+ );
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-portal.php b/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-portal.php
new file mode 100644
index 00000000..93543a6b
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/include/menu/public/de_DE/module-portal.php
@@ -0,0 +1,38 @@
+<?php
+/*
+ module: naplo
+*/
+ $MENU['portal'] = array(array('txt' => 'Studenten, Vorstellung, Erreichbarkeit', 'url' => 'index.php?page=portal&sub=info&f=info'));
+
+ $MENU['modules']['portal']['info'] = array(array('txt' => 'Erreichbarkeit', 'url' => 'index.php?page=portal&sub=info&f=info'));
+ $MENU['modules']['portal']['diaksag'] = array(array('txt' => 'Studentenleben', 'url' => 'index.php?page=portal&sub=diaksag&f=vmgmix'));
+ $MENU['modules']['portal']['dok'] = array(array('txt' => 'Studenten Selbstverwaltung', 'url' => 'index.php?page=portal&sub=dok&f=diakkepviselok'));
+ $MENU['modules']['portal']['bemutatkozas'] = array(array('txt' => 'Vorstellung', 'url' => 'index.php?page=portal&sub=bemutatkozas&f=konyvtar'));
+ $MENU['modules']['portal']['szmsz'] = array(array('txt' => 'SzMSz', 'url' => 'index.php?page=portal&sub=szmsz&f=tartalom'));
+ $MENU['modules']['portal']['pepo'] = array(array('txt' => 'Pädagogisches Programm', 'url' => 'index.php?page=portal&sub=pepo&f=tartalom'));
+ $MENU['modules']['portal']['hazirend'] = array(array('txt' => 'Hausregeln', 'url' => 'index.php?page=portal&sub=hazirend&f=hazirend2005'));
+ $MENU['modules']['portal']['sub']['bemutatkozas'][] = array(
+ array('txt' => 'Bibliothek', 'url' => 'index.php?page=portal&sub=bemutatkozas&f=konyvtar')
+ );
+ $MENU['modules']['portal']['sub']['pepo'][] = array(
+ array('txt' => 'Inhalt', 'url' => 'index.php?page=portal&sub=pepo&f=tartalom'),
+ array('txt' => '2. Kapitel', 'url' => 'index.php?page=portal&sub=pepo&f=2'),
+ array('txt' => '3. Kapitel', 'url' => 'index.php?page=portal&sub=pepo&f=3'),
+ array('txt' => '4. Kapitel', 'url' => 'index.php?page=portal&sub=pepo&f=4'),
+ array('txt' => '5. Kapitel', 'url' => 'index.php?page=portal&sub=pepo&f=5'),
+ array('txt' => '6. Kapitel', 'url' => 'index.php?page=portal&sub=pepo&f=6'),
+ array('txt' => '7. Kapitel', 'url' => 'index.php?page=portal&sub=pepo&f=7'),
+ array('txt' => '8. Kapitel', 'url' => 'index.php?page=portal&sub=pepo&f=8'),
+ );
+ $MENU['modules']['portal']['sub']['szmsz'][] = array(
+ array('txt' => 'Inhalt', 'url' => 'index.php?page=portal&sub=szmsz&f=tartalom'),
+ array('txt' => '2. Kapitel', 'url' => 'index.php?page=portal&sub=szmsz&f=2'),
+ array('txt' => '3. Kapitel', 'url' => 'index.php?page=portal&sub=szmsz&f=3'),
+ array('txt' => '4. Kapitel', 'url' => 'index.php?page=portal&sub=szmsz&f=4'),
+ array('txt' => '5. Kapitel', 'url' => 'index.php?page=portal&sub=szmsz&f=5'),
+ );
+ $MENU['modules']['portal']['sub']['diaksag'][] = array(
+ array('txt' => 'VMG-mix(Balázs Alpár, Ábel Bartos)', 'url' => 'index.php?page=portal&sub=diaksag&f=vmgmix'),
+ );
+
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/backend/ldap/attrs.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/backend/ldap/attrs.php
new file mode 100644
index 00000000..8f5ed336
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/backend/ldap/attrs.php
@@ -0,0 +1,59 @@
+<?php
+ define('_LDAP_USERACCOUNT','Loginname');
+ define('_LDAP_USERCN','Name');
+ define('_YEAR','Jahr');
+ define('_MONTH','Monat');
+ define('_DAY','Tag');
+ define('_FIU','Mann');
+ define('_LANY','Frau');
+ define('_LDAPDN','');
+ define('_LDAPUID','');
+ define('_LDAPUIDNUMBER','');
+ define('_LDAPGIDNUMBER','');
+ define('_LDAPGECOS','');
+ define('_LDAPCN','');
+ define('_LDAPSTUDYID','');
+ define('_LDAPSN','');
+ define('_LDAPGIVENNAME','');
+ define('_LDAPMAIL','');
+ define('_LDAPHOMEPAGE','');
+ define('_LDAPURL','');
+ define('_LDAPTELEPHONENUMBER','');
+ define('_LDAPMOBILE','');
+ define('_LDAPYEAR','');
+ define('_LDAPCLASS','');
+ define('_LDAPL','');
+ define('_LDAPSTREET','');
+ define('_LDAPPOSTALADDRESS','');
+ define('_LDAPPOSTALCODE','');
+ define('_LDAPHOMEDIRECTORY','');
+ define('_LDAPLEADER','');
+ define('_LDAPDESCRIPTION','');
+ define('_LDAPROOMNUMBER','');
+ define('_LDAPREGISTERTIMESTAMP','');
+ define('_LDAPPRIMARYSCHOOLOMCODE','');
+ define('_LDAPCLASSTIMESTAMP','');
+ define('_LDAPSTUDENTCARDNUMBER','');
+ define('_LDAPSTUDENTCARDTIMESTAMP','');
+ define('_LDAPTAXID','');
+ define('_LDAPBIRTHTIMESTAMP','');
+ define('_LDAPBIRTHLOCALITY','');
+ define('_LDAPREGISTERNUMBER','');
+ define('_LDAPDIARYNUMBER','');
+ define('_LDAPSEX','');
+ define('_LDAPGUARDIANCN','');
+ define('_LDAPMOTHERCN','');
+ define('_LDAPLOCALITYTIMESTAMP','');
+ define('_LDAPTAJNUMBER','');
+ define('_LDAPMEMBER','');
+ define('_LDAPSTUDENTMEMBER','');
+ define('_LDAPEXEMPTMEMBER','');
+ define('_LDAPEXAMERMEMBER','');
+ define('_LDAPMEMBERUID','');
+ define('_LDAPSHADOWLASTCHANGE','');
+ define('_LDAPSHADOWEXPIRE','');
+ define('_LDAPSHADOWWARNING','');
+ define('_LDAPSHADOWMIN','');
+ define('_LDAPSHADOWMAX','');
+ define('_LDAPSHADOWINACTICE','');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/backend/mysql/attrs.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/backend/mysql/attrs.php
new file mode 100644
index 00000000..d597549f
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/backend/mysql/attrs.php
@@ -0,0 +1,15 @@
+<?php
+ define('_MYSQLUID','MySQL Benutzer ID Nummer');
+ define('_MYSQLPOLICY','MySQL Zugangssicht');
+ define('_MYSQLCN','MySQL Benutzer Name');
+ define('_MYSQLSTUDYID','MySQL Schul-ID');
+ define('_MYSQLMAIL','MySQL E-mailadresse');
+ define('_MYSQLTELEPHONENUMBER','MySQL Telefonnummer');
+ define('_MYSQLUSERPASSWORD','MySQL Passwort');
+ define('_MYSQLSHADOWLASTCHANGE','MySQL shadow Letzte Änderung');
+ define('_MYSQLSHADOWEXPIRE','MySQL shadow läuft ab');
+ define('_MYSQLSHADOWWARNING','MySQL shadow Warnung');
+ define('_MYSQLSHADOWMIN','MySQL shadow Minimal Zeit');
+ define('_MYSQLSHADOWMAX','MySQL shadow Maximal zeit');
+ define('_MYSQLSHADOWINACTICE','MySQL shadow Inaktiv');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/base/base.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/base/base.php
new file mode 100644
index 00000000..ae3b27f1
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/base/base.php
@@ -0,0 +1,18 @@
+<?php
+ define('_MAIN_TITLE','MaYoR - 3.00');
+ define('_MAIN_FOOTER','MaYoR © 2002-2007');
+ define('_TANAR','Lehrer');
+ define('_DIAK','Schüler');
+ define('_TITKARSAG','Sekreteriat');
+ define('_GAZDASAGI','Wirtschafts');
+ define('_EGYEB','sonstig');
+ define('_ERROR','Fähle');
+ define('_INFORMATION','Information');
+ define('_CONTROL_FLAG_REQUIRED','Einloggen ist Pflicht.');
+ define('_CONTROL_FLAG_OPTIONAL','Einloggen ist keine Pflicht.');
+ define('_PRIVATE_PASSWORD','Passwort');
+ define('_PARENT_PASSWORD','Eltern Passwort');
+ define('_PUBLIC_PASSWORD','Öffentliches Passwort');
+ define('_MAYOR_DESC','MaYoR elektronisch administrativ und Notebook Programm');
+ define('_HELP','Hilfe');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/date/names.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/date/names.php
new file mode 100644
index 00000000..80938690
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/date/names.php
@@ -0,0 +1,21 @@
+<?php
+ define('_MONDAY','Montag');
+ define('_TUESDAY','Dienstag');
+ define('_WEDNESDAY','Mittwoch');
+ define('_THURSDAY','Donnerstag');
+ define('_FRIDAY','Freitag');
+ define('_SATURDAY','Samstag');
+ define('_SUNDAY','Sonntag');
+ define('_JANUARY','Januar');
+ define('_FEBRUARY','Februar');
+ define('_MARCH','März');
+ define('_APRIL','April');
+ define('_MAY','Mai');
+ define('_JUNE','Juni');
+ define('_JULY','Juli');
+ define('_AUGUSTUS','August');
+ define('_SEPTEMBER','September');
+ define('_OCTOBER','Oktober');
+ define('_NOVEMBER','November');
+ define('_DECEMBER','Dezember');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-auth/login.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-auth/login.php
new file mode 100644
index 00000000..8f53602c
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-auth/login.php
@@ -0,0 +1,5 @@
+<?php
+ define('_GREETING','MaYoR Anmeldung');
+ define('_LOGIN','Einloggen');
+ define('_USERNAME','Username');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-honosito/text.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-honosito/text.php
new file mode 100644
index 00000000..4568a9ce
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-honosito/text.php
@@ -0,0 +1,11 @@
+<?php
+ define('_SZOVEGEK_FORDITASA','Übersetzung der texte');
+ define('_KONSTANS','Konstante');
+ define('_FORDITANDO','');
+ define('_FORDITAS','');
+ define('_VISSZA','<< Zurück');
+ define('_NYELVVALASZTO','');
+ define('_FILE_LISTA','');
+ define('_VALASZTOTT_NYELV','');
+ define('_OK','ok');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-keptar/keptar.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-keptar/keptar.php
new file mode 100644
index 00000000..2695f1de
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-keptar/keptar.php
@@ -0,0 +1,4 @@
+<?php
+ define('_TOVABB','weiter');
+ define('_VISSZA','zurück');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/base.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/base.php
new file mode 100644
index 00000000..1dda46e1
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/base.php
@@ -0,0 +1,19 @@
+<?php
+ define('__MUNKAKOZOSSEGSELECTTITLE','Arbeitsgemeinschaft');
+ define('__TARGYSELECTTITLE','Fach');
+ define('__INTEZMENYSELECTTITLE','Institut');
+ define('__TANEVSELECTTITLE','Lehrjahr');
+ define('__TABLESELECTTITLE','Sql Tabelle');
+ define('__OSZTALYSELECTTITLE','Klasse');
+ define('__TANARSELECTTITLE','Lehrer');
+ define('__DIAKSELECTTITLE','Schüler');
+ define('__TANKORSELECTTITLE','Studiengruppe');
+ define('__DATUMSELECTTITLE','Datum');
+ define('__DATUMTOLIGSELECTTITLE','Datum');
+ define('__ORASELECTTITLE','Stunde');
+ define('__TEREMSELECTTITLE','Saal');
+ define('__ORARENDIHETSELECTTITLE','Woche');
+ define('_OK','ok');
+ define('_DELETE','Löschen');
+ define('_ORA','Stunde');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/diakValaszto.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/diakValaszto.php
new file mode 100644
index 00000000..6bd60913
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/diakValaszto.php
@@ -0,0 +1,3 @@
+<?php
+ define('__PAGETITLE','Schülerwahl');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/diakTankor.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/diakTankor.php
new file mode 100644
index 00000000..f9e536a4
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/diakTankor.php
@@ -0,0 +1,6 @@
+<?php
+ define('__PAGETITLE','Studiengruppen des Schülers');
+ define('_OSZTALYTANKOROK','Studiengruppen der Klasse');
+ define('_DIAKTANKOROK','Studiengruppen des Schülers');
+ define('_LEZART','Abgeschlossene/geplanter Schuljahr');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/munkakozosseg.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/munkakozosseg.php
new file mode 100644
index 00000000..946ef7a2
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/munkakozosseg.php
@@ -0,0 +1,9 @@
+<?php
+ define('__PAGETITLE','Arbeitsgemeinschaft');
+ define('_MUNKAKOZOSSEGNEV','Name der Arbeitsgemeinschaft');
+ define('_TARGYNEV','Name des Faches');
+ define('_VEGLEGES_TORLES','endgültige Löschung');
+ define('_MUNKAKOZOSSEGVEZETO','Arbeitsgemeinschaftsleiter');
+ define('_MUNKAKOZOSSEGTAGOK','Mitglieder der Arbeitsgemeinschaft');
+ define('_UJTAGOK','neue Mitglieder');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/osztaly.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/osztaly.php
new file mode 100644
index 00000000..1ec6bc7e
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/osztaly.php
@@ -0,0 +1,21 @@
+<?php
+ define('__PAGETITLE','Administrierung der Klassen');
+ define('_KEPZES','Ausbildung');
+ define('_KEZDOTANEV','Erstes Jahr');
+ define('_VEGZOSTANEV','Letztes Jahr');
+ define('_KEZDOEVFOLYAM','Startende Folge');
+ define('_JEL','Buchstabenzeichen der Klasse');
+ define('_UJOSZTALY','Neue Klasse');
+ define('_FILESELECTTITLE','Aktualisierung der Mitglieder der Klasse');
+ define('_OSZTALY_ADATAI','Daten der Klasse');
+ define('_FIELDSELECTMESSAGE','Bei der Beigabe von neuen Schülern, ist die Eingebung von erstem und letztem Jahr und dem Semester und den Datum des Beitritts der Klasse (beDt) pflicht!');
+ define('_OSZTALYFONOKOK','Klassenlehrer');
+ define('_TANARNEVE','Name des Lehrers');
+ define('_BEDT','Von');
+ define('_KIDT','Bis');
+ define('_TOROL','Löschen');
+ define('_OSZTALY_TORLESE','Löschen der Klasse');
+ define('_OSZTALY_TORLES_TITLE','Sind Sie sicher, dass Sie die Klasse und alle Verbindungen der Klasse löschen wollen?');
+ define('_UJ_TAG','Eintragung eines neues Mitgliedes');
+ define('_OSZTALYNEVSOR','Liste der Studenten');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tanar.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tanar.php
new file mode 100644
index 00000000..93e3f05a
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tanar.php
@@ -0,0 +1,22 @@
+<?php
+ define('__PAGETITLE','Administrierung der Lehrer');
+ define('_FILESELECTTITLE','Aktualisierung der Daten der Lehrer');
+ define('_KEPZES','Ausbildung');
+ define('_KEZDOTANEV','Erstes Jahr');
+ define('_VEGZOSTANEV','Letztes Jahr');
+ define('_KEZDOEVFOLYAM','Startende Folge');
+ define('_JEL','Buchstabenzeichen der Klasse');
+ define('_UJOSZTALY','Neue Klasse');
+ define('_FILESELECTTITLE','Aktualisierung der Mitglieder der Klasse');
+ define('_OSZTALY_ADATAI','Daten der Klasse');
+ define('_FIELDSELECTMESSAGE','Bei der Beigabe von neuen Schülern, ist die Eingebung von erstem und letztem Jahr und dem Semester und den Datum des Beitritts der Klasse (beDt) pflicht!');
+ define('_OSZTALYFONOKOK','Klassenlehrer');
+ define('_TANARNEVE','Name des Lehrers');
+ define('_BEDT','Von');
+ define('_KIDT','Bis');
+ define('_TOROL','Löschen');
+ define('_OSZTALY_TORLESE','Löschen der Klasse');
+ define('_OSZTALY_TORLES_TITLE','Sind Sie sicher, dass Sie die Klasse und alle Verbindungen der Klasse löschen wollen?');
+ define('_UJ_TAG','Eintragung eines neues Mitgliedes');
+ define('_OSZTALYNEVSOR','Liste der Studenten');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankor.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankor.php
new file mode 100644
index 00000000..aaa08ab9
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankor.php
@@ -0,0 +1,24 @@
+<?php
+ define('__PAGETITLE','Studiengruppen');
+ define('_MEGJELOLTIDOSZAKBANTANAR','Lehrer im gegbenen Zeitraum');
+ define('_TANKOR','Studiengruppe');
+ define('_ELNEVEZES','Name');
+ define('_TIPUS','Typ');
+ define('_VALASZTHATO','Wählbar');
+ define('_IGEN','ja');
+ define('_NEM','nein');
+ define('_KOVETELMENY','Voraussetzung');
+ define('_JELENLET','Anwesenheit');
+ define('_JEGY','Note');
+ define('_ALAIRAS','Unterschrift');
+ define('_KOTELEZO','pfichtlich');
+ define('_NEMKOTELEZO','nicht pfichtlich');
+ define('_SZEMESZTEREK','Semester');
+ define('_SZEMESZTER','Semester');
+ define('_HETI_ORASZAM','Wöchentliche Stundenzahl');
+ define('_OSZTALYJELE','Klassenzeichen');
+ define('_LEIRAS','Beschreibung');
+ define('_VEGLEGES_TORLES','endgültige Löschung');
+ define('_RESZTVEVO_OSZTALYOK','teilnehmende Klassen');
+ define('_TANKORDIAK','Mitglieder der Studiengruppe');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankorDiak.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankorDiak.php
new file mode 100644
index 00000000..01becb87
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankorDiak.php
@@ -0,0 +1,16 @@
+<?php
+ define('__PAGETITLE','Studenten der Studiengruppe');
+ define('_DIAKOK','Schüler');
+ define('_NEV','Name');
+ define('_METTOL','Von');
+ define('_MEDDIG','Bis');
+ define('_JELEN','Anwesenheit');
+ define('_KOVETELMENY','Anforderung');
+ define('_JOVAHAGYVA','Zugelassen');
+ define('_UJDIAK','Eintragung eines neuen Schülers in die Studiengruppe (von/bis)');
+ define('_BEDT','Datum des Beitritts');
+ define('_KIDT','Datum des Austritts');
+ define('_TANKOR','Daten der Studiengruppe');
+ define('_BIZTOS_TANKORNEVSOR','Sind Sie sicher, dass Sie die ausgewählten Schüler von der Studiengruppeliste löschen wollen?');
+ define('_BUTTON_OK','Löschen/Ändern');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankorSzemeszter.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankorSzemeszter.php
new file mode 100644
index 00000000..f0255a22
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankorSzemeszter.php
@@ -0,0 +1,4 @@
+<?php
+ define('__PAGETITLE','Arbeitsplan der Studiengruppen');
+ define('_TANKOR','Studiengruppe');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankorTanar.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankorTanar.php
new file mode 100644
index 00000000..768b32fc
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/tankorTanar.php
@@ -0,0 +1,6 @@
+<?php
+ define('__PAGETITLE','Fachaufteilung');
+ define('_TANTARGYFELOSZTAS','Fachaufteilung');
+ define('_TANKOR','Studiengruppe');
+ define('_ORASZAM','Stundenzahl');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/valtas.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/valtas.php
new file mode 100644
index 00000000..b67d3a43
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/intezmeny/valtas.php
@@ -0,0 +1,3 @@
+<?php
+ define('__PAGETITLE','Wählen des Institutes');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/diak.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/diak.php
new file mode 100644
index 00000000..3696680c
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/diak.php
@@ -0,0 +1,3 @@
+<?php
+ define('__FILENEV','Pfad des Files');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/ertekeles.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/ertekeles.php
new file mode 100644
index 00000000..4b5a33d6
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/ertekeles.php
@@ -0,0 +1,18 @@
+<?php
+ define('_SZAKTANARI_DICSERET','Lehrers Lob');
+ define('_OSZTALYFONOKI_DICSERET','Klassenlehrers Lob');
+ define('_IGAZGATOI_DICSERET','Direktors Lob');
+ define('_NEVELOTESTULETI_DICSERET','Lehrerkörperschafts Lob');
+ define('_SEMMI','Nichts');
+ define('_SZAKTANARI_FIGYELMEZTETES','Lehrers Warnung');
+ define('_SZOBELI_OSZTALYFONOKI_FIGYELMEZTETES','Verbale Klassenlehrers Warnung');
+ define('_OSZTALYFONOKI_FIGYELMEZTETES','Klassenlehrers Warnung');
+ define('_OSZTALYFONOKI_INTO','Klassenlehrers Verweis');
+ define('_OSZTALYFONOKI_ROVO','Klassenlehrers Verwarnung');
+ define('_IGAZGATOI_FIGYELMEZTETO','Direktors Warnung');
+ define('_IGAZGATOI_INTO','Direktors Verweis');
+ define('_IGAZGATOI_ROVO','Direktors Verwarnung');
+ define('_NEVELOTESTULETI_FIGYELMEZTETES','Lehrerkörperschafts Warnung');
+ define('_NEVELOTESTULETI_INTES','Lehrerkörperschafts Verweisung');
+ define('_NEVELOTESTULETI_MEGROVAS','Lehrerkörperschafts Verwarnung');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/file.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/file.php
new file mode 100644
index 00000000..c7cb84d7
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/file.php
@@ -0,0 +1,22 @@
+<?php
+ define('_FILENEV','Pfad des Files');
+ define('_VAN_ROVATFEJ','Es gibt eine Kopfzeile');
+ define('_ATTR_DIAKID','Schüler ID');
+ define('_ATTR_OID','Schul-ID');
+ define('_ATTR_IGAZOLVANYSZAM','Studentenausweisnummer');
+ define('_ATTR_VNE','Name Präfix');
+ define('_ATTR_VCSN','Familienname');
+ define('_ATTR_VUN','Nachname');
+ define('_ATTR_SZNE','Geburtsname Präfix');
+ define('_ATTR_SZCSN','Mädchenvorname');
+ define('_ATTR_SZUN','Mädchennachname');
+ define('_ATTR_ANE','Mutters Geburtsname Präfix');
+ define('_ATTR_ACSN','Mutters Mädchenvorname');
+ define('_ATTR_AUN','Mutters Mädchennachname');
+ define('_ATTR_SZH','Geburtsort');
+ define('_ATTR_SZI','Geburtsdatum');
+ define('_ATTR_KEZDO_TANEV','Erste Jahr');
+ define('_ATTR_KEZDO_SZEMESZTER','Erste Semester');
+ define('_ATTR_VEGZO_TANEV','Letzte Jahr');
+ define('_ATTR_VEGZO_SZEMESZTER','Letzte Semester');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/hianyzas.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/hianyzas.php
new file mode 100644
index 00000000..87541a23
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/hianyzas.php
@@ -0,0 +1,10 @@
+<?php
+ define('_ORVOSI','ärztliche Bestätigung');
+ define('_SZULOI','Bestätigung der Eltern');
+ define('_TANULMANYI_VERSENY','Studien Wettbewerb');
+ define('_NYELVVIZSGA','Sprachprüfung');
+ define('_OSZTALYFONOKI','Bestätigung des Klassenlehrers');
+ define('_IGAZGATOI','Bestätigung des Direktors');
+ define('_IGAZOLATLAN','nicht gerechtfertigtes Fehlen');
+ define('_TOROLT','gelöscht');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/osztalyzatok.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/osztalyzatok.php
new file mode 100644
index 00000000..11a1ce54
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/osztalyzatok.php
@@ -0,0 +1,23 @@
+<?php
+ define('_ELEGTELEN','Ungenügend');
+ define('_ELEGSEGES','Genügend');
+ define('_ROSSZ','Schlimm');
+ define('_HANYAG','Fahrlässig');
+ define('_KOZEPES','Befriedigend');
+ define('_VALTOZO','Wechselnd');
+ define('_JO','Gut');
+ define('_JELES','Sehr Gut');
+ define('_PELDAS','Vorbildlich');
+ define('_TOROLT','Ausgelöscht');
+ define('_KIS_JEGY','Kleine Note');
+ define('_NORMAL_JEGY','Normale Note');
+ define('_DOLGOZAT','Test');
+ define('_TEMAZARO','Schularbeit');
+ define('_VIZSGAJEGY','Prüfungsnote');
+ define('_DICSERET','Lob');
+ define('_FIGYELMEZTETO','War');
+ define('_NYELVVIZSGA','Sp');
+ define('_JEGYZET_DICSERET','Für ihre/seine gute Leistung in %1% geniesst sie/er eine Lobung.');
+ define('_JEGYZET_FIGYELMEZTETO','Sie/er bekam eine Warnung in %1%');
+ define('_JEGYZET_NYELVVIZSGA','Hat eine Sprachprüfung in %1%.');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/tanar.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/tanar.php
new file mode 100644
index 00000000..33a17661
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/share/tanar.php
@@ -0,0 +1,8 @@
+<?php
+ define('_TANAR_OID','Schul-ID');
+ define('_TANAR_VNE','Name Präfix');
+ define('_TANAR_VCSN','Familienname');
+ define('_TANAR_VUN','Nachname');
+ define('_TANAR_SZH','Geburtsort');
+ define('_TANAR_SZI','Geburtsdatum');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/tanev/helyettesites.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/tanev/helyettesites.php
new file mode 100644
index 00000000..ca0e749d
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-naplo/tanev/helyettesites.php
@@ -0,0 +1,3 @@
+<?php
+ define('__PAGETITLE','Vertretungen');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-password/changeMyPassword.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-password/changeMyPassword.php
new file mode 100644
index 00000000..3b62b858
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-password/changeMyPassword.php
@@ -0,0 +1,7 @@
+<?php
+ define('_CHANGE_PASSWORD','Änderung des eigenen Passworts');
+ define('_USERNAME','Username');
+ define('_NEW_PASSWORD','Neues Passwort');
+ define('_VERIFICATION','Bestätigung');
+ define('_OK','OK');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-password/changePassword.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-password/changePassword.php
new file mode 100644
index 00000000..c959a76c
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-password/changePassword.php
@@ -0,0 +1,7 @@
+<?php
+ define('_CHANGE_PASSWORD','Passwortänderung');
+ define('_USERNAME','Username');
+ define('_NEW_PASSWORD','Neues Passwort');
+ define('_VERIFICATION','Bestätigung');
+ define('_OK','OK');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/accountInfo.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/accountInfo.php
new file mode 100644
index 00000000..18a3b218
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/accountInfo.php
@@ -0,0 +1,3 @@
+<?php
+ define('_OK','OK');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/createAccount.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/createAccount.php
new file mode 100644
index 00000000..e16abbd3
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/createAccount.php
@@ -0,0 +1,7 @@
+<?php
+ define('_OK','OK');
+ define('_CREATE_ACCOUNT','Neuer Benutzer');
+ define('_VERIFICATION','Bestätigung');
+ define('_ACCOUNT_CATEGORY','Kategorie');
+ define('_DATAFILE','Daten File');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/createGroup.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/createGroup.php
new file mode 100644
index 00000000..1e471031
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/createGroup.php
@@ -0,0 +1,6 @@
+<?php
+ define('_OK','OK');
+ define('_CREATE_GROUP','Neue Gruppe');
+ define('_GROUP_CATEGORY','Kategorie');
+ define('_DATAFILE','Daten File');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/download.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/download.php
new file mode 100644
index 00000000..8c669bd2
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/download.php
@@ -0,0 +1,7 @@
+<?php
+ define('_FILE','File');
+ define('_SIZE','Größe');
+ define('_MIMETYPE','MIME Typ');
+ define('_DOWNLOAD','Download');
+ define('_DESCRIPTION','Wenn der Download automatisch nicht startet, klicken Sie auf den Link!');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/groupInfo.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/groupInfo.php
new file mode 100644
index 00000000..87f8eed9
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/groupInfo.php
@@ -0,0 +1,4 @@
+<?php
+ define('_OK','OK');
+ define('_NEW','Neu');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/search/searchAccount.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/search/searchAccount.php
new file mode 100644
index 00000000..d9b4b4ec
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/search/searchAccount.php
@@ -0,0 +1,19 @@
+<?php
+ define('_SEARCH','Benutzersuche');
+ define('_OK','OK');
+ define('_NOTFOUND','Kein Ergebnis');
+ define('_CATEGORY','Kategorie');
+ define('_ACTION','Änderung');
+ define('_DELETE','Löschen');
+ define('_CHANGE_PASSWORD','Passwortänderung');
+ define('_ARE_YOU_SURE','Sind Sie sicher dass Sie löschen wollen?');
+ define('_NAME','Name');
+ define('_CLASS','Klasse');
+ define('_EMAIL','Email');
+ define('_PASSWORD','Passwort');
+ define('_RETYPEPASSWORD','Bestätigung');
+ define('_DEFAULTGROUP','Kategorie');
+ define('_DATAFILE','Daten File');
+ define('_NEWUSER','Neuer Benutzer');
+ define('_ARE_YOU_SURE','Sind Sie sicher dass Sie löschen wollen?');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/search/searchGroup.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/search/searchGroup.php
new file mode 100644
index 00000000..ec220985
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/module-session/search/searchGroup.php
@@ -0,0 +1,19 @@
+<?php
+ define('_SEARCH','Gruppensuche');
+ define('_OK','OK');
+ define('_NOTFOUND','Kein Ergebnis');
+ define('_CATEGORY','Kategorie');
+ define('_ACTION','Änderung');
+ define('_DELETE','Löschen');
+ define('_CHANGE_PASSWORD','Passwortänderung');
+ define('_ARE_YOU_SURE','Sind Sie sicher dass Sie löschen wollen?');
+ define('_NAME','Name');
+ define('_CLASS','Klasse');
+ define('_EMAIL','Email');
+ define('_PASSWORD','Passwort');
+ define('_RETYPEPASSWORD','Bestätigung');
+ define('_DEFAULTGROUP','Kategorie');
+ define('_DATAFILE','Daten File');
+ define('_NEWUSER','Neuer Benutzer');
+ define('_ARE_YOU_SURE','Sind Sie sicher dass Sie löschen wollen?');
+?>
diff --git a/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/share/session/attrs.php b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/share/session/attrs.php
new file mode 100644
index 00000000..da8b935d
--- /dev/null
+++ b/mayor-orig/mayor-locales-de_DE/www/lang/de_DE/share/session/attrs.php
@@ -0,0 +1,18 @@
+<?php
+ define('_ATTR_USERACCOUNT','Loginname');
+ define('_ATTR_USERCN','Name');
+ define('_ATTR_USERPASSWORD','Passwort');
+ define('_ATTR_STUDYID','');
+ define('_ATTR_MAIL','E-mailadresse');
+ define('_ATTR_TELEPHONENUMBER','Telefonnummer');
+ define('_ATTR_SHADOWLASTCHANGE','Letzte Passwortänderung');
+ define('_ATTR_SHADOWMIN','Früheste Passwortänderung');
+ define('_ATTR_SHADOWMAX','Passwortgültigkeits dauer');
+ define('_ATTR_SHADOWWARNING','Aufruf für Passwortänderung');
+ define('_ATTR_SHADOWINACTIVE','Benutzer');
+ define('_ATTR_SHADOWEXPIRE','Absperrungsdatum');
+ define('_ATTR_GROUPCN','Gruppenkenzeichen');
+ define('_ATTR_GROUPDESC','Gruppenname');
+ define('_ATTR_LEADER','Leiter');
+ define('_ATTR_MEMBER','Mitglied');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/log/mayor-locales-en_US.rev b/mayor-orig/mayor-locales-en_US/log/mayor-locales-en_US.rev
new file mode 100644
index 00000000..ab5135de
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/log/mayor-locales-en_US.rev
@@ -0,0 +1 @@
+4455
diff --git a/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/base.php b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/base.php
new file mode 100644
index 00000000..e8ddd48a
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/base.php
@@ -0,0 +1,42 @@
+<?php
+
+ $ALERT_MSG = array(
+ 'default' => 'Unknown warning message.',
+ 'change_success' => 'Change successful!',
+ 'page_missing' => 'The page cannot be found on this server.',
+ 'sql_failure' => 'SQL database error!',
+ 'sql_connect_failure' => 'SQL connect error!',
+ 'sql_query_failure' => 'SQL query error!',
+ 'auth_failure' => 'Unknown user! You did not sign in, or do not have the required permission.',
+ 'bad_pw' => 'Incorrect password!',
+ 'account_expired' => 'Your password has expired %0% days ago!',
+ 'account_warning' => 'Password expires in %0% days',
+ 'warn_account_disable' => 'Account will be deleted in %0% days.',
+ 'empty_field' => 'Required field empty! You must fill all the required fields!',
+ 'insufficient_access' => 'Access denied!',
+ 'wrong_data' => 'Data error!',
+ 'deadline_expired' => 'Data cannot be changed, since the deadline has expired.',
+ 'pw_change_success' => 'Password change successful.',
+ 'file_not_found' => 'File not found!',
+ 'success' => 'Failed to open file!',
+ 'file_open_failure' => 'Process was completed successfully.',
+ 'success' => 'Access denied!',
+ 'illegal_access' => 'Access denied!',
+ 'insufficient_access' => 'Changing of LDAP data failed, check your permissions!',
+ 'ldap_modify_failure' => 'Failed to add new LDAP entry! Check your permissions.',
+ 'ldap_add_failure' => 'LDAP connection is slow... please wait.',
+ 'ldap_slow_connection' => 'SQL connection error!',
+ 'sql_failure' => 'Your proxy settings are incorrect!',
+ 'from_proxy' => 'Unknown user! You can only access the requested page after logging in!',
+ 'auth_failure' => 'Unknown user. Acces denied until user authentication.',
+ 'parent_pw_info' => '(expired msg)',
+ 'account_expired' => 'Your password has expired %0% days ago! Changing of the password is mandatory, otherwise your account will be bannad in %1% days!',
+ 'account_warning' => 'Password expires in %0% day(s).',
+ 'account_disabled' => 'Your password has expired, and your account has been banned. For new password, contact the administrator.',
+ 'wrong_page' => 'This page cannot be accessed this way.... (hm)',
+ 'under_con' => 'Under construction! The page cannot be accessed temporarily.',
+ 'move_file_error' => 'File moving unsuccessful!',
+ 'deadline_expired' => 'Change deadline expired!',
+ );
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/file.php b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/file.php
new file mode 100644
index 00000000..60bee5ad
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/file.php
@@ -0,0 +1,5 @@
+<?php
+
+ $ALERT_MSG['file_open_failure'] = 'Failed to open file!';
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/ldap.php b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/ldap.php
new file mode 100644
index 00000000..cf07fb40
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/ldap.php
@@ -0,0 +1,7 @@
+<?php
+
+ $ALERT_MSG['ldap_failure'] = 'LDAP database error!';
+ $ALERT_MSG['ldap_bind_failure'] = 'LDAP connection error!';
+ $ALERT_MSG['ldap_search_failure'] = 'LDAP search was not successful! Check your permissions!';
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-auth.php b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-auth.php
new file mode 100644
index 00000000..d6bdc093
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-auth.php
@@ -0,0 +1,8 @@
+<?php
+
+ $ALERT_MSG['no_account'] = 'Username incorrect!';
+ $ALERT_MSG['multi_uid'] = 'Account name already exists!';
+ $ALERT_MSG['account_disabled'] = 'Your account has been banned, you can\'t log in. For more information, contact the administrator.';
+ $ALERT_MSG['force_pw_update'] = 'Changing of the password is mandatory!';
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-honosito.php b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-honosito.php
new file mode 100644
index 00000000..69caf50b
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-honosito.php
@@ -0,0 +1,5 @@
+<?php
+
+ $ALERT_MSG['nem_honosito'] = 'You are not a member of the Translator group. The Translator project was started in order to make the page available in other languages. If you want to participate, contact the administrator.';
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-naplo.php b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-naplo.php
new file mode 100644
index 00000000..a2a66f25
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-naplo.php
@@ -0,0 +1,10 @@
+<?php
+
+ $ALERT_MSG['rollback'] = 'The changes have been discarded and the modifications have been set to default.';
+ $ALERT_MSG['nem_targyvalasztasi_idoszak'] = 'Currently there is no (pre)selection peroid';
+ $ALERT_MSG['tipus_elfogyott'] = 'Out of this type!';
+ $ALERT_MSG['nincs_oraja'] = 'Has no (fixed) lessons this day!';
+ $ALERT_MSG['tankor_min_reached'] = 'The studygroup\'s candidate number can\'t get below the allowed minimum!';
+ $ALERT_MSG['tankor_max_reached'] = 'The studaygroup\'s candidate number cannot get above the allowed maximum!';
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-password.php b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-password.php
new file mode 100644
index 00000000..42d01946
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-password.php
@@ -0,0 +1,10 @@
+<?php
+
+ $ALERT_MSG['force_pw_update'] = 'Changing of the password is mandatory!';
+ $ALERT_MSG['pw_change_failed'] = 'Password change failure!';
+ $ALERT_MSG['pw_change_disabled'] = 'Password changing is disabled.';
+ $ALERT_MSG['pw_change_success'] = 'Password change successful.';
+ $ALERT_MSG['pw_not_match'] = 'The password does not match the confirmation!';
+ $ALERT_MSG['pw_not_changed'] = 'The new password must be different from the old one!';
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-session.php b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-session.php
new file mode 100644
index 00000000..e357c6d5
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/alert/en_US/module-session.php
@@ -0,0 +1,5 @@
+<?php
+
+ $ALERT_MSG['pw_not_match'] = 'The password does not match the confirmation!';
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/menu/parent/en_US/base.php b/mayor-orig/mayor-locales-en_US/www/include/menu/parent/en_US/base.php
new file mode 100644
index 00000000..8ff4e7af
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/menu/parent/en_US/base.php
@@ -0,0 +1,34 @@
+<?php
+
+ if (defined('_SESSIONID') and _SESSIONID != '') {
+ $MENU['logout'] = array(
+ array(
+ 'txt' => 'Sign out',
+ 'url' => 'index.php?policy=public&page=session&f=logout',
+ 'get' => array('sessionID','skin','lang')
+ )
+ );
+ $MENU['session'] = array(
+ array(
+ 'txt' => 'Profile',
+ 'url' => 'index.php?page=password&sub=&f=changeMyPassword&userAccount='._USERACCOUNT.'&policy=public&toPolicy=parent',
+ 'get' => array('skin','lang','sessionID'),
+ )
+ );
+ }
+ $MENU['modules']['session'] = array(
+// 'searchAccount' => array(array('txt' => 'Account search','url' => 'index.php?page=session&sub=search&f=searchAccount')),
+// 'searchGroup' => array(array('txt' => 'Group search','url' => 'index.php?page=session&sub=search&f=searchGroup')),
+ 'changeMyPassword' => array(array('txt' => 'Change password','url' => 'index.php?page=password&sub=&f=changeMyPassword&userAccount='._USERACCOUNT.'&policy=public&toPolicy=parent','get' => array('skin','lang','sessionID'))),
+// 'sub' => array(
+// 'search' => array(
+// 'searchAccount' => array(array('txt' => 'Account search')),
+// 'searchGroup' => array(array('txt' => 'Group search')),
+// )
+// )
+ );
+ $MENU['home'] = array(
+ array('txt' => 'Home', 'url' => 'index.php')
+ );
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/menu/parent/en_US/module-keptar.php b/mayor-orig/mayor-locales-en_US/www/include/menu/parent/en_US/module-keptar.php
new file mode 100644
index 00000000..357430cb
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/menu/parent/en_US/module-keptar.php
@@ -0,0 +1,13 @@
+<?php
+ $MENU['keptar'] = array(
+ array('txt' => 'Gallery', 'url' => 'index.php?page=keptar&f=keptar')
+ );
+
+ $MENU['modules']['keptar']['uncat'] = array(
+ array('txt' => 'Uncategorized pictures', 'url' => 'index.php?page=keptar&f=uncat')
+ );
+
+ $MENU['modules']['keptar']['admin'] = array(
+ array('txt' => 'Admin', 'url' => 'index.php?page=keptar&f=admin'),
+ );
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/menu/parent/en_US/module-naplo.php b/mayor-orig/mayor-locales-en_US/www/include/menu/parent/en_US/module-naplo.php
new file mode 100644
index 00000000..5d669c57
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/menu/parent/en_US/module-naplo.php
@@ -0,0 +1,44 @@
+<?php
+/*
+ module: naplo
+*/
+
+ $MENU['naplo'] = array(
+ array('txt' => 'Online Register', 'url' => 'index.php?page=naplo&f=diakValaszto'),
+ array('txt' => 'Sign on for consultation', 'url' => 'index.php?page=naplo&sub=tanev&f=fogadoOra')
+ );
+
+ // A menüpontok sorrendjének beállítása - ettől még nem jelenik meg semmi :)
+ $MENU['modules']['naplo'] = array(
+ 'haladasi' => array(),
+ 'osztalyozo' => array(),
+ 'hianyzas' => array(),
+ 'bejegyzesek' => array(),
+ 'tanev' => array(),
+ 'intezmeny' => array(),
+ 'admin' => array(),
+ );
+
+ if (__DIAK) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'Progress register', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'Grades', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=diak'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Register of absencies', 'url' => 'index.php?page=naplo&sub=hianyzas&f=diak'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => 'Entries', 'url' => 'index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'));
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'dolgozat' => array(array('txt' => 'Tests')),
+ 'bizonyitvany' => array(array('txt' => 'Report')),
+ 'stat' => array(array('txt' => 'Statistics')),
+ );
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => 'Timetable', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'),
+ array('txt' => 'Workplan', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv')
+ );
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => 'Change schoolyear', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'));
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'stat' => array(array('txt' => 'Progress statistics')),
+ );
+ if (__UZENO_INSTALLED===true)
+ $MENU['modules']['naplo']['uzeno'] = array(array('txt' => 'Messenger', 'url' => 'index.php?page=naplo&sub=uzeno&f=uzeno'));
+
+ }
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/base.php b/mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/base.php
new file mode 100644
index 00000000..d6420fde
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/base.php
@@ -0,0 +1,43 @@
+<?php
+
+ if (defined('_SESSIONID') and _SESSIONID != '') {
+ $MENU['logout'] = array(
+ array(
+ 'txt' => 'Quit',
+ 'url' => 'index.php?policy=public&page=session&f=logout',
+ 'get' => array('sessionID','skin','lang')
+ )
+ );
+ $MENU['session'] = array(
+ array(
+ 'txt' => 'User data',
+ 'url' => 'index.php?page=session&sub=search&f=searchAccount'
+ )
+ );
+ }
+ $MENU['home'] = array(
+ array('txt' => 'Start page', 'url' => 'index.php')
+ );
+
+ if (memberOf(_USERACCOUNT, $AUTH[_POLICY]['adminGroup'])) {
+ $MENU['modules']['session'] = array(
+ 'createAccount' => array(array('txt' => 'New user')),
+ 'createGroup' => array(array('txt' => 'New group')),
+ 'searchAccount' => array(array('txt' => 'Search user','url' => 'index.php?page=session&sub=search&f=searchAccount')),
+ 'searchGroup' => array(array('txt' => 'Search group','url' => 'index.php?page=session&sub=search&f=searchGroup')),
+ 'changeMyPassword' => array(array('txt' => 'Change password','url' => 'index.php?page=password&sub=&f=changeMyPassword&userAccount='._USERACCOUNT.'&policy=public&toPolicy=private','get' => array('skin','lang','sessionID'))),
+// 'sub' => array(
+// 'search' => array(
+// 'searchAccount' => array(array('txt' => 'Search user')),
+// 'searchGroup' => array(array('txt' => 'Search group')),
+// )
+// )
+ );
+ } else {
+ $MENU['modules']['session'] = array(
+ 'searchAccount' => array(array('txt' => 'Search user','url' => 'index.php?page=session&sub=search&f=searchAccount')),
+ 'searchGroup' => array(array('txt' => 'Search group','url' => 'index.php?page=session&sub=search&f=searchGroup')),
+ 'changeMyPassword' => array(array('txt' => 'Change password','url' => 'index.php?page=password&sub=&f=changeMyPassword&userAccount='._USERACCOUNT.'&policy=public&toPolicy=private','get' => array('skin','lang','sessionID'))),
+ );
+ }
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/module-honosito.php b/mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/module-honosito.php
new file mode 100644
index 00000000..1f062ddc
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/module-honosito.php
@@ -0,0 +1,15 @@
+<?php
+
+ if (memberOf(_USERACCOUNT,'honosito')) {
+
+ $MENU['honosito'] = array(array('txt' => 'Translator', 'url' => 'index.php?page=honosito&f=text'));
+
+ $MENU['modules']['honosito'] = array(
+ 'alert' => array(array('txt' => 'Translate messages')),
+ 'menu' => array(array('txt' => 'Translate menu')),
+ 'text' => array(array('txt' => 'Translate texts')),
+ );
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/module-naplo.php b/mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/module-naplo.php
new file mode 100644
index 00000000..184966b3
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/module-naplo.php
@@ -0,0 +1,282 @@
+<?php
+/*
+ module: naplo
+*/
+
+ $MENU['naplo'] = array(
+ array('txt' => 'Online Register', 'url' => 'index.php?page=naplo')
+ );
+
+ // A menüpontok sorrendjének beállítása - ettől még nem jelenik meg semmi :)
+ $MENU['modules']['naplo'] = array(
+ 'haladasi' => array(),
+ 'osztalyozo' => array(),
+ 'hianyzas' => array(),
+ 'bejegyzesek' => array(),
+ 'tanev' => array(),
+ 'intezmeny' => array(),
+ 'admin' => array(),
+ );
+
+ if (__DIAK) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'Progress register', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'Grades', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=diak'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Register of absencies', 'url' => 'index.php?page=naplo&sub=hianyzas&f=diak'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => 'Entries', 'url' => 'index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'));
+ $MENU['modules']['naplo']['diakTankorJelentkezes'] = array(array('txt' => 'Application', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankorJelentkezes'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => 'Requests', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'dolgozat' => array(array('txt' => 'Tests')),
+ 'bizonyitvany' => array(array('txt' => 'Report')),
+ 'stat' => array(array('txt' => 'Statistics')),
+ );
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => 'Timetable', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'),
+ array('txt' => 'Unused classrooms', 'url' => 'index.php?page=naplo&sub=tanev&f=szabadTerem'),
+ array('txt' => 'Workplan', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv')
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => 'New request')),
+ );
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => 'Change schoolyear', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'));
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'stat' => array(array('txt' => 'Progress statistics')),
+ );
+ if(__UZENO_INSTALLED===true)
+ $MENU['modules']['naplo']['uzeno'] = array(array('txt' => 'Messenger', 'url' => 'index.php?page=naplo&sub=uzeno&f=uzeno'));
+
+ } elseif (__TANAR) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'Progress register', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'Grades', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=tankor'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Register of absencies', 'url' => 'index.php?page=naplo&sub=hianyzas&f=osztaly'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => 'Entries', 'url' => 'index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => 'Requests', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => 'Timetable', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'),
+ array('txt' => 'Unused classrooms', 'url' => 'index.php?page=naplo&sub=tanev&f=szabadTerem'),
+ array('txt' => 'Workplan', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv'),
+ array('txt' => 'PTA', 'url' => 'index.php?page=naplo&sub=tanev&f=fogadoOra'),
+ );
+ $MENU['modules']['naplo']['intezmeny'] = array(
+ array('txt' => 'Change schoolyear', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'),
+ array('txt' => 'Students in studygroup', 'url' => 'index.php?page=naplo&sub=intezmeny&f=tankorDiak'),
+ array('txt' => 'Student\'s studygroups', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankor'),
+ array('txt' => 'Student\'s selected studygroups', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankorJelentkezes'),
+ );
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'tanarOrarend' => array(array('txt' => 'Summarized teacher\'s timetable')),
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => 'New request')),
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => 'Studygroup\'s grades')),
+ 'diak' => array(array('txt' => 'Student\'s grades')),
+ 'dolgozat' => array(array('txt' => 'Tests')),
+ 'bizonyitvany' => array(array('txt' => 'Report')),
+ 'stat' => array(array('txt' => 'Statistics')),
+ );
+ if (__OSZTALYFONOK === true) $MENU['modules']['naplo']['sub']['osztalyozo']['targySorrend'] = array(array('txt' => 'Order of subjects'));
+ $MENU['modules']['naplo']['sub']['bejegyzesek'] = array(
+ 'bejegyzesek' => array(array('txt' => 'List of entries')),
+ 'ujBejegyzes' => array(array('txt' => 'New entry')),
+ );
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'stat' => array(array('txt' => 'Progress statistics')),
+ );
+ $MENU['modules']['naplo']['sub']['hianyzas'] = array(
+ 'osztaly' => array(array('txt' => 'Class\' absency summarizer')),
+ 'diak' => array(array('txt' => 'Student\'s absencies (calendar view)')),
+ );
+ if(__UZENO_INSTALLED===true)
+ $MENU['modules']['naplo']['uzeno'] = array(array('txt' => 'Messenger', 'url' => 'index.php?page=naplo&sub=uzeno&f=uzeno'));
+
+ } elseif (__TITKARSAG === true) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'Progress register', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'Grades', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=tankor'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Register of absencies', 'url' => 'index.php?page=naplo&sub=hianyzas&f=osztaly'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => 'Requests', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => 'Timetable', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'),
+ array('txt' => 'Unused classrooms', 'url' => 'index.php?page=naplo&sub=tanev&f=szabadTerem'),
+ array('txt' => 'Workplan', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv'),
+ array('txt' => 'PTA', 'url' => 'index.php?page=naplo&sub=tanev&f=fogadoOra'),
+ );
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => 'Institution details', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'));
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'tanarOrarend' => array(array('txt' => 'Summarized teacher\'s timetable')),
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => 'New request')),
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => 'Studygroup\'s grades')),
+ 'diak' => array(array('txt' => 'Student\'s grades')),
+ 'dolgozat' => array(array('txt' => 'Tests')),
+ 'bizonyitvany' => array(array('txt' => 'Report')),
+ 'stat' => array(array('txt' => 'Statistics')),
+ 'targySorrend' => array(array('txt' => 'Order of subjects')),
+ );
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'stat' => array(array('txt' => 'Progress statistics')),
+ );
+ $MENU['modules']['naplo']['sub']['intezmeny'] = array(
+ 'valtas' => array(array('txt' => 'Change institution')),
+// 'osztaly' => array(array('txt' => 'Classes')),
+ 'diak' => array(array('txt' => 'Students')),
+// 'tanar' => array(array('txt' => 'Teachers')),
+// 'munkakozosseg' => array(array('txt' => 'Associations')),
+// 'tankor' => array(array('txt' => 'Studygroups')),
+// 'tankorTanar' => array(array('txt' => 'Stygroup teachers')),
+// 'tankorDiak' => array(array('txt' => 'Studygroup students')),
+// 'diakTankor' => array(array('txt' => 'Student\'s studygroups')),
+// 'tankorSzemeszter' => array(array('txt' => 'Studygroup\' timetable')),
+ );
+ }
+ if (__VEZETOSEG===true) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'Progress register', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'Grades', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=tankor'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Register of absencies', 'url' => 'index.php?page=naplo&sub=hianyzas&f=osztaly'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => 'Entries', 'url' => 'index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'));
+ $MENU['modules']['naplo']['tanev'][] = array('txt' => 'Schoolyear details', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv');
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => 'Requests', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => 'Studygroups', 'url' => 'index.php?page=naplo&sub=intezmeny&f=tankorDiak'));
+
+/*
+// $MENU['modules']['naplo']['intezmeny'] = array(
+ array('txt' => 'Students in studygroup', 'url' => 'index.php?page=naplo&sub=intezmeny&f=tankorDiak'),
+ array('txt' => 'Stygroup teachers', 'url' => 'index.php?page=naplo&sub=intezmeny&f=tankorTanar'),
+ array('txt' => 'Change schoolyear', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'),
+ array('txt' => 'Student\'s studygroups', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankor'),
+ array('txt' => 'Application', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankorJelentkezes'),
+ );
+*/
+ $MENU['modules']['naplo']['sub']['intezmeny'] = array (
+ 'tankorDiak' => array(array('txt' => 'Students in studygroup', 'url' => 'index.php?page=naplo&sub=intezmeny&f=tankorDiak')),
+ 'tankorTanar' => array(array('txt' => 'Stygroup teachers', 'url' => 'index.php?page=naplo&sub=intezmeny&f=tankorTanar')),
+ 'diakTankor' => array(array('txt' => 'Student\'s studygroups', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankor')),
+ 'diakTankorJelentkezes' => array(array('txt' => 'Application', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankorJelentkezes')),
+ 'valtas' => array(array('txt' => 'Change schoolyear', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas')),
+ 'tankorCsoport' => array(array('txt' => 'Studygroups*', 'url' => 'index.php?page=naplo&sub=tanev&f=tankorCsoport')),
+ 'tankorBlokk' => array(array('txt' => 'Studygroup blocks*', 'url' => 'index.php?page=naplo&sub=tanev&f=tankorBlokk')),
+
+ );
+
+
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => 'New request')),
+ );
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'helyettesites' => array(array('txt' => 'Substitutions')),
+ 'pluszora' => array(array('txt' => 'Extra lesson')),
+ 'osszevonas' => array(array('txt' => 'Merging')),
+ 'specialis' => array(array('txt' => 'Special day')),
+ 'elmaradas' => array(array('txt' => 'Progress delays')),
+ 'stat' => array(array('txt' => 'Progress statistics')),
+ 'elszamolas' => array(array('txt' => 'Accounting')),
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => 'Studygroup\'s grades')),
+ 'diak' => array(array('txt' => 'Student\'s grades')),
+ 'dolgozat' => array(array('txt' => 'Tests')),
+ 'bizonyitvany' => array(array('txt' => 'Report')),
+ 'stat' => array(array('txt' => 'Statistics')),
+ 'targySorrend' => array(array('txt' => 'Order of subjects')),
+ );
+ $MENU['modules']['naplo']['sub']['bejegyzesek'] = array(
+ 'bejegyzesek' => array(array('txt' => 'List of entries')),
+ 'ujBejegyzes' => array(array('txt' => 'New entry')),
+ );
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'orarend' => array(array('txt' => 'Timetable')),
+ 'szabadTerem' => array(array('txt' => 'Unused classrooms')),
+ 'munkaterv' => array(array('txt' => 'Yearly workplan')),
+ 'tankorCsoport' => array(array('txt' => 'Studygroups arrays (...)')),
+ 'tankorBlokk' => array(array('txt' => 'Studygroup blocks')),
+ 'fogadoOra' => array(array('txt' => 'PTA')),
+ 'tanarOrarend' => array(array('txt' => 'Summarized teacher\'s timetable')),
+ );
+ $MENU['modules']['naplo']['sub']['hianyzas'] = array(
+ 'osztaly' => array(array('txt' => 'Class\' absency summarizer')),
+ 'diak' => array(array('txt' => 'Student\'s absencies (calendar view)')),
+ );
+
+ }
+ if (__NAPLOADMIN) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'Progress register', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'Grades', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=tankor'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Register of absencies', 'url' => 'index.php?page=naplo&sub=hianyzas&f=osztaly'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => 'Entries', 'url' => 'index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'));
+ $MENU['modules']['naplo']['tanev'] = array(array('txt' => 'Timetable', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'));
+ $MENU['modules']['naplo']['tanev'][] = array('txt' => 'Schoolyear details', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv');
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => 'Institution details', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'));
+ $MENU['modules']['naplo']['admin'] = array(array('txt' => 'Admin', 'url' => 'index.php?page=naplo&sub=admin&f=import'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => 'Requests', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ if(__UZENO_INSTALLED===true)
+ $MENU['modules']['naplo']['uzeno'] = array(array('txt' => 'Messenger', 'url' => 'index.php?page=naplo&sub=uzeno&f=uzeno'));
+
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'helyettesites' => array(array('txt' => 'Substitutions')),
+ 'pluszora' => array(array('txt' => 'Extra lesson')),
+ 'osszevonas' => array(array('txt' => 'Merging')),
+ 'specialis' => array(array('txt' => 'Special day')),
+ 'elmaradas' => array(array('txt' => 'Progress delays')),
+ 'stat' => array(array('txt' => 'Progress statistics')),
+ 'elszamolas' => array(array('txt' => 'Accounting')),
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => 'New request')),
+ );
+ $MENU['modules']['naplo']['sub']['hianyzas'] = array(
+ 'osztaly' => array(array('txt' => 'Class\' absency summarizer')),
+ 'diak' => array(array('txt' => 'Student\'s absencies (calendar view)')),
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => 'Studygroup\'s grades')),
+ 'diak' => array(array('txt' => 'Student\'s grades')),
+ 'dolgozat' => array(array('txt' => 'Tests')),
+ 'bizonyitvany' => array(array('txt' => 'Report')),
+ 'stat' => array(array('txt' => 'Statistics')),
+ 'targySorrend' => array(array('txt' => 'Order of subjects')),
+ );
+ $MENU['modules']['naplo']['sub']['bejegyzesek'] = array(
+ 'bejegyzesek' => array(array('txt' => 'List of entries')),
+ 'ujBejegyzes' => array(array('txt' => 'New entry')),
+ );
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'orarend' => array(array('txt' => 'Timetable')),
+ 'szabadTerem' => array(array('txt' => 'Unused classrooms')),
+ 'helyettesites' => array(array('txt' => 'Substitutions')),
+ 'munkaterv' => array(array('txt' => 'Yearly workplan')),
+ 'tankorCsoport' => array(array('txt' => 'Studygroups arrays (...)')),
+ 'tankorBlokk' => array(array('txt' => 'Studygroup blocks')),
+ 'orarendTankor' => array(array('txt' => 'Timetable-studygroup organizer')),
+ 'orarendUtkozes' => array(array('txt' => 'Timetable collision')),
+ 'orarendLoad' => array(array('txt' => 'Timetable loader')),
+ 'fogadoOra' => array(array('txt' => 'PTA')),
+ 'tanarOrarend' => array(array('txt' => 'Summarized teacher\'s timetable')),
+ // 'intezmeny' => array(array('txt' => 'Institution chooser', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas')),
+ );
+ $MENU['modules']['naplo']['sub']['intezmeny'] = array(
+ 'valtas' => array(array('txt' => 'Change institution')),
+ 'osztaly' => array(array('txt' => 'Classes')),
+ 'diak' => array(array('txt' => 'Students')),
+ 'tanar' => array(array('txt' => 'Teachers')),
+ 'munkakozosseg' => array(array('txt' => 'Associations')),
+ 'tankor' => array(array('txt' => 'Studygroups')),
+ 'tankorTanar' => array(array('txt' => 'Stygroup teachers')),
+ 'tankorDiak' => array(array('txt' => 'Studygroup students')),
+ 'diakTankor' => array(array('txt' => 'Student\'s studygroups')),
+ 'diakTankorJelentkezes' => array(array('txt' => 'Studygroup application')),
+ 'tankorSzemeszter' => array(array('txt' => 'Studygroup\' timetable')),
+ );
+ $MENU['modules']['naplo']['sub']['admin'] = array(
+ 'intezmenyek' => array(array('txt' => 'Institutions')),
+ 'tanevek' => array(array('txt' => 'Schoolyears')),
+ 'szemeszterek' => array(array('txt' => 'Terms')),
+ 'import' => array(array('txt' => 'Import')),
+ 'azonositok' => array(array('txt' => 'Generate ID')),
+ );
+ }
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/module-portal.php b/mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/module-portal.php
new file mode 100644
index 00000000..99bbbd13
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/menu/private/en_US/module-portal.php
@@ -0,0 +1,14 @@
+<?php
+
+ if (defined('__HIREKADMIN') && __HIREKADMIN) {
+ $MENU['portal'] = array(array('txt' => 'News', 'url' => 'index.php?page=portal&sub=hirek&f=hirekAdmin'));
+ $MENU['modules']['portal']['hirek'] = array(
+ array('txt' => 'Edit news', 'url' => 'index.php?page=portal&sub=hirek&f=hirekAdmin'),
+// array('txt' => 'News', 'url' => 'index.php?page=portal&sub=hirek&f=hirek'),
+ array('txt' => 'New post', 'url' => 'index.php?page=portal&sub=hirek&f=egyhir'),
+ array('txt' => 'New poll', 'url' => 'index.php?page=portal&sub=kerdoiv&f=kerdoivAdmin')
+ );
+ } else {
+ $MENU['portal'] = array(array('txt' => 'Submit news', 'url' => 'index.php?page=portal&sub=hirek&f=egyhir'));
+ }
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/base.php b/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/base.php
new file mode 100644
index 00000000..6a3fe1a1
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/base.php
@@ -0,0 +1,37 @@
+<?php
+
+ $MENU = array(
+ 'home'=>array(),
+ 'session'=>array(),
+ 'naplo'=>array(),
+ 'portal'=>array(),
+ 'felveteli'=>array(),
+ 'forum'=>array(),
+ 'auth'=>array(),
+
+ );
+
+ if (defined('_SESSIONID') and _SESSIONID != '') {
+ $MENU['session'] = array(
+ array('txt' => 'Sign out', 'url' => 'index.php?page=session&f=logout')
+ );
+ }
+ $MENU['home'] = array(
+ array('txt' => 'Home', 'url' => 'index.php')
+ );
+ $MENU['auth'] = array(
+ array('txt' => 'Parent login', 'url' => 'index.php?page=auth&f=login&toPolicy=parent'),
+ array('txt' => 'Log in', 'url' => 'index.php?page=auth&f=login&toPolicy=private')
+ );
+ $MENU['modules']['auth']['login'] = array(
+ array('txt' => 'Forum login', 'url' => 'index.php?page=auth&f=login&toPolicy=public&toPSF=forum::forum'),
+ array('txt' => 'Parent login', 'url' => 'index.php?page=auth&f=login&toPolicy=parent'),
+ array('txt' => 'Protected pages','url' => 'index.php?page=auth&f=login&toPolicy=private'),
+// array('txt' => 'Registration','url' => 'index.php?page=session&f=createAccount&toPolicy=parent')
+ );
+// $MENU['modules']['session']['createAccount'] = array(
+// array('txt' => 'Parent registration', 'url' => 'index.php?page=session&f=createAccount&toPolicy=parent'),
+// array('txt' => 'Forum registration', 'url' => 'index.php?page=session&f=createAccount&toPolicy=public'),
+// );
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-felveteli.php b/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-felveteli.php
new file mode 100644
index 00000000..2e49ba86
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-felveteli.php
@@ -0,0 +1,22 @@
+<?php
+
+ $MENU['felveteli'] = array(
+ array('txt' => 'Entrance proceedings', 'url' => 'index.php?page=felveteli&f=felveteli')
+ );
+
+
+ $MENU['modules']['felveteli']['felveteli'] = array(
+ array('txt' => 'Important informations', 'url' => 'index.php?page=felveteli&f=felveteli'),
+ array('txt' => 'Handout of Entrance process', 'url' => 'index.php?page=felveteli&sub=&f=szobeli'),
+ array('txt' => 'Application info', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=1'),
+ );
+ $MENU['modules']['felveteli']['felveteli/20082009'] = array(
+ array('txt' => '1.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=1'),
+ array('txt' => '2.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=2'),
+ array('txt' => '3.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=3'),
+ array('txt' => '4.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=4'),
+ array('txt' => '5.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=5'),
+ array('txt' => '6.', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=6'),
+ );
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-forum.php b/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-forum.php
new file mode 100644
index 00000000..df918628
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-forum.php
@@ -0,0 +1,17 @@
+<?php
+
+ if (defined('_SESSIONID') and _SESSIONID != '') {
+ $MENU['session'] = array(
+ array('txt' => 'Log out', 'url' => 'index.php?page=session&f=logout')
+ );
+ }
+ $MENU['forum'] = array(
+ array('txt' => 'Forum', 'url' => 'index.php?page=forum&f=forum')
+ );
+ $MENU['modules']['forum']['forum'] = array(
+ array('txt' => 'Forum', 'url' => 'index.php?page=forum&f=forum'),
+ array('txt' => 'Log in', 'url' => 'index.php?page=auth&f=login&toPSF=forum::forum&toPolicy=public'),
+ array('txt' => 'Registration', 'url' => 'index.php?page=session&f=createAccount&toPolicy=public&toPSF=forum::forum')
+ );
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-keptar.php b/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-keptar.php
new file mode 100644
index 00000000..32d9a47e
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-keptar.php
@@ -0,0 +1,16 @@
+<?php
+
+// $MENU['keptar'] = array(
+// array('txt' => 'Gallery', 'url' => 'index.php?page=keptar&f=keptar')
+// );
+
+// $MENU['modules']['keptar']['uncat'] = array(
+// array('txt' => 'Uncategorized pictures', 'url' => 'index.php?page=keptar&f=uncat')
+// );
+
+// $MENU['modules']['session']['createAccount'] = array(
+// array('txt' => 'Parents registration', 'url' => 'index.php?page=session&f=createAccount&toPolicy=parent'),
+// array('txt' => 'Forum registration', 'url' => 'index.php?page=session&f=createAccount&toPolicy=public'),
+// );
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-naplo.php b/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-naplo.php
new file mode 100644
index 00000000..adf08617
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-naplo.php
@@ -0,0 +1,13 @@
+<?php
+/*
+ module: naplo
+*/
+
+ $MENU['naplo'] = array(array('txt' => 'Timetable', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'));
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => 'Timetable', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'),
+ array('txt' => 'Unused classrooms', 'url' => 'index.php?page=naplo&sub=tanev&f=szabadTerem'),
+ array('txt' => 'Substitution', 'url'=>'index.php?page=naplo&sub=tanev&f=helyettesites')
+ );
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-portal.php b/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-portal.php
new file mode 100644
index 00000000..5d4f1dc3
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/include/menu/public/en_US/module-portal.php
@@ -0,0 +1,49 @@
+<?php
+/*
+ module: naplo
+*/
+ $MENU['portal'] = array(array('txt' => 'Fellowship, introduction, accessibility', 'url' => 'index.php?page=portal&sub=info&f=info'));
+
+ $MENU['modules']['portal']['info'] = array(array('txt' => 'Means of contact', 'url' => 'index.php?page=portal&sub=info&f=info'));
+ $MENU['modules']['portal']['diaksag'] = array(array('txt' => 'Student life', 'url' => 'index.php?page=portal&sub=diaksag&f=vmgmix'));
+ $MENU['modules']['portal']['dok'] = array(array('txt' => 'Student autonomy', 'url' => 'index.php?page=portal&sub=dok&f=diakkepviselok'));
+ $MENU['modules']['portal']['bemutatkozas'] = array(array('txt' => 'Introduction', 'url' => 'index.php?page=portal&sub=bemutatkozas&f=konyvtar'));
+ $MENU['modules']['portal']['oktatas'] = array(array('txt' => 'Education 2008', 'url' => 'index.php?page=portal&sub=oktatas&f=zenetortenet2008'));
+ $MENU['modules']['portal']['szmsz'] = array(array('txt' => 'Regulations', 'url' => 'index.php?page=portal&sub=szmsz&f=tartalom'));
+ $MENU['modules']['portal']['pepo'] = array(array('txt' => 'Educational program', 'url' => 'index.php?page=portal&sub=pepo&f=tartalom'));
+ $MENU['modules']['portal']['hazirend'] = array(array('txt' => 'Policy', 'url' => 'index.php?page=portal&sub=hazirend&f=hazirend2005'));
+ $MENU['modules']['portal']['sub']['bemutatkozas'][] = array(
+ array('txt' => 'Library', 'url' => 'index.php?page=portal&sub=bemutatkozas&f=konyvtar')
+ );
+ $MENU['modules']['portal']['sub']['pepo'][] = array(
+ array('txt' => 'Contents', 'url' => 'index.php?page=portal&sub=pepo&f=tartalom'),
+ array('txt' => '2. chapter', 'url' => 'index.php?page=portal&sub=pepo&f=2'),
+ array('txt' => '3. chapter', 'url' => 'index.php?page=portal&sub=pepo&f=3'),
+ array('txt' => '4. chapter', 'url' => 'index.php?page=portal&sub=pepo&f=4'),
+ array('txt' => '5. chapter', 'url' => 'index.php?page=portal&sub=pepo&f=5'),
+ array('txt' => '6. chapter', 'url' => 'index.php?page=portal&sub=pepo&f=6'),
+ array('txt' => '7. chapter', 'url' => 'index.php?page=portal&sub=pepo&f=7'),
+ array('txt' => '8. chapter', 'url' => 'index.php?page=portal&sub=pepo&f=8'),
+ );
+ $MENU['modules']['portal']['sub']['szmsz'][] = array(
+ array('txt' => 'Contents', 'url' => 'index.php?page=portal&sub=szmsz&f=tartalom'),
+ array('txt' => '2. chapter', 'url' => 'index.php?page=portal&sub=szmsz&f=2'),
+ array('txt' => '3. chapter', 'url' => 'index.php?page=portal&sub=szmsz&f=3'),
+ array('txt' => '4. chapter', 'url' => 'index.php?page=portal&sub=szmsz&f=4'),
+ array('txt' => '5. chapter', 'url' => 'index.php?page=portal&sub=szmsz&f=5'),
+ );
+ $MENU['modules']['portal']['sub']['diaksag'][] = array(
+ array('txt' => 'VMG-mix (by Balázs Alpár and Ábel Bartos)', 'url' => 'index.php?page=portal&sub=diaksag&f=vmgmix'),
+ );
+ $MENU['modules']['portal']['sub']['oktatas'][] = array(
+ array('txt' => 'History of music course 2008', 'url' => 'index.php?page=portal&sub=oktatas&f=zenetortenet2008'),
+ array('txt' => 'English translation competition', 'url' => 'index.php?page=portal&sub=oktatas&f=angol2008'),
+ );
+ $MENU['modules']['portal']['sub']['oktatas/angol'][] = array(
+ array('txt' => 'Tunes', 'url' => 'index.php?page=portal&sub=oktatas/angol&f=dalok'),
+ array('txt' => 'Lyrics translations', 'url' => 'index.php?page=portal&sub=oktatas/angol&f=sting'),
+ array('txt' => 'Harry Potter', 'url' => 'index.php?page=portal&sub=oktatas/angol&f=ph7'),
+ array('txt' => 'Christofer Whyte', 'url' => 'index.php?page=portal&sub=oktatas/angol&f=christoferwhyte'),
+ );
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/backend/ldap/attrs.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/backend/ldap/attrs.php
new file mode 100644
index 00000000..b97cfd4e
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/backend/ldap/attrs.php
@@ -0,0 +1,59 @@
+<?php
+ define('_LDAP_USERACCOUNT','User Account');
+ define('_LDAP_USERCN','Name');
+ define('_YEAR','year');
+ define('_MONTH','month');
+ define('_DAY','day');
+ define('_FIU','male');
+ define('_LANY','female');
+ define('_LDAPDN','LDAP Dn');
+ define('_LDAPUID','LDAP ID');
+ define('_LDAPUIDNUMBER','LDAP User ID Number');
+ define('_LDAPGIDNUMBER','LDAP Group ID Number');
+ define('_LDAPGECOS','LDAP Gecos');
+ define('_LDAPCN','LDAP Full Name');
+ define('_LDAPSTUDYID','LDAP Educational ID');
+ define('_LDAPSN','LDAP Surname');
+ define('_LDAPGIVENNAME','LDAP First Name');
+ define('_LDAPMAIL','LDAP Email');
+ define('_LDAPHOMEPAGE','LDAP Homepage');
+ define('_LDAPURL','LDAP url');
+ define('_LDAPTELEPHONENUMBER','LDAP Phone Number');
+ define('_LDAPMOBILE','LDAP Mobile Number');
+ define('_LDAPYEAR','LDAP Year');
+ define('_LDAPCLASS','LDAP Class');
+ define('_LDAPL','LDAP City');
+ define('_LDAPSTREET','LDAP Street');
+ define('_LDAPPOSTALADDRESS','LDAP Postal Address');
+ define('_LDAPPOSTALCODE','LDAP Postal Code');
+ define('_LDAPHOMEDIRECTORY','LDAP Home Directory');
+ define('_LDAPLEADER','LDAP Leader');
+ define('_LDAPDESCRIPTION','LDAP Description');
+ define('_LDAPROOMNUMBER','LDAP Room Number');
+ define('_LDAPREGISTERTIMESTAMP','LDAP Date of Registration');
+ define('_LDAPPRIMARYSCHOOLOMCODE','LDAP MoE Code');
+ define('_LDAPCLASSTIMESTAMP','LDAP ');
+ define('_LDAPSTUDENTCARDNUMBER','LDAP Student\'s card Number');
+ define('_LDAPSTUDENTCARDTIMESTAMP','LDAP Student\'s card Date');
+ define('_LDAPTAXID','LDAP Tax ID');
+ define('_LDAPBIRTHTIMESTAMP','LDAP Date of Birth');
+ define('_LDAPBIRTHLOCALITY','LDAP City of Birth');
+ define('_LDAPREGISTERNUMBER','LDAP Registration Number');
+ define('_LDAPDIARYNUMBER','LDAP Register Number');
+ define('_LDAPSEX','LDAP Sex');
+ define('_LDAPGUARDIANCN','LDAP Guardian\'s name');
+ define('_LDAPMOTHERCN','LDAP mother\'s name');
+ define('_LDAPLOCALITYTIMESTAMP','LDAP address\' date');
+ define('_LDAPTAJNUMBER','LDAP Social Security Number');
+ define('_LDAPMEMBER','LDAP Member');
+ define('_LDAPSTUDENTMEMBER','LDAP Student Number');
+ define('_LDAPEXEMPTMEMBER','LDAP Exempt Member');
+ define('_LDAPEXAMERMEMBER','LDAP examinee');
+ define('_LDAPMEMBERUID','LDAP Member UID');
+ define('_LDAPSHADOWLASTCHANGE','LDAP shadow last change');
+ define('_LDAPSHADOWEXPIRE','LDAP shadow expire');
+ define('_LDAPSHADOWWARNING','LDAP shadow warning');
+ define('_LDAPSHADOWMIN','LDAP shadow minimum time');
+ define('_LDAPSHADOWMAX','LDAP shadow maximum time');
+ define('_LDAPSHADOWINACTICE','LDAP shadow inactive');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/backend/mysql/attrs.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/backend/mysql/attrs.php
new file mode 100644
index 00000000..f791dc27
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/backend/mysql/attrs.php
@@ -0,0 +1,19 @@
+<?php
+ define('_MYSQLUID','ID number');
+ define('_MYSQLPOLICY','permission');
+ define('_MYSQLCN','user name');
+ define('_MYSQLSTUDYID','Student ID');
+ define('_MYSQLMAIL','e-mail');
+ define('_MYSQLTELEPHONENUMBER','telephone');
+ define('_MYSQLUSERPASSWORD','password');
+ define('_MYSQLSHADOWLASTCHANGE','last change');
+ define('_MYSQLSHADOWEXPIRE','password expires');
+ define('_MYSQLSHADOWWARNING','password alert');
+ define('_MYSQLSHADOWMIN','minimum time');
+ define('_MYSQLSHADOWMAX','maximum time');
+ define('_MYSQLSHADOWINACTICE','inactive');
+ define('_MYSQLGID','MySQL group ID number');
+ define('_MYSQLGROUPDESC','MySQL groupname');
+ define('_MYSQLGROUPCN','MySQL group ID');
+ define('_MYSQLMEMBER','MySQL group member');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/base/base.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/base/base.php
new file mode 100644
index 00000000..70ca2590
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/base/base.php
@@ -0,0 +1,18 @@
+<?php
+ define('_MAIN_TITLE','MaYoR - 3.00');
+ define('_MAIN_FOOTER','MaYoR © 2002-2007');
+ define('_TANAR','teacher');
+ define('_DIAK','student');
+ define('_TITKARSAG','secretariat');
+ define('_GAZDASAGI','financial office');
+ define('_EGYEB','other');
+ define('_ERROR','Error');
+ define('_INFORMATION','Information');
+ define('_CONTROL_FLAG_REQUIRED','Login required');
+ define('_CONTROL_FLAG_OPTIONAL','Login optional');
+ define('_PRIVATE_PASSWORD','Password');
+ define('_PARENT_PASSWORD','Parents\' Password');
+ define('_PUBLIC_PASSWORD','Public Password');
+ define('_MAYOR_DESC','MaYoR electronic administration and registry.');
+ define('_HELP','Help');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/date/names.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/date/names.php
new file mode 100644
index 00000000..ab668efd
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/date/names.php
@@ -0,0 +1,21 @@
+<?php
+ define('_MONDAY','Monday');
+ define('_TUESDAY','Tuesday');
+ define('_WEDNESDAY','Wednesday');
+ define('_THURSDAY','Thursday');
+ define('_FRIDAY','Friday');
+ define('_SATURDAY','Saturday');
+ define('_SUNDAY','Sunday');
+ define('_JANUARY','January');
+ define('_FEBRUARY','February');
+ define('_MARCH','March');
+ define('_APRIL','April');
+ define('_MAY','May');
+ define('_JUNE','June');
+ define('_JULY','July');
+ define('_AUGUSTUS','August');
+ define('_SEPTEMBER','September');
+ define('_OCTOBER','October');
+ define('_NOVEMBER','November');
+ define('_DECEMBER','December');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-auth/login.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-auth/login.php
new file mode 100644
index 00000000..f161da3f
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-auth/login.php
@@ -0,0 +1,5 @@
+<?php
+ define('_GREETING','MaYoR Login');
+ define('_LOGIN','Login');
+ define('_USERNAME','Username');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-felveteli/base.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-felveteli/base.php
new file mode 100644
index 00000000..da7e4283
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-felveteli/base.php
@@ -0,0 +1,17 @@
+<?php
+ define('_NEV','Name');
+ define('_OKTID','Educational ID');
+ define('_LEKERDEZES','Query');
+ define('_LEKERDEZ','Execute');
+ define('_ADATOK','Details');
+ define('_AN','Mother\'s name');
+ define('_CIM','Residence');
+ define('_ERTESITESI_CIM','Postal adress');
+ define('_SZULETETT','Born');
+ define('_HIBAS_HIANYOS_ADAT','Missing or faulty data!');
+ define('_BIZOTTSAG','Comittee');
+ define('_PLEASE_WAIT','Please wait...');
+ define('_BEHIVOTTAK','List of the selected students');
+ define('_HIBAS','Error!');
+ define('_NINCS_BEHIVVA','Not selected');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-forum/base.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-forum/base.php
new file mode 100644
index 00000000..0328373d
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-forum/base.php
@@ -0,0 +1,8 @@
+<?php
+ define('_TEMA','Topic');
+ define('_LAPOZO','Page');
+ define('_LASTUNAME','Last post by');
+ define('_DB','Replies');
+ define('_LASTDT','When');
+ define('_OK','Send');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-honosito/alert.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-honosito/alert.php
new file mode 100644
index 00000000..ea26e29a
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-honosito/alert.php
@@ -0,0 +1,11 @@
+<?php
+ define('_UZENETEK_FORDITASA','Warnings and error messages');
+ define('_ALERT','Message');
+ define('_FORDITANDO','Text to be translated');
+ define('_FORDITAS','Translation');
+ define('_VISSZA','<< back');
+ define('_NYELVVALASZTO','Select language');
+ define('_FILE_LISTA','List of files to be translated');
+ define('_VALASZTOTT_NYELV','Selected language');
+ define('_OK','ok');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-honosito/menu.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-honosito/menu.php
new file mode 100644
index 00000000..f24552c9
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-honosito/menu.php
@@ -0,0 +1,12 @@
+<?php
+ define('_MENU_FORDITASA','Menu translation');
+ define('_KONSTANS','Constant');
+ define('_FORDITANDO','Text to be translated');
+ define('_FORDITAS','Translation');
+ define('_VISSZA','<< back');
+ define('_NYELVVALASZTO','Select language');
+ define('_FILE_LISTA','List of files to be translated');
+ define('_VALASZTOTT_NYELV','Selected language');
+ define('_OK','ok');
+ define('_MENU_ALERT','Warning!!! When translating the menus you have to fill in all lines with different texts, otherwise the translation will not be shown correctly!!');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-honosito/text.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-honosito/text.php
new file mode 100644
index 00000000..cce9c780
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-honosito/text.php
@@ -0,0 +1,11 @@
+<?php
+ define('_SZOVEGEK_FORDITASA','Text translation');
+ define('_KONSTANS','Constants');
+ define('_FORDITANDO','Text to translate');
+ define('_FORDITAS','Translation');
+ define('_VISSZA','&lt;&lt; back');
+ define('_NYELVVALASZTO','Choose language');
+ define('_FILE_LISTA','File List');
+ define('_VALASZTOTT_NYELV','Chosen Language');
+ define('_OK','ok');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-keptar/keptar.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-keptar/keptar.php
new file mode 100644
index 00000000..150d3a06
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-keptar/keptar.php
@@ -0,0 +1,4 @@
+<?php
+ define('_TOVABB','Next');
+ define('_VISSZA','Back');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/azonositok.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/azonositok.php
new file mode 100644
index 00000000..da781ef2
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/azonositok.php
@@ -0,0 +1,7 @@
+<?php
+ define('__PAGETITLE','Generate ID');
+ define('_NEV','Name');
+ define('_AZONOSITO','ID');
+ define('_JELSZO','Initial password');
+ define('_OID','Educational ID');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/csoportok.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/csoportok.php
new file mode 100644
index 00000000..74ebdf13
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/csoportok.php
@@ -0,0 +1,9 @@
+<?php
+ define('__PAGETITLE','Administrate group');
+ define('_CSOPORT_MODOSITAS','Modify group');
+ define('_CSOPORT_TORLESE','Delete group');
+ define('_TOROL','Delete');
+ define('_UJ_CSOPORT','Add new group');
+ define('_BIZTOS_E','Are you sure you would like to delete the group?');
+ define('_CSOPORT_NEVE','Name of the group');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/intezmenyek.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/intezmenyek.php
new file mode 100644
index 00000000..a39b9db9
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/intezmenyek.php
@@ -0,0 +1,12 @@
+<?php
+ define('_UJ_INTEZMENY','Add new institute');
+ define('_INTEZMENY_MODOSITAS','Modify institute\'s detail');
+ define('_INTEZMENY_TORLES','Delete institute');
+ define('_ALAPERTELMEZETT','Default');
+ define('_ADATBAZISOK_TORLESE','Delete databases');
+ define('_TORLES','Delete');
+ define('_OMKOD','OM ID');
+ define('_ROVIDNEV','short ID');
+ define('_NEV','Name of the institute');
+ define('_OK','OK');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/szemeszterek.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/szemeszterek.php
new file mode 100644
index 00000000..22dc1576
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/szemeszterek.php
@@ -0,0 +1,9 @@
+<?php
+ define('__PAGETITLE','Term details');
+ define('_IDOSZAKOK','Intervals');
+ define('_UJ_IDOSZAK','New interval');
+ define('_TOLDT','from-to');
+ define('_IGDT','-');
+ define('_TIPUS','type');
+ define('_TORLENDO','To be deleted');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/tanevek.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/tanevek.php
new file mode 100644
index 00000000..39861d1e
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/tanevek.php
@@ -0,0 +1,12 @@
+<?php
+ define('_UJ_TANEV','Add new school-year');
+ define('_TANEV_JELE','Symbol of school-year (starting year of the school-year)');
+ define('_SZEMESZTER','semester');
+ define('_TANEV_SZEMESZTEREI','School-year\'s semesters');
+ define('_TANEV_AKTIVALAS','Open school-year');
+ define('_AKTIVAL','Open');
+ define('_TANEV_LEZARAS','Close school-year');
+ define('_LEZAR','Close');
+ define('_TOROL','Delete');
+ define('_OK','OK');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/tankorok.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/tankorok.php
new file mode 100644
index 00000000..f9062283
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/admin/tankorok.php
@@ -0,0 +1,3 @@
+<?php
+ define('_FIELDSELECTMESSAGE','The file you would like to submit may contain subjectID and subjectName fields too (If you add new study group it is necessary to have one of them!). If a line contains both of them we use the subjectID only.');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/base.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/base.php
new file mode 100644
index 00000000..b8a17ff3
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/base.php
@@ -0,0 +1,19 @@
+<?php
+ define('__MUNKAKOZOSSEGSELECTTITLE','department');
+ define('__TARGYSELECTTITLE','subject');
+ define('__INTEZMENYSELECTTITLE','school');
+ define('__TANEVSELECTTITLE','school year');
+ define('__TABLESELECTTITLE','sql-table');
+ define('__OSZTALYSELECTTITLE','class');
+ define('__TANARSELECTTITLE','teacher');
+ define('__DIAKSELECTTITLE','student');
+ define('__TANKORSELECTTITLE','studygroup');
+ define('__DATUMSELECTTITLE','date');
+ define('__DATUMTOLIGSELECTTITLE','date');
+ define('__ORASELECTTITLE','lesson');
+ define('__TEREMSELECTTITLE','room');
+ define('__ORARENDIHETSELECTTITLE','week');
+ define('_OK','ok');
+ define('_DELETE','delete');
+ define('_ORA','lesson');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/bejegyzesek/bejegyzesek.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/bejegyzesek/bejegyzesek.php
new file mode 100644
index 00000000..488f26ea
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/bejegyzesek/bejegyzesek.php
@@ -0,0 +1,6 @@
+<?php
+ define('__PAGETITLE','Entry');
+ define('_UZENET','Message');
+ define('_TOROL','Delete');
+ define('_UJBEJEGYZES','New entry');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/bejegyzesek/ujBejegyzes.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/bejegyzesek/ujBejegyzes.php
new file mode 100644
index 00000000..dcf5afd4
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/bejegyzesek/ujBejegyzes.php
@@ -0,0 +1,7 @@
+<?php
+ define('__PAGETITLE','New entry');
+ define('_UZENET','Message');
+ define('_ROGZIT','Submit');
+ define('_MEGJEGYZES','Comment');
+ define('_BEJEGYZESEK','Entry');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/bejegyzesek/uj_bejegyzes.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/bejegyzesek/uj_bejegyzes.php
new file mode 100644
index 00000000..f889585a
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/bejegyzesek/uj_bejegyzes.php
@@ -0,0 +1,15 @@
+<?php
+ define('_UJ_BEJEGYZES','New entry');
+ define('_UZENET','Message');
+ define('_ROGZIT','Submit');
+ define('_MEGJEGYZES','Comment');
+ define('_TANKOR','Study group');
+ define('_DATUM','Date');
+ define('_TANAR','Teacher');
+ define('_ORASZAM','Number of lessons');
+ define('_TANANYAG','Material');
+ define('_IDOSZAK','Period');
+ define('_HALADASI_NAPLO','Progress register');
+ define('_BEJELENTETT_DOLGOZAT','Announced Test');
+ define('_BEJELENTVE','Announced ');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/diakValaszto.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/diakValaszto.php
new file mode 100644
index 00000000..7dc132a6
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/diakValaszto.php
@@ -0,0 +1,3 @@
+<?php
+ define('__PAGETITLE','Student selector');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/elmaradas.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/elmaradas.php
new file mode 100644
index 00000000..37d6b7bc
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/elmaradas.php
@@ -0,0 +1,4 @@
+<?php
+ define('_LEZART','Closed');
+ define('_BEIRANDO','to be registered');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/elszamolas.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/elszamolas.php
new file mode 100644
index 00000000..d9fc4440
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/elszamolas.php
@@ -0,0 +1,8 @@
+<?php
+ define('__PAGETITLE','Payoff');
+ define('_HETI_ORASZAM','Number of lessons per week');
+ define('_TIK','Timeframe of teaching');
+ define('_TIK_TITLE','(number of workdays + number of special workdays)*(number of lessons per week / 5)');
+ define('_TM','Progress statistic');
+ define('_TM_TITLE','Number of all given lessons - tot');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/haladasi.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/haladasi.php
new file mode 100644
index 00000000..341e852a
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/haladasi.php
@@ -0,0 +1,19 @@
+<?php
+ define('__PAGETITLE','Progress register');
+ define('_DATUM','Date');
+ define('_ORA','Lesson');
+ define('_TANKOR','Study group');
+ define('_TANAR','Teacher');
+ define('_ORASZAM','Number of lessons');
+ define('_TANANYAG','Material');
+ define('_IDOSZAK','term');
+ define('_HALADASI_NAPLO','Progress register');
+ define('_BEJELENTETT_DOLGOZAT','Announced test');
+ define('_BEJELENTVE','announced');
+ define('_MODOSIT','modify');
+ define('_ROGZIT','save');
+ define('_NINCS_BEIRVA','is not registered');
+ define('_HIANYZOK','missing pupils');
+ define('_HET','week');
+ define('_NINCS_ORAJA','No lessons announced for this day (yet).');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/helyettesites.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/helyettesites.php
new file mode 100644
index 00000000..9146bfd5
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/helyettesites.php
@@ -0,0 +1,18 @@
+<?php
+ define('_HELYETTESITES','Substitution');
+ define('__PAGETITLE','Substitutions');
+ define('_DATUM_VALASZTAS','Date selection');
+ define('_HIANYZO_TANAROK','Missing teachers');
+ define('_ORA','lesson');
+ define('_VISSZAALLIT','restore');
+ define('_KEZI_BEALLITAS','Manual modification');
+ define('_ORA_MOZGATAS','Move lesson');
+ define('_MOZGATANDO','Lesson to be moved');
+ define('_UJ_IDOPONT','New date');
+ define('_CSERELENDO','Lesson to be exchanged');
+ define('_ORA_CSERE','Lesson exchange');
+ define('_CSERE_ATTEKINTES','Overview of exchanges/moves');
+ define('_MIT','Moved lesson');
+ define('_HONNAN','From');
+ define('_HOVA','To');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/osszevonas.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/osszevonas.php
new file mode 100644
index 00000000..5aabad74
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/osszevonas.php
@@ -0,0 +1,12 @@
+<?php
+ define('_EREDET','Source');
+ define('_PLUSZ','plus lesson');
+ define('_ORAREND','timetable lesson');
+ define('_ORA_FELVETELE','Add lesson');
+ define('_ORA_FELVETELE_CONFIRM','Are you sure?');
+ define('_ORAI','\'s lessons');
+ define('_OSZTALY','class');
+ define('_ORA','lesson');
+ define('_TORLENDOK','The merging will cause the following lessons not to be held');
+ define('__PAGETITLE','Merging');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/pluszora.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/pluszora.php
new file mode 100644
index 00000000..71a860d3
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/pluszora.php
@@ -0,0 +1,10 @@
+<?php
+ define('_EREDET','Source');
+ define('_PLUSZ','Plus lesson');
+ define('_ORAREND','timetable lesson');
+ define('_ORA_FELVETELE','Add lesson');
+ define('_ORAI','\'s lessons');
+ define('_OSZTALY','class');
+ define('_ORA','lesson');
+ define('__PAGETITLE','Add plus lesson');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/specialis.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/specialis.php
new file mode 100644
index 00000000..07d128f0
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/specialis.php
@@ -0,0 +1,20 @@
+<?php
+ define('_NAP_TIPUSA','Type of the day');
+ define('_ORAK_TORLESE','Set with deleting the lessons');
+ define('_TORLES_BIZTOS_E','Are you sure you would like to delete all the lessons of the day?');
+ define('_ORAK_BETOLTESE','Load timetable lessons');
+ define('_ORARENDIHET','Timetable week');
+ define('_BETOLTES_BIZTOS_E','Are you sure you would like to load the timetable lessons and set the day to workday?');
+ define('_FOGLALT_SAVOK_TORLESE','Delete occupied records');
+ define('_TORLENDO','To be deleted');
+ define('_FOGLALT_ORA','Occupied record');
+ define('_TORLES','Delete!');
+ define('_ORA_TORLES_BIZTOS_E','Are you sure you would like to delete permanently the lessons of the selected records?');
+ define('_HET','week');
+ define('_NAP','day');
+ define('_OK','OK');
+ define('_SZABAD_ORA','free record');
+ define('_ORA','lesson');
+ define('_SPECIALIS_NAP','Compose specially timetabled day');
+ define('_ORAREND_OSSZEALLITASA','Compose timetable');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/stat.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/stat.php
new file mode 100644
index 00000000..e075b59e
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/haladasi/stat.php
@@ -0,0 +1,8 @@
+<?php
+ define('__PAGETITLE','Progress register statistics');
+ define('_TANKORNEV','Study group');
+ define('_MEGTARTOTT_ORASZAM','Held');
+ define('_BECSULT_HATRALEVO_ORASZAM','Estimated remaining');
+ define('_BECSULT_OSSZES_ORASZAM','Estimated all');
+ define('_TERVEZETT_ORASZAM','Planned');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/diak.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/diak.php
new file mode 100644
index 00000000..2e5df8d8
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/diak.php
@@ -0,0 +1,6 @@
+<?php
+ define('__PAGETITLE','Monthly absences');
+ define('_IGAZOLATLAN','Uncertified absence');
+ define('_MARNEMIGAZOLHATO','No longer certifiable absence');
+ define('_BEIRHATO','Registrable');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/nap.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/nap.php
new file mode 100644
index 00000000..47504b08
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/nap.php
@@ -0,0 +1,12 @@
+<?php
+ define('__PAGETITLE','Student\'s daily absences');
+ define('_IGAZOLATLAN','Uncertified');
+ define('_TANKOR','Studygroup');
+ define('_J','P');
+ define('_K','L');
+ define('_H','M');
+ define('_F','Me');
+ define('_FM','A');
+ define('_IGAZOLT','Certified');
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/ora.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/ora.php
new file mode 100644
index 00000000..9371dbba
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/ora.php
@@ -0,0 +1,15 @@
+<?php
+ define('__PAGETITLE','Missing from class');
+ define('_IGAZOLATLAN','Uncertified');
+ define('_ADOTT_NAP','the Day');
+ define('_NEV_OSZTALY','Name, Class');
+ define('_J','P');
+ define('_K','L');
+ define('_H','M');
+ define('_F','Me');
+ define('_FM','A');
+ define('_IGAZOLT','Certified');
+
+
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/osztaly.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/osztaly.php
new file mode 100644
index 00000000..31d9cd8d
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hianyzas/osztaly.php
@@ -0,0 +1,27 @@
+<?php
+ define('__PAGETITLE','Absences in class');
+ define('_NEV','Name');
+ define('_OSSZES','All');
+ define('_LEZART','Closed');
+ define('_IGAZOLHATO','Certifiable');
+ define('_FEGYELMI_UTANI','After disciplinary hearing');
+ define('_FEGYELMI_FOKOZATOK','Disciplinary level');
+ define('_HIANYZAS','Absence');
+ define('_HIANYZASMENTESNAPOKSZAMA','Number of days without absencies');
+ define('_KESES','Late');
+ define('_AKTUALIS_FOKOZAT','Written in');
+ define('_BEIRANDO_FOKOZAT','Suggested');
+ define('_FELSZERELES_HIANY','Missing equipment');
+ define('_FELMENTES','Acquittance');
+ define('_K','L');
+ define('_H','M');
+ define('_FSZ','ME');
+ define('_FM','A');
+ define('_O','All');
+ define('_OSSZES_IGAZOLATLAN','All uncertified absences taken into account in the disciplinary level');
+ define('_SAVE','save');
+ define('_REFERENCIADT','Date of last absence that was counted in the last disciplinary level.');
+ define('_OSSZES','All');
+ define('_IGAZOLT','Certified');
+ define('_IGAZOLATLAN','Uncertified');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hibabejelento/admin.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hibabejelento/admin.php
new file mode 100644
index 00000000..6d1d8072
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hibabejelento/admin.php
@@ -0,0 +1,8 @@
+<?php
+ define('__PAGETITLE','Request handling');
+ define('_LEZARAS','Close');
+ define('_JOVAHAGYAS','Justify');
+ define('_MEGJEGYZES','Comment');
+ define('_ESZREVETEL','Remark / request');
+ define('_SZOVEG','Text of the request...');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hibabejelento/hibabejelento.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hibabejelento/hibabejelento.php
new file mode 100644
index 00000000..4cf15af5
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/hibabejelento/hibabejelento.php
@@ -0,0 +1,5 @@
+<?php
+ define('__PAGETITLE','Error reporting');
+ define('_ESZREVETEL','Remark / request');
+ define('_SZOVEG','Text of the request...');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diak.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diak.php
new file mode 100644
index 00000000..28ed5af3
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diak.php
@@ -0,0 +1,53 @@
+<?php
+ define('__PAGETITLE','Handle students');
+ define('_LEZARAS','Close');
+ define('_JOGVISZONY_VEGE','End of student status');
+ define('_JOGVISZONY_LEZARASA','Close student status');
+ define('_BIZTOS_LEZARJA','Are you sure you want to close the student status of the student?');
+ define('_JOGVISZONY_MEGNYITASA','Open new student status');
+ define('_JOGVISZONY_KEZDETE','Starting date of student status');
+ define('_VEGZO_TANEV','Year of (expected) graduation');
+ define('_VEGZO_SZEMESZTER','Graduating semester');
+ define('_KEZDO_TANEV','School year of enrolment');
+ define('_KEZDO_SZEMESZTER','Semester of enrolment');
+ define('_MEGNYITAS','Open');
+ define('_BIZTOS_MEGNYITJA','Are you sure you want to reopen the legal relation');
+ define('_DIAK_TANULMANYI_ADATOK','Details');
+ define('_MAGANTANULOI_STATUS','Mark as private student');
+ define('_MAGANTANULOI_STATUS_ELETBELEPESE','Date of private student status initialization');
+ define('_BIZTOS_MAGANTANULO_LESZ','Are you sure you want to mark this one as a private student');
+ define('_DIAK_OSZTALYA','Class');
+ define('_DIAK_ADATAI','Sutdent details');
+ define('_DIAK_ALAPADATAI','Student details (base)');
+ define('_DIAK_SZULETESI_ADATAI','Birth details');
+ define('_DIAK_CIM_LAKHELY','Residence');
+ define('_DIAK_CIM_TART','Contact adress');
+ define('_DIAK_ELERHETOSEG','Availability');
+ define('_DIAK_SZULO','Parents');
+ define('_NEV','Name');
+ define('_OID','Education ID');
+ define('_NEM','Sex');
+ define('_DIAKIGAZOLVANYSZAM','Student\'s ID card number');
+ define('_ALLAMPOLGARSAG','Nationality');
+ define('_TAJSZAM','TAJ number');
+ define('_SZULETESKORINEV','Childhood name');
+ define('_SZULETESIHELY','Place of birth');
+ define('_SZULETESIIDO','Time of birth');
+ define('_SZULETES','');
+ define('_ORSZAG','Country');
+ define('_IRSZ','ZIP code');
+ define('_HELYSEG','City');
+ define('_KOZTERULETNEV','District');
+ define('_HAZSZAM','Number');
+ define('_EMELET','Floor');
+ define('_AJTO','Door');
+ define('_EMAIL','E-mail adress');
+ define('_TELEFON','Telephone');
+ define('_MOBIL','Mobile / Cellphone');
+ define('_ANYA','Mother');
+ define('_APA','Father');
+ define('_GONDVISELO','Legal guardian');
+ define('_EXPORT','Export details');
+ define('_UJ_DIAK','Add new student');
+ define('_TERVEZETT_KEZDO_TANEV','Year of (expected) enrolment');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakAdmin.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakAdmin.php
new file mode 100644
index 00000000..815b28be
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakAdmin.php
@@ -0,0 +1,17 @@
+<?php
+ define('__PAGETITLE','Administrate students');
+ define('_LEZARAS','Close');
+ define('_JOGVISZONY_VEGE','End of students status');
+ define('_JOGVISZONY_LEZARASA','Terminate students status');
+ define('_BIZTOS_LEZARJA','Are you sure you want to terminate this pupil\'s student status');
+ define('_JOGVISZONY_MEGNYITASA','Initiate student status');
+ define('_JOGVISZONY_KEZDETE','Starting date of student status');
+ define('_VEGZO_TANEV','Year of (expected) graduation');
+ define('_VEGZO_SZEMESZTER','Finishing semester');
+ define('_MEGNYITAS','Open');
+ define('_BIZTOS_MEGNYITJA','Are you sure you want to reopen this pupil\'s student status');
+ define('_MAGANTANULOI_STATUS','Mark as private student');
+ define('_MAGANTANULOI_STATUS_ELETBELEPESE','Starting of private student status');
+ define('_BIZTOS_MAGANTANULO_LESZ','Are you sure you want to mark this one as private student?');
+ define('_DIAK_ADATAI','Student details');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakExport.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakExport.php
new file mode 100644
index 00000000..18c646f4
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakExport.php
@@ -0,0 +1,55 @@
+<?php
+ define('__PAGETITLE','Export student\'s details');
+ define('_EXPORT','Export details');
+ define('_SZULO_ADATOKKAL','With parents\' details');
+ define('_OSZTALY_ADATOKKAL','With class details');
+ define('_LEZARAS','Close');
+ define('_JOGVISZONY_VEGE','End of legal relation');
+ define('_JOGVISZONY_LEZARASA','Close legal ralation');
+ define('_BIZTOS_LEZARJA','Are you sure you want to close this student\'s legal relation?');
+ define('_JOGVISZONY_MEGNYITASA','Open legal relation');
+ define('_JOGVISZONY_KEZDETE','Starting of legal relation');
+ define('_VEGZO_TANEV','Year of (expected) graduation');
+ define('_VEGZO_SZEMESZTER','Finishing semester');
+ define('_KEZDO_TANEV','Year of enrolment');
+ define('_KEZDO_SZEMESZTER','Semester of enrolment');
+ define('_MEGNYITAS','Open');
+ define('_BIZTOS_MEGNYITJA','Are you sure you want to reopen this one\'s legal relation?');
+ define('_DIAK_TANULMANYI_ADATOK','Academic details');
+ define('_MAGANTANULOI_STATUS','Mark as private student');
+ define('_MAGANTANULOI_STATUS_ELETBELEPESE','Starting of private student status');
+ define('_BIZTOS_MAGANTANULO_LESZ','Are you sure you want to mark this one as private student?');
+ define('_DIAK_OSZTALYA','Class');
+ define('_DIAK_ADATAI','Student details');
+ define('_DIAK_ALAPADATAI','Student details (base)');
+ define('_DIAK_SZULETESI_ADATAI','Details of birth');
+ define('_DIAK_CIM_LAKHELY','Residence');
+ define('_DIAK_CIM_TART','Contact adress');
+ define('_DIAK_ELERHETOSEG','Availability');
+ define('_DIAK_SZULO','Parents');
+ define('_NEV','Name');
+ define('_OID','Education ID');
+ define('_NEM','Sex');
+ define('_DIAKIGAZOLVANYSZAM','Student\'s ID card number');
+ define('_ALLAMPOLGARSAG','Nationality');
+ define('_TAJSZAM','TAJ number');
+ define('_SZULETESKORINEV','Childhood name');
+ define('_SZULETESIHELY','Place of birth');
+ define('_SZULETESIIDO','Time of birth');
+ define('_SZULETES','');
+ define('_ORSZAG','Country');
+ define('_IRSZ','ZIP code');
+ define('_HELYSEG','City');
+ define('_KOZTERULETNEV','District');
+ define('_HAZSZAM','Number');
+ define('_EMELET','Floor');
+ define('_AJTO','Door');
+ define('_EMAIL','E-mail adress');
+ define('_TELEFON','Telephone');
+ define('_MOBIL','Mobile / Cellphone');
+ define('_ANYA','Mother');
+ define('_APA','Father');
+ define('_GONDVISELO','Legal guardian');
+ define('_UJ_DIAK','Add new student');
+ define('_TERVEZETT_KEZDO_TANEV','Year of (expected) enrolment');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakSzulo.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakSzulo.php
new file mode 100644
index 00000000..11cbe199
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakSzulo.php
@@ -0,0 +1,37 @@
+<?php
+ define('__PAGETITLE','Details of the student\'s parents');
+ define('_DIAK_SZULO','Parents');
+ define('_NEV','Name');
+ define('_NEVELOTAG','Name prefix');
+ define('_CSALADINEV','Family name');
+ define('_UTONEV','Last name');
+ define('_NEM','Sex');
+ define('_ALLAMPOLGARSAG','Nationality');
+ define('_SZULOACCOUNT','Parent\'s username');
+ define('_SZULETESKORINEV','Childhood name');
+ define('_SZULETESKORINEVELOTAG','Childhood name prefix');
+ define('_SZULETESKORICSALADINEV','Childhood family name');
+ define('_SZULETESKORIUTONEV','Childhood last name');
+ define('_SZULETESIHELY','Place of birth');
+ define('_SZULETESIIDO','Time of birth');
+ define('_LAKHELY','Residence');
+ define('_ORSZAG','Country');
+ define('_HELYSEG','City');
+ define('_KOZTERULETNEV','District');
+ define('_HAZSZAM','Number');
+ define('_IRSZ','ZIP code');
+ define('_EMELET','Floor');
+ define('_AJTO','Door');
+ define('_EMAIL','E-mail address');
+ define('_TELEFON','Telephone');
+ define('_MOBIL','Mobile / Cellphone');
+ define('_ANYA','Mother');
+ define('_APA','Father');
+ define('_GONDVISELO','Legal guardian');
+ define('_MODOSITAS','Modify');
+ define('_SZULO_HOZZARENDELESE','Attach parent');
+ define('_UJ_SZULO','Add parent');
+ define('_SZULO_ADAT_MODOSITAS','Modify parents\' details');
+ define('_SZULO_HOZZARENDELES_TORLESE','Delete parent attachment');
+ define('_FELVESZ','Add');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakTankor.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakTankor.php
new file mode 100644
index 00000000..8bb10124
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakTankor.php
@@ -0,0 +1,6 @@
+<?php
+ define('__PAGETITLE','Student\'s study group');
+ define('_OSZTALYTANKOROK','Class study groups');
+ define('_DIAKTANKOROK','Student\'s study group');
+ define('_LEZART','Closed/planned school-year');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakTankorJelentkezes.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakTankorJelentkezes.php
new file mode 100644
index 00000000..3ee1485f
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/diakTankorJelentkezes.php
@@ -0,0 +1,19 @@
+<?php
+ define('__PAGETITLE','Studygroup selection');
+ define('_DIAKTANKOROK','Student\'s studygroups');
+ define('_LEZART','Closed/planned schoolyear');
+ define('_VALASZTHATO','Available studygroups');
+ define('_FELVESZ','Add');
+ define('_LEAD','Discard');
+ define('_OSSZESEN','Added total');
+ define('_JELENTKEZ','Apply');
+ define('_ID','ID');
+ define('_BLOKK','Block');
+ define('_TANKOR','Studygroup');
+ define('_LETSZAM','Number of students');
+ define('_KERETLETSZAM','Min-Max');
+ define('_ORASZAM','Number of lessons');
+ define('_ELOTV','Pre-Studygroup selection time (no minimum limit)');
+ define('_TV','Studygroup selection time (limiting minimum number of students)');
+ define('_NINCSTV','There is no current studygroup selection');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/munkakozosseg.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/munkakozosseg.php
new file mode 100644
index 00000000..fb940b81
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/munkakozosseg.php
@@ -0,0 +1,9 @@
+<?php
+ define('__PAGETITLE','Departments');
+ define('_MUNKAKOZOSSEGNEV','Name of the department');
+ define('_TARGYNEV','Name of subject');
+ define('_VEGLEGES_TORLES','Permanent delete');
+ define('_MUNKAKOZOSSEGVEZETO','Head of Department');
+ define('_MUNKAKOZOSSEGTAGOK','Member of Department');
+ define('_UJTAGOK','New members');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/osztaly.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/osztaly.php
new file mode 100644
index 00000000..99a1e7a9
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/osztaly.php
@@ -0,0 +1,21 @@
+<?php
+ define('__PAGETITLE','Administrate classes');
+ define('_KEPZES','Training');
+ define('_KEZDOTANEV','Year of start');
+ define('_VEGZOSTANEV','Year of graduation');
+ define('_KEZDOEVFOLYAM','Starting grade');
+ define('_JEL','Mark of class');
+ define('_UJOSZTALY','New class');
+ define('_FILESELECTTITLE','Refresh members of the class');
+ define('_OSZTALY_ADATAI','Class details');
+ define('_FIELDSELECTMESSAGE','When adding new students, you must fill in the starting and the finishing year, and also the semester and the date of getting into the class (beDT) boxes.');
+ define('_OSZTALYFONOKOK','Heads of Classes');
+ define('_TANARNEVE','Name of teacher');
+ define('_BEDT','From');
+ define('_KIDT','To');
+ define('_TOROL','Delete');
+ define('_OSZTALY_TORLESE','Delete class');
+ define('_OSZTALY_TORLES_TITLE','Are you sure you wish to delete the class and all its connections?');
+ define('_UJ_TAG','Add member');
+ define('_OSZTALYNEVSOR','List');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tanar.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tanar.php
new file mode 100644
index 00000000..7157dbb1
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tanar.php
@@ -0,0 +1,22 @@
+<?php
+ define('__PAGETITLE','Administrate teachers');
+ define('_FILESELECTTITLE','Refresh teachers\' data');
+ define('_KEPZES','Training');
+ define('_KEZDOTANEV','Starting year');
+ define('_VEGZOSTANEV','Finishing year');
+ define('_KEZDOEVFOLYAM','Starting class');
+ define('_JEL','ID of class');
+ define('_UJOSZTALY','New class');
+ define('_FILESELECTTITLE','Refresh teachers\' data');
+ define('_OSZTALY_ADATAI','Derails of class');
+ define('_FIELDSELECTMESSAGE','When adding new student you have to add the starting and finishing of the schoolyear and term!');
+ define('_OSZTALYFONOKOK','Head of class');
+ define('_TANARNEVE','Name of teacher');
+ define('_BEDT','From ');
+ define('_KIDT','Until');
+ define('_TOROL','Delete');
+ define('_OSZTALY_TORLESE','Delete class');
+ define('_OSZTALY_TORLES_TITLE','Are you sure you would like to delete the class and all connecitons of it?');
+ define('_UJ_TAG','Add new member');
+ define('_OSZTALYNEVSOR','Namelist of class');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankor.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankor.php
new file mode 100644
index 00000000..76ac8593
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankor.php
@@ -0,0 +1,24 @@
+<?php
+ define('__PAGETITLE','Studygroups');
+ define('_MEGJELOLTIDOSZAKBANTANAR','Teacher in the period');
+ define('_TANKOR','Studygroup');
+ define('_ELNEVEZES','Name');
+ define('_TIPUS','Type');
+ define('_VALASZTHATO','Selectable');
+ define('_IGEN','yes');
+ define('_NEM','no');
+ define('_KOVETELMENY','Requirement');
+ define('_JELENLET','Presence');
+ define('_JEGY','grade');
+ define('_ALAIRAS','signature');
+ define('_KOTELEZO','mandatory');
+ define('_NEMKOTELEZO','not mandatory');
+ define('_SZEMESZTEREK','Semesters');
+ define('_SZEMESZTER','Semester');
+ define('_HETI_ORASZAM','Lessons per week');
+ define('_OSZTALYJELE','Mark of class');
+ define('_LEIRAS','Description');
+ define('_VEGLEGES_TORLES','Permanent delete');
+ define('_RESZTVEVO_OSZTALYOK','Attending classes');
+ define('_TANKORDIAK','Members of the studygroup');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankorDiak.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankorDiak.php
new file mode 100644
index 00000000..8bbc04cc
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankorDiak.php
@@ -0,0 +1,16 @@
+<?php
+ define('__PAGETITLE','Students in the study group');
+ define('_DIAKOK','Students');
+ define('_NEV','Name');
+ define('_METTOL','From');
+ define('_MEDDIG','To');
+ define('_JELEN','Presence');
+ define('_KOVETELMENY','Requirement');
+ define('_JOVAHAGYVA','Permitted');
+ define('_UJDIAK','Add new student to the studygroup (from/to)');
+ define('_BEDT','Date of getting in');
+ define('_KIDT','Date of getting out');
+ define('_TANKOR','Study group details');
+ define('_BIZTOS_TANKORNEVSOR','Are you sure you wish to delete (close) the marked students from the studygroup?');
+ define('_BUTTON_OK','Delete/Modify');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankorSzemeszter.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankorSzemeszter.php
new file mode 100644
index 00000000..718656d1
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankorSzemeszter.php
@@ -0,0 +1,4 @@
+<?php
+ define('__PAGETITLE','Study groups\' workplan');
+ define('_TANKOR','Study group');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankorTanar.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankorTanar.php
new file mode 100644
index 00000000..7bcd9f0d
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/tankorTanar.php
@@ -0,0 +1,6 @@
+<?php
+ define('__PAGETITLE','Distribution of subject lessons');
+ define('_TANTARGYFELOSZTAS','Distribution of subject lessons');
+ define('_TANKOR','Study group');
+ define('_ORASZAM','Number of lessons');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/valtas.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/valtas.php
new file mode 100644
index 00000000..277b1bc6
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/intezmeny/valtas.php
@@ -0,0 +1,3 @@
+<?php
+ define('__PAGETITLE','Change school');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/naplo.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/naplo.php
new file mode 100644
index 00000000..0a94f10c
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/naplo.php
@@ -0,0 +1,4 @@
+<?php
+ define('_MINDEN_BEIRVA','Thank you for administrating your lessons!');
+ define('_BEIRATLAN_ORAK_SZAMA','Unadministrated lessons');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/nyomtatas/tankorNaplohozRendeles.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/nyomtatas/tankorNaplohozRendeles.php
new file mode 100644
index 00000000..f25d1a31
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/nyomtatas/tankorNaplohozRendeles.php
@@ -0,0 +1,11 @@
+<?php
+ define('_TANKOR','Studygroup');
+ define('_JELOLT','Marked');
+ define('_JELOLT_TANKOROK_SZAMA','Number of marked studygroups');
+ define('_HIANYZO_TANKOROK_SZAMA','Number of missing studygroups');
+ define('_NAPLO','Register');
+ define('_OK','OK');
+ define('_DB',' ');
+ define('_OSZTALY','Class');
+ define('__PAGETITLE','Distribute studygroups to the progress registers');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/bizonyitvany.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/bizonyitvany.php
new file mode 100644
index 00000000..7b7f5cf3
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/bizonyitvany.php
@@ -0,0 +1,27 @@
+<?php
+ define('__PAGETITLE','Report');
+ define('_AZ','on his/her archievements in');
+ define('_OSZTALYABAN','class,');
+ define('_ERTESITOJE','Report');
+ define('_ELERT_EREDMENYEROL',' ');
+ define('_SZEMESZTERBEN','term');
+ define('_TANEV','schoolyear,');
+ define('_MAGATARTAS','conduct');
+ define('_SZORGALOM','diligance');
+ define('_JEGY','Mark');
+ define('_MULASZTOTT_ORAK_SZAMA','Number of absencies');
+ define('_TARGY','Subject');
+ define('_OSZTALYATLAG','Class average');
+ define('_IGAZOLT','certified');
+ define('_IGAZOLATLAN','uncertified');
+ define('_IGAZGATO','headmaster');
+ define('_OSZTALYFONOK','head of class');
+ define('_SZULO','parent');
+ define('_PH','');
+ define('_KESESPERC','Uncertified absencies gathered by being late');
+ define('_PERC','minute(s)');
+ define('_TANULMANYI_OSSZESITOJE','Subject Summarize');
+ define('_BIZTOS_E','Are you sure you want to modify/add the selected subject\'s final mark?');
+ define('_JEGYMODOSITAS','Add, modify, delete final mark');
+ define('_IGAZOLATLAN_SZAM_MEGJEGYZES','When switching form term 1 to 2, still certifyable absencies are also marked as uncertified!');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/diak.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/diak.php
new file mode 100644
index 00000000..babca71f
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/diak.php
@@ -0,0 +1,9 @@
+<?php
+ define('_TANULO_OSZTALYZATAI','Grades of the student');
+ define('__PAGETITLE','Grades of the student');
+ define('_TARGY','Subject');
+ define('_ATLAG','Average');
+ define('_BIZONYITVANY','School report');
+ define('_FELEVI','Half term');
+ define('_EVVEGI','End year');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/dolgozat.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/dolgozat.php
new file mode 100644
index 00000000..6bb44b19
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/dolgozat.php
@@ -0,0 +1,23 @@
+<?php
+ define('_DOLGOZATOK','Tests');
+ define('_DOLGOZAT','Name of the test');
+ define('__PAGETITLE','Tests');
+ define('_DOLGOZAT_ADATAI','Details of the test');
+ define('_MEGNEVEZES','Name');
+ define('_BEJELENTES','Announcment');
+ define('_TERVEZETT','Planned date');
+ define('_TANAROK','Teachers');
+ define('_TANKOROK','Study groups');
+ define('_TANKOR','Study group');
+ define('_JEGYEK','Grades');
+ define('_JEGY','Grade');
+ define('_NEV','Name');
+ define('_EV','Year');
+ define('_HO','Month');
+ define('_NAP','Day');
+ define('_NINCS_DOLGOZAT','No announced test');
+ define('_NINCS_KITOLTVE','n/a');
+ define('_TOROL','Delete grade');
+ define('_BIZTOS_TOROLE','Are you sure you would like to delete all the details connected to the test of the tankör?');
+ define('_DOLGOZAT_BEJELENTES','Announce test');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/jegy.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/jegy.php
new file mode 100644
index 00000000..48ffc42d
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/jegy.php
@@ -0,0 +1,12 @@
+<?php
+ define('__PAGETITLE','Grades register - modify the grade');
+ define('_JEGY_ADATAI','Details of the grade');
+ define('_MEGJEGYZES','Comment');
+ define('_HOZZARENDELT_ORA','Attached lesson');
+ define('_DOLGOZAT','Test');
+ define('_ORA','Lesson');
+ define('_NINCS','n/a');
+ define('_ROGZIT','Submit');
+ define('_TOROL','Delete');
+ define('_BIZTOSE','Are you sure you would like to delete the grade?');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/stat.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/stat.php
new file mode 100644
index 00000000..24b3936a
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/stat.php
@@ -0,0 +1,38 @@
+<?php
+ define('__PAGETITLE','Closing statistics');
+ define('_OSZTALY','class');
+ define('_TANKOR','Studygroup');
+ define('_NEV','Name');
+ define('_ATLAG','Average');
+ define('_ORA','lesson');
+ define('_MAGATARTAS','conduct');
+ define('_SZORGALOM','diligance');
+ define('_BIZONYITVANY','Report');
+ define('_BEIR','add');
+ define('_ATLAGOSAN','average');
+ define('_OSSZESEN','total');
+ define('_IGAZOLT','certified');
+ define('_IGAZOLATLAN','uncertified');
+ define('_HIANYZAS','absency');
+ define('_HIANYZASOK','absencies');
+ define('_LETSZAM','number of students');
+ define('_KITUNO','excellent');
+ define('_BUKASOK','failure');
+ define('_BUKOTTAK','failures');
+ define('_NINCS','none');
+ define('_TOBB','more');
+ define('_IGAZOLATLANJA','uncertifed absencies');
+ define('_OTNEL','than five');
+ define('_TIZNEL','than ten');
+ define('_DICSERETES','commendation');
+ define('_FIGYELMEZTETOS','warning');
+ define('_NYELVVIZSGAS','language exam');
+ define('_TARGY','Subject');
+ define('_OSZTALYATLAG','Class average');
+ define('_SZEMPONT','Aspect');
+ define('_OSSZESITES','summarize');
+ define('_BUKOTT','failed');
+ define('_BUKAS','failure');
+ define('_ÁTLAG','average');
+ define('_NYOMTATAS','Print reports');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/tankor.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/tankor.php
new file mode 100644
index 00000000..8013a636
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/tankor.php
@@ -0,0 +1,17 @@
+<?php
+ define('__PAGETITLE','Grade register');
+ define('_TANKOR','Study group');
+ define('_AKTUALIS_NEVSOR','Actual list');
+ define('_TELJES_NEVSOR','Full list');
+ define('_ATLAG','Average');
+ define('_ORA','Lesson');
+ define('_ORAHOZ_RENDELES','Attach to lesson');
+ define('_DOLGOZATHOZ_RENDELES','Attach to test');
+ define('_UJ_DOLGOZAT','new test');
+ define('_EGYSZERU_ATLAG','1:1:1:1:1');
+ define('_TEMAZAROVAL_SULYOZOTT','1:1:1:2:2');
+ define('_KISJEGY_TEMAZARO','1:2:2:4:4');
+ define('_BIZONYITVANY','School report');
+ define('_BEIR','Add grade');
+ define('_VALASSZ_DOLGOZATOT','To add group grade you need to select a test!');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/targySorrend.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/targySorrend.php
new file mode 100644
index 00000000..4419b279
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/osztalyozo/targySorrend.php
@@ -0,0 +1,6 @@
+<?php
+ define('__PAGETITLE','Organize subjects');
+ define('_SORRENDVALTAS','Move subjects on the list');
+ define('_FEL','up');
+ define('_LE','down');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/diak.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/diak.php
new file mode 100644
index 00000000..39600fa0
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/diak.php
@@ -0,0 +1,3 @@
+<?php
+ define('__FILENEV','File location:');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/ertekeles.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/ertekeles.php
new file mode 100644
index 00000000..31e2adbb
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/ertekeles.php
@@ -0,0 +1,18 @@
+<?php
+ define('_SZAKTANARI_DICSERET','subject teacher\'s commendation');
+ define('_OSZTALYFONOKI_DICSERET','form teacher\'s commendation');
+ define('_IGAZGATOI_DICSERET','head teacher\'s commendation');
+ define('_NEVELOTESTULETI_DICSERET','commendation of the teaching staff');
+ define('_SEMMI','n/a');
+ define('_SZAKTANARI_FIGYELMEZTETES','subject teacher\'s reprimand');
+ define('_SZOBELI_OSZTALYFONOKI_FIGYELMEZTETES','oral reprimand from form teacher');
+ define('_OSZTALYFONOKI_FIGYELMEZTETES','form teacher\'s first reprimand');
+ define('_OSZTALYFONOKI_INTO','form teacher\'s second reprimand');
+ define('_OSZTALYFONOKI_ROVO','form teacher\'s third reprimand');
+ define('_IGAZGATOI_FIGYELMEZTETO','head teacher\'s first reprimand');
+ define('_IGAZGATOI_INTO','head teachers second reprimand');
+ define('_IGAZGATOI_ROVO','head teacher\'s third reprimand');
+ define('_NEVELOTESTULETI_FIGYELMEZTETES','teaching staff\'s first reprimand');
+ define('_NEVELOTESTULETI_INTES','teaching staff\'s second reprimand');
+ define('_NEVELOTESTULETI_MEGROVAS','teaching staff\'s third reprimand');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/file.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/file.php
new file mode 100644
index 00000000..19bfaa81
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/file.php
@@ -0,0 +1,22 @@
+<?php
+ define('_FILENEV','File path');
+ define('_VAN_ROVATFEJ','Header is present');
+ define('_ATTR_DIAKID','Student ID');
+ define('_ATTR_OID','Study ID');
+ define('_ATTR_IGAZOLVANYSZAM','Studentcard ID');
+ define('_ATTR_VNE','Name Prefix');
+ define('_ATTR_VCSN','Surname');
+ define('_ATTR_VUN','First Name');
+ define('_ATTR_SZNE','Prefix');
+ define('_ATTR_SZCSN','Birth Surname');
+ define('_ATTR_SZUN','Birth Forename');
+ define('_ATTR_ANE','Mother\'s birth prefix');
+ define('_ATTR_ACSN','Mother\'s maiden name');
+ define('_ATTR_AUN','Mothers Forename');
+ define('_ATTR_SZH','Place of birth');
+ define('_ATTR_SZI','Date of birth');
+ define('_ATTR_KEZDO_TANEV','Starting year');
+ define('_ATTR_KEZDO_SZEMESZTER','Starting semester');
+ define('_ATTR_VEGZO_TANEV','Prom-year');
+ define('_ATTR_VEGZO_SZEMESZTER','Final semester');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/hianyzas.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/hianyzas.php
new file mode 100644
index 00000000..b6c0331a
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/hianyzas.php
@@ -0,0 +1,10 @@
+<?php
+ define('_ORVOSI','medical certificate');
+ define('_SZULOI','parent\'s certificate');
+ define('_TANULMANYI_VERSENY','school competition');
+ define('_NYELVVIZSGA','language exam');
+ define('_OSZTALYFONOKI','form teacher\'s certificate');
+ define('_IGAZGATOI','head of school\'s certificate');
+ define('_IGAZOLATLAN','uncertified absence');
+ define('_TOROLT','deleted');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/osztalyzatok.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/osztalyzatok.php
new file mode 100644
index 00000000..49447f00
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/osztalyzatok.php
@@ -0,0 +1,23 @@
+<?php
+ define('_ELEGTELEN','F');
+ define('_ELEGSEGES','D');
+ define('_ROSSZ','Bad');
+ define('_HANYAG','Negligent');
+ define('_KOZEPES','C');
+ define('_VALTOZO','Varying');
+ define('_JO','B');
+ define('_JELES','A');
+ define('_PELDAS','Outstanding');
+ define('_TOROLT','deleted');
+ define('_KIS_JEGY','small mark');
+ define('_NORMAL_JEGY','normal mark');
+ define('_DOLGOZAT','test');
+ define('_TEMAZARO','BIG test');
+ define('_VIZSGAJEGY','exam grade');
+ define('_DICSERET','honours');
+ define('_FIGYELMEZTETO','fail warning');
+ define('_NYELVVIZSGA','language exam');
+ define('_JEGYZET_DICSERET','With honours in %1%');
+ define('_JEGYZET_FIGYELMEZTETO','Fail warning in %1%');
+ define('_JEGYZET_NYELVVIZSGA','Language exam in %1%');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/tanar.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/tanar.php
new file mode 100644
index 00000000..56d9e758
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/share/tanar.php
@@ -0,0 +1,8 @@
+<?php
+ define('_TANAR_OID','Educational ID');
+ define('_TANAR_VNE','Used prefix');
+ define('_TANAR_VCSN','Surname');
+ define('_TANAR_VUN','Last name');
+ define('_TANAR_SZH','Place of birth');
+ define('_TANAR_SZI','Time of birth');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/fogadoOra.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/fogadoOra.php
new file mode 100644
index 00000000..d3b60b19
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/fogadoOra.php
@@ -0,0 +1,18 @@
+<?php
+ define('__PAGETITLE','Consulting hours');
+ define('_KOVETKEZO_FOGADO_ORA','Select the next consulting hour');
+ define('_BIZTOS_UJ_IDOPONT_E','Are you sure you would like to make a new consulting hour date and delete the existing entries, parent registrations?');
+ define('_TANARNEV','Teacher\'s name');
+ define('_DATUM','Date');
+ define('_TOL','From');
+ define('_IG','To');
+ define('_TEREM','Room');
+ define('_TANAR_FOGADOORAJA','Teacher\'s consulting hour');
+ define('_NEV','Name');
+ define('_TANARADAT','Teacher');
+ define('_JELENTKEZESEK','Registration');
+ define('_SZULONEV','Parent');
+ define('_DIAKNEV','Student(s)');
+ define('_RESZLETES_LISTA','Detailed list (for printing)');
+ define('_TOROL','Delete');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/helyettesites.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/helyettesites.php
new file mode 100644
index 00000000..f3709a5a
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/helyettesites.php
@@ -0,0 +1,3 @@
+<?php
+ define('__PAGETITLE','Substitutions');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/munkaterv.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/munkaterv.php
new file mode 100644
index 00000000..6b92ef92
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/munkaterv.php
@@ -0,0 +1,16 @@
+<?php
+ define('__PAGETITLE','Programme of the academic year');
+ define('_EVES_MUNKATERV','Programme of the academic year');
+ define('_OK','OK');
+ define('_OSSZES_MUNKANAP','All workdays');
+ define('_MODOSIT','Modify>>');
+ define('_ORARENDI_HET','Timetable week');
+ define('_NAPOKINIT','Programme initialise');
+ define('_MAGYARAZAT','Give the number of the weeks that will change during the year (between the starting and finishing number of weeks)!');
+ define('_KEZDO_HET','Number of starting week');
+ define('_ZARO_HET','Number of finishing week');
+ define('_TANITASI_NAP','workday');
+ define('_SPECIALIS_TANITASI_NAP','special workday');
+ define('_TANITAS_NELKULI_MUNKANAP','workday without teaching');
+ define('_TANITASI_SZUNET','holiday');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/orarend.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/orarend.php
new file mode 100644
index 00000000..d67fe243
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/orarend.php
@@ -0,0 +1,3 @@
+<?php
+ define('__PAGETITLE','Timetable');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/orarendTankor.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/orarendTankor.php
new file mode 100644
index 00000000..ca9b5ad0
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/orarendTankor.php
@@ -0,0 +1,3 @@
+<?php
+ define('__PAGETITLE','Timetable - study group connections');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/szabadTerem.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/szabadTerem.php
new file mode 100644
index 00000000..edac4da3
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/szabadTerem.php
@@ -0,0 +1,3 @@
+<?php
+ define('__PAGETITLE','Unused rooms');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/tankorBlokk.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/tankorBlokk.php
new file mode 100644
index 00000000..e3d61772
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/tankorBlokk.php
@@ -0,0 +1,8 @@
+<?php
+ define('__PAGETITLE','Blocks of studygroups');
+ define('_UJ_TANKOR_BLOKK','New block');
+ define('_TANKOR_BLOKK_MODOSITAS','Modify');
+ define('_BLOKKNEV','Blockname');
+ define('_TANKOROK','Studygroups');
+ define('_DEL','delete');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/tankorCsoport.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/tankorCsoport.php
new file mode 100644
index 00000000..3938a083
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/tanev/tankorCsoport.php
@@ -0,0 +1,7 @@
+<?php
+ define('__PAGETITLE','Coherent study groups');
+ define('_UJ_TANKOR_CSOPORT','New study group');
+ define('_CSOPORTNEV','Group name');
+ define('_TANKOROK','Study group');
+ define('_TANKOR_CSOPORT_MODOSITAS','Modify study group');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/uzeno/uzeno.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/uzeno/uzeno.php
new file mode 100644
index 00000000..7ffc713b
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-naplo/uzeno/uzeno.php
@@ -0,0 +1,16 @@
+<?php
+ define('__PAGETITLE','Register messenger');
+ define('_DATUM','Date');
+ define('_FELADO','From');
+ define('_CIMZETT','To');
+ define('_SZOVEG','Text');
+ define('_UJ_UZENET','New message');
+ define('_CLEARFILTER','End filtering');
+ define('_TTANAR','Teacher');
+ define('_TDIAK','Student');
+ define('_TSZULO','Parent');
+ define('_TTANKOR','Students in studygroup');
+ define('_TOSZTALY','Students in class');
+ define('_TTANKORSZULO','Parents of the studygroup\'s members');
+ define('_TOSZTALYSZULO','Parents of the class\' members');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-password/changeMyPassword.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-password/changeMyPassword.php
new file mode 100644
index 00000000..e76f669e
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-password/changeMyPassword.php
@@ -0,0 +1,7 @@
+<?php
+ define('_CHANGE_PASSWORD','Change own password');
+ define('_USERNAME','Username');
+ define('_NEW_PASSWORD','New password');
+ define('_VERIFICATION','Retype new password');
+ define('_OK','OK');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-password/changePassword.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-password/changePassword.php
new file mode 100644
index 00000000..5b5ab7e6
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-password/changePassword.php
@@ -0,0 +1,7 @@
+<?php
+ define('_CHANGE_PASSWORD','Change password');
+ define('_USERNAME','Username');
+ define('_NEW_PASSWORD','New password');
+ define('_VERIFICATION','Retype new password');
+ define('_OK','OK');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-portal/hirek/egyhir.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-portal/hirek/egyhir.php
new file mode 100644
index 00000000..3fb9ec05
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-portal/hirek/egyhir.php
@@ -0,0 +1,13 @@
+<?php
+ define('__TITLE','Post news');
+ define('_CIM','Title');
+ define('_SZOVEG','Text');
+ define('_ROGZIT','Save');
+
+ define('_KULSO_HIR','public news');
+ define('_KIS_HIR','small news');
+ define('_CSAK_BELSO','private news');
+ define('_NEM_LATSZIK','invisible');
+ define('_LATSZIK','visible');
+
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/accountInfo.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/accountInfo.php
new file mode 100644
index 00000000..18a3b218
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/accountInfo.php
@@ -0,0 +1,3 @@
+<?php
+ define('_OK','OK');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/createAccount.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/createAccount.php
new file mode 100644
index 00000000..145649cf
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/createAccount.php
@@ -0,0 +1,7 @@
+<?php
+ define('_OK','OK');
+ define('_CREATE_ACCOUNT','New User');
+ define('_VERIFICATION','Retype password');
+ define('_ACCOUNT_CATEGORY','Category');
+ define('_DATAFILE','Data file');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/createGroup.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/createGroup.php
new file mode 100644
index 00000000..534f0262
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/createGroup.php
@@ -0,0 +1,6 @@
+<?php
+ define('_OK','OK');
+ define('_CREATE_GROUP','Create Group');
+ define('_GROUP_CATEGORY','Create Category');
+ define('_DATAFILE','Data file');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/download.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/download.php
new file mode 100644
index 00000000..d277d867
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/download.php
@@ -0,0 +1,7 @@
+<?php
+ define('_FILE','File');
+ define('_SIZE','Size');
+ define('_MIMETYPE','MIME Type');
+ define('_DOWNLOAD','Download');
+ define('_DESCRIPTION','If the download does not start in a few seconds, click the link!');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/groupInfo.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/groupInfo.php
new file mode 100644
index 00000000..f11fe9c6
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/groupInfo.php
@@ -0,0 +1,4 @@
+<?php
+ define('_OK','OK');
+ define('_NEW','New');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/search/searchAccount.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/search/searchAccount.php
new file mode 100644
index 00000000..cbd98486
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/search/searchAccount.php
@@ -0,0 +1,19 @@
+<?php
+ define('_SEARCH','User Search');
+ define('_OK','OK');
+ define('_NOTFOUND','No results');
+ define('_CATEGORY','Category');
+ define('_ACTION','Change');
+ define('_DELETE','Delete');
+ define('_CHANGE_PASSWORD','Change password');
+ define('_ARE_YOU_SURE','Are you sure?');
+ define('_NAME','Name');
+ define('_CLASS','Class');
+ define('_EMAIL','E-mail');
+ define('_PASSWORD','Password');
+ define('_RETYPEPASSWORD','Retype password');
+ define('_DEFAULTGROUP','Group');
+ define('_DATAFILE','Data file');
+ define('_NEWUSER','New User');
+ define('_ARE_YOU_SURE','Are you sure?');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/search/searchGroup.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/search/searchGroup.php
new file mode 100644
index 00000000..7d818983
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/module-session/search/searchGroup.php
@@ -0,0 +1,19 @@
+<?php
+ define('_SEARCH','Group Search');
+ define('_OK','OK');
+ define('_NOTFOUND','No results');
+ define('_CATEGORY','Category');
+ define('_ACTION','Change');
+ define('_DELETE','Delete');
+ define('_CHANGE_PASSWORD','Change password');
+ define('_ARE_YOU_SURE','Are you sure?');
+ define('_NAME','Name');
+ define('_CLASS','Class');
+ define('_EMAIL','E-Mail');
+ define('_PASSWORD','Password');
+ define('_RETYPEPASSWORD','Retype password');
+ define('_DEFAULTGROUP','Group');
+ define('_DATAFILE','Data file');
+ define('_NEWUSER','New User');
+ define('_ARE_YOU_SURE','Are you sure?');
+?>
diff --git a/mayor-orig/mayor-locales-en_US/www/lang/en_US/share/session/attrs.php b/mayor-orig/mayor-locales-en_US/www/lang/en_US/share/session/attrs.php
new file mode 100644
index 00000000..b23676bc
--- /dev/null
+++ b/mayor-orig/mayor-locales-en_US/www/lang/en_US/share/session/attrs.php
@@ -0,0 +1,18 @@
+<?php
+ define('_ATTR_USERACCOUNT','User Account');
+ define('_ATTR_USERCN','Name');
+ define('_ATTR_USERPASSWORD','Password');
+ define('_ATTR_STUDYID','Education ID');
+ define('_ATTR_MAIL','E-mail');
+ define('_ATTR_TELEPHONENUMBER','Telephone number');
+ define('_ATTR_SHADOWLASTCHANGE','Last password change');
+ define('_ATTR_SHADOWMIN','Earliest password change');
+ define('_ATTR_SHADOWMAX','Password valid until');
+ define('_ATTR_SHADOWWARNING','Warning for password change');
+ define('_ATTR_SHADOWINACTIVE','Account deactivation');
+ define('_ATTR_SHADOWEXPIRE','Date of deactivation');
+ define('_ATTR_GROUPCN','Group ID');
+ define('_ATTR_GROUPDESC','Group Name');
+ define('_ATTR_LEADER','Leader');
+ define('_ATTR_MEMBER','Member');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/log/mayor-locales-jp_JP.rev b/mayor-orig/mayor-locales-jp_JP/log/mayor-locales-jp_JP.rev
new file mode 100644
index 00000000..ab5135de
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/log/mayor-locales-jp_JP.rev
@@ -0,0 +1 @@
+4455
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/file.php b/mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/file.php
new file mode 100644
index 00000000..8e7840c1
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/file.php
@@ -0,0 +1,5 @@
+<?php
+
+ $ALERT_MSG['file_open_failure'] = 'ファイルを開くに失敗しました!';
+
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/ldap.php b/mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/ldap.php
new file mode 100644
index 00000000..6a67ed00
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/ldap.php
@@ -0,0 +1,7 @@
+<?php
+
+ $ALERT_MSG['ldap_failure'] = 'LDAP データベースエラー';
+ $ALERT_MSG['ldap_bind_failure'] = 'データベースへの接続エラー';
+ $ALERT_MSG['ldap_search_failure'] = '';
+
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/module-auth.php b/mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/module-auth.php
new file mode 100644
index 00000000..a867895c
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/module-auth.php
@@ -0,0 +1,8 @@
+<?php
+
+ $ALERT_MSG['no_account'] = '間違った識別子が与えられた!';
+ $ALERT_MSG['multi_uid'] = 'この名前は既に存在します。';
+ $ALERT_MSG['account_disabled'] = '';
+ $ALERT_MSG['force_pw_update'] = 'パスワードを変更するには、必須!';
+
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/module-session.php b/mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/module-session.php
new file mode 100644
index 00000000..ef7b7954
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/alert/jp_JP/module-session.php
@@ -0,0 +1,5 @@
+<?php
+
+ $ALERT_MSG['pw_not_match'] = 'パスワードの確認と同じではありません!';
+
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/menu/parent/jp_JP/base.php b/mayor-orig/mayor-locales-jp_JP/www/include/menu/parent/jp_JP/base.php
new file mode 100644
index 00000000..c49b91ba
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/menu/parent/jp_JP/base.php
@@ -0,0 +1,34 @@
+<?php
+
+ if (defined('_SESSIONID') and _SESSIONID != '') {
+ $MENU['logout'] = array(
+ array(
+ 'txt' => 'ログアウトする',
+ 'url' => 'index.php?policy=public&page=session&f=logout',
+ 'get' => array('sessionID','skin','lang')
+ )
+ );
+ $MENU['session'] = array(
+ array(
+ 'txt' => 'ユーザープロフィール',
+ 'url' => 'index.php?page=password&sub=&f=changeMyPassword&userAccount='._USERACCOUNT.'&policy=public&toPolicy=parent',
+ 'get' => array('skin','lang','sessionID'),
+ )
+ );
+ }
+ $MENU['modules']['session'] = array(
+// 'searchAccount' => array(array('txt' => '検索ユーザー','url' => 'index.php?page=session&sub=search&f=searchAccount')),
+// 'searchGroup' => array(array('txt' => 'グループ検索','url' => 'index.php?page=session&sub=search&f=searchGroup')),
+ 'changeMyPassword' => array(array('txt' => 'パスワードを変更','url' => 'index.php?page=password&sub=&f=changeMyPassword&userAccount='._USERACCOUNT.'&policy=public&toPolicy=parent','get' => array('skin','lang','sessionID'))),
+// 'sub' => array(
+// 'search' => array(
+// 'searchAccount' => array(array('txt' => '検索ユーザー')),
+// 'searchGroup' => array(array('txt' => 'グループ検索')),
+// )
+// )
+ );
+ $MENU['home'] = array(
+ array('txt' => 'スタートページ', 'url' => 'index.php')
+ );
+
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/menu/parent/jp_JP/module-keptar.php b/mayor-orig/mayor-locales-jp_JP/www/include/menu/parent/jp_JP/module-keptar.php
new file mode 100644
index 00000000..d20dddbc
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/menu/parent/jp_JP/module-keptar.php
@@ -0,0 +1,13 @@
+<?php
+ $MENU['keptar'] = array(
+ array('txt' => 'ギャラリー', 'url' => 'index.php?page=keptar&f=keptar')
+ );
+
+ $MENU['modules']['keptar']['uncat'] = array(
+ array('txt' => 'uncategorized 画像', 'url' => 'index.php?page=keptar&f=uncat')
+ );
+
+ $MENU['modules']['keptar']['admin'] = array(
+ array('txt' => '管理者', 'url' => 'index.php?page=keptar&f=admin'),
+ );
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/menu/parent/jp_JP/module-naplo.php b/mayor-orig/mayor-locales-jp_JP/www/include/menu/parent/jp_JP/module-naplo.php
new file mode 100644
index 00000000..27a55ef4
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/menu/parent/jp_JP/module-naplo.php
@@ -0,0 +1,39 @@
+<?php
+/*
+ module: naplo
+*/
+
+ $MENU['naplo'] = array(
+ array('txt' => 'ログ', 'url' => 'index.php?page=naplo&f=diakValaszto'),
+ array('txt' => 'サインオン相談', 'url' => 'index.php?page=naplo&sub=tanev&f=fogadoOra')
+ );
+
+ // A menüpontok sorrendjének beállítása - ettől még nem jelenik meg semmi :)
+ $MENU['modules']['naplo'] = array(
+ 'haladasi' => array(),
+ 'osztalyozo' => array(),
+ 'hianyzas' => array(),
+ 'bejegyzesek' => array(),
+ 'tanev' => array(),
+ 'intezmeny' => array(),
+ 'admin' => array(),
+ );
+
+ if (__DIAK) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'ログの進展', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'ロググレード', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=diak'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Hiányzási ログ', 'url' => 'index.php?page=naplo&sub=hianyzas&f=diak'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => 'エントリ', 'url' => 'index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'));
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'dolgozat' => array(array('txt' => 'テスト')),
+ );
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => '時刻表', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'),
+ array('txt' => 'Munkaterv', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv')
+ );
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => 'Tanévváltás', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'));
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'stat' => array(array('txt' => '進行中の統計情報')),
+ );
+ }
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/base.php b/mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/base.php
new file mode 100644
index 00000000..33d34d95
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/base.php
@@ -0,0 +1,43 @@
+<?php
+
+ if (defined('_SESSIONID') and _SESSIONID != '') {
+ $MENU['logout'] = array(
+ array(
+ 'txt' => '終',
+ 'url' => 'index.php?policy=public&page=session&f=logout',
+ 'get' => array('sessionID','skin','lang')
+ )
+ );
+ $MENU['session'] = array(
+ array(
+ 'txt' => 'ユーザーデータ',
+ 'url' => 'index.php?page=session&sub=search&f=searchAccount'
+ )
+ );
+ }
+ $MENU['home'] = array(
+ array('txt' => 'スタートページ', 'url' => 'index.php')
+ );
+
+ if (memberOf(_USERACCOUNT, $AUTH[_POLICY]['adminGroup'])) {
+ $MENU['modules']['session'] = array(
+ 'createAccount' => array(array('txt' => '新規ユーザー')),
+ 'createGroup' => array(array('txt' => '新しいグループ')),
+ 'searchAccount' => array(array('txt' => '検索ユーザー','url' => 'index.php?page=session&sub=search&f=searchAccount')),
+ 'searchGroup' => array(array('txt' => 'グループ検索','url' => 'index.php?page=session&sub=search&f=searchGroup')),
+ 'changeMyPassword' => array(array('txt' => 'パスワードを変更','url' => 'index.php?page=password&sub=&f=changeMyPassword&userAccount='._USERACCOUNT.'&policy=public&toPolicy=private','get' => array('skin','lang','sessionID'))),
+// 'sub' => array(
+// 'search' => array(
+// 'searchAccount' => array(array('txt' => '検索ユーザー')),
+// 'searchGroup' => array(array('txt' => 'グループ検索')),
+// )
+// )
+ );
+ } else {
+ $MENU['modules']['session'] = array(
+ 'searchAccount' => array(array('txt' => '検索ユーザー','url' => 'index.php?page=session&sub=search&f=searchAccount')),
+ 'searchGroup' => array(array('txt' => 'グループ検索','url' => 'index.php?page=session&sub=search&f=searchGroup')),
+ 'changeMyPassword' => array(array('txt' => 'パスワードを変更','url' => 'index.php?page=password&sub=&f=changeMyPassword&userAccount='._USERACCOUNT.'&policy=public&toPolicy=private','get' => array('skin','lang','sessionID'))),
+ );
+ }
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/module-honosito.php b/mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/module-honosito.php
new file mode 100644
index 00000000..e0ca5abd
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/module-honosito.php
@@ -0,0 +1,16 @@
+<?php
+
+
+ if (memberOf(_USERACCOUNT,'honosito')) {
+
+ $MENU['honosito'] = array(array('txt' => 'Honosító', 'url' => 'index.php?page=honosito&f=text'));
+
+ $MENU['modules']['honosito'] = array(
+ 'alert' => array(array('txt' => '翻訳メッセージ')),
+ 'menu' => array(array('txt' => '翻訳メニュー')),
+ 'text' => array(array('txt' => 'テキスト翻訳')),
+ );
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/module-naplo.php b/mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/module-naplo.php
new file mode 100644
index 00000000..3fa52907
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/module-naplo.php
@@ -0,0 +1,211 @@
+<?php
+/*
+ module: naplo
+*/
+
+ $MENU['naplo'] = array(
+ array('txt' => 'ログブック', 'url' => 'index.php?page=naplo')
+ );
+
+ // A menüpontok sorrendjének beállítása - ettől még nem jelenik meg semmi :)
+ $MENU['modules']['naplo'] = array(
+ 'haladasi' => array(),
+ 'osztalyozo' => array(),
+ 'hianyzas' => array(),
+ 'bejegyzesek' => array(),
+ 'tanev' => array(),
+ 'intezmeny' => array(),
+ 'admin' => array(),
+ );
+
+ if (__DIAK) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'ログの進展', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'ロググレード', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=diak'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Hiányzások', 'url' => 'index.php?page=naplo&sub=hianyzas&f=diak'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => 'エントリ', 'url' => 'index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => 'インスタンス', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'dolgozat' => array(array('txt' => 'テスト')),
+ );
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => '時刻表', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'),
+ array('txt' => '未使用の教室', 'url' => 'index.php?page=naplo&sub=tanev&f=szabadTerem'),
+ array('txt' => 'Munkaterv', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv')
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => '新しいインスタンス')),
+ );
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => 'Tanévváltás', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'));
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'stat' => array(array('txt' => 'Haladási statisztika')),
+ );
+ } elseif (__TANAR) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'ログの進展', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'ロググレード', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=tankor'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Hiányzások', 'url' => 'index.php?page=naplo&sub=hianyzas&f=osztaly'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => 'エントリ', 'url' => 'index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => 'インスタンス', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => '時刻表', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'),
+ array('txt' => '未使用の教室', 'url' => 'index.php?page=naplo&sub=tanev&f=szabadTerem'),
+ array('txt' => 'Munkaterv', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv'),
+ array('txt' => 'コンサルティング時間', 'url' => 'index.php?page=naplo&sub=tanev&f=fogadoOra'),
+ );
+ $MENU['modules']['naplo']['intezmeny'] = array(
+ array('txt' => 'Tanévváltás', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'),
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=intezmeny&f=tankorDiak'),
+ array('txt' => '', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankor'),
+ );
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'tanarOrarend' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => '新しいインスタンス')),
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => '')),
+ 'diak' => array(array('txt' => '')),
+ 'dolgozat' => array(array('txt' => 'テスト')),
+ );
+ $MENU['modules']['naplo']['sub']['bejegyzesek'] = array(
+ 'bejegyzesek' => array(array('txt' => '')),
+ 'ujBejegyzes' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'stat' => array(array('txt' => 'Haladási statisztika')),
+ );
+ } elseif (__TITKARSAG) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'ログの進展', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'ロググレード', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=tankor'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Hiányzások', 'url' => 'index.php?page=naplo&sub=hianyzas&f=osztaly'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => 'インスタンス', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => '時刻表', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'),
+ array('txt' => '未使用の教室', 'url' => 'index.php?page=naplo&sub=tanev&f=szabadTerem'),
+ array('txt' => 'Munkaterv', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv'),
+ array('txt' => 'コンサルティング時間', 'url' => 'index.php?page=naplo&sub=tanev&f=fogadoOra'),
+ );
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => 'Tanévváltás', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'));
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'tanarOrarend' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => '新しいインスタンス')),
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => '')),
+ 'diak' => array(array('txt' => '')),
+ 'dolgozat' => array(array('txt' => 'テスト')),
+ );
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'stat' => array(array('txt' => 'Haladási statisztika')),
+ );
+ }
+ if (__VEZETOSEG) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'ログの進展', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'ロググレード', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=tankor'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Hiányzások', 'url' => 'index.php?page=naplo&sub=hianyzas&f=osztaly'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => 'エントリ', 'url' => 'index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'));
+ $MENU['modules']['naplo']['tanev'][] = array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv');
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => 'インスタンス', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ $MENU['modules']['naplo']['intezmeny'] = array(
+ array('txt' => '', 'url' => 'index.php?page=naplo&sub=intezmeny&f=tankorDiak'),
+ array('txt' => 'Tanévváltás', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'),
+ array('txt' => '', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankor'),
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => '新しいインスタンス')),
+ );
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'helyettesites' => array(array('txt' => '')),
+ 'pluszora' => array(array('txt' => '')),
+ 'osszevonas' => array(array('txt' => '')),
+ 'specialis' => array(array('txt' => '')),
+ 'elmaradas' => array(array('txt' => '')),
+ 'stat' => array(array('txt' => 'Haladási statisztika')),
+ 'elszamolas' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => '')),
+ 'diak' => array(array('txt' => '')),
+ 'dolgozat' => array(array('txt' => 'テスト')),
+ );
+ $MENU['modules']['naplo']['sub']['bejegyzesek'] = array(
+ 'bejegyzesek' => array(array('txt' => '')),
+ 'ujBejegyzes' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'orarend' => array(array('txt' => '時刻表')),
+ 'szabadTerem' => array(array('txt' => '未使用の教室')),
+ 'munkaterv' => array(array('txt' => '')),
+ 'tankorCsoport' => array(array('txt' => '')),
+ 'fogadoOra' => array(array('txt' => 'コンサルティング時間')),
+ 'tanarOrarend' => array(array('txt' => '')),
+ );
+ }
+ if (__NAPLOADMIN) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'ログの進展', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'ロググレード', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=tankor'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Hiányzások', 'url' => 'index.php?page=naplo&sub=hianyzas&f=osztaly'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => 'エントリ', 'url' => 'index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'));
+ $MENU['modules']['naplo']['tanev'] = array(array('txt' => '時刻表', 'url' => 'index.php?page=naplo&sub=tanev&f=orarend'));
+ $MENU['modules']['naplo']['tanev'][] = array('txt' => '', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv');
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas'));
+ $MENU['modules']['naplo']['admin'] = array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=admin&f=import'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => 'インスタンス', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'helyettesites' => array(array('txt' => '')),
+ 'pluszora' => array(array('txt' => '')),
+ 'osszevonas' => array(array('txt' => '')),
+ 'specialis' => array(array('txt' => '')),
+ 'elmaradas' => array(array('txt' => '')),
+ 'stat' => array(array('txt' => 'Haladási statisztika')),
+ 'elszamolas' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => '新しいインスタンス')),
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => '')),
+ 'diak' => array(array('txt' => '')),
+ 'dolgozat' => array(array('txt' => 'テスト')),
+ );
+ $MENU['modules']['naplo']['sub']['bejegyzesek'] = array(
+ 'bejegyzesek' => array(array('txt' => '')),
+ 'ujBejegyzes' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'orarend' => array(array('txt' => '時刻表')),
+ 'szabadTerem' => array(array('txt' => '未使用の教室')),
+ 'helyettesites' => array(array('txt' => '')),
+ 'munkaterv' => array(array('txt' => '')),
+ 'tankorCsoport' => array(array('txt' => '')),
+ 'orarendTankor' => array(array('txt' => '')),
+ 'orarendUtkozes' => array(array('txt' => '')),
+ 'orarendLoad' => array(array('txt' => '')),
+ 'fogadoOra' => array(array('txt' => 'コンサルティング時間')),
+ 'tanarOrarend' => array(array('txt' => '')),
+ // 'intezmeny' => array(array('txt' => '', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas')),
+ );
+ $MENU['modules']['naplo']['sub']['intezmeny'] = array(
+ 'valtas' => array(array('txt' => '')),
+ 'osztaly' => array(array('txt' => '')),
+ 'diak' => array(array('txt' => '')),
+ 'tanar' => array(array('txt' => '')),
+ 'munkakozosseg' => array(array('txt' => '')),
+ 'tankor' => array(array('txt' => '')),
+ 'tankorTanar' => array(array('txt' => '')),
+ 'tankorDiak' => array(array('txt' => '')),
+ 'diakTankor' => array(array('txt' => '')),
+ 'tankorSzemeszter' => array(array('txt' => '')),
+ );
+ $MENU['modules']['naplo']['sub']['admin'] = array(
+ 'intezmenyek' => array(array('txt' => '')),
+ 'tanevek' => array(array('txt' => '')),
+ 'import' => array(array('txt' => '')),
+ 'azonositok' => array(array('txt' => '')),
+ );
+ }
+
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/module-portal.php b/mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/module-portal.php
new file mode 100644
index 00000000..c52182fc
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/menu/private/jp_JP/module-portal.php
@@ -0,0 +1,14 @@
+<?php
+
+ if (defined('__HIREKADMIN') && __HIREKADMIN) {
+ $MENU['portal'] = array(array('txt' => 'ニュース', 'url' => 'index.php?page=portal&sub=hirek&f=hirekAdmin'));
+ $MENU['modules']['portal']['hirek'] = array(
+ array('txt' => 'ニュースの編集', 'url' => 'index.php?page=portal&sub=hirek&f=hirekAdmin'),
+// array('txt' => 'ニュース', 'url' => 'index.php?page=portal&sub=hirek&f=hirek'),
+ array('txt' => 'Új hír', 'url' => 'index.php?page=portal&sub=hirek&f=egyhir'),
+ array('txt' => '新しい質問', 'url' => 'index.php?page=portal&sub=kerdoiv&f=kerdoivAdmin')
+ );
+ } else {
+ $MENU['portal'] = array(array('txt' => 'ニュースの提出', 'url' => 'index.php?page=portal&sub=hirek&f=egyhir'));
+ }
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/base.php b/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/base.php
new file mode 100644
index 00000000..1cb4478a
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/base.php
@@ -0,0 +1,37 @@
+<?php
+
+ $MENU = array(
+ 'home'=>array(),
+ 'session'=>array(),
+ 'naplo'=>array(),
+ 'portal'=>array(),
+ 'felveteli'=>array(),
+ 'forum'=>array(),
+ 'auth'=>array(),
+
+ );
+
+ if (defined('_SESSIONID') and _SESSIONID != '') {
+ $MENU['session'] = array(
+ array('txt' => 'ログアウトする', 'url' => 'index.php?page=session&f=logout')
+ );
+ }
+ $MENU['home'] = array(
+ array('txt' => 'スタートページ', 'url' => 'index.php')
+ );
+ $MENU['auth'] = array(
+ array('txt' => '親ログイン', 'url' => 'index.php?page=auth&f=login&toPolicy=parent'),
+ array('txt' => 'ログイン', 'url' => 'index.php?page=auth&f=login&toPolicy=private')
+ );
+ $MENU['modules']['auth']['login'] = array(
+ array('txt' => 'フォーラムログイン', 'url' => 'index.php?page=auth&f=login&toPolicy=public&toPSF=forum::forum'),
+ array('txt' => '親ログイン', 'url' => 'index.php?page=auth&f=login&toPolicy=parent'),
+ array('txt' => '保護されたページ','url' => 'index.php?page=auth&f=login&toPolicy=private'),
+// array('txt' => '登録','url' => 'index.php?page=session&f=createAccount&toPolicy=parent')
+ );
+// $MENU['modules']['session']['createAccount'] = array(
+// array('txt' => '親の登録', 'url' => 'index.php?page=session&f=createAccount&toPolicy=parent'),
+// array('txt' => 'フォーラム登録', 'url' => 'index.php?page=session&f=createAccount&toPolicy=public'),
+// );
+
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-felveteli.php b/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-felveteli.php
new file mode 100644
index 00000000..b3610d8f
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-felveteli.php
@@ -0,0 +1,21 @@
+<?php
+
+ $MENU['felveteli'] = array(
+ array('txt' => '予選', 'url' => 'index.php?page=felveteli&f=felveteli')
+ );
+
+/*
+ $MENU['modules']['felveteli']['felveteli'] = array(
+ array('txt' => 'データ重視', 'url' => 'index.php?page=felveteli&f=felveteli'),
+ array('txt' => '予選情報', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=1'),
+ );
+ $MENU['modules']['felveteli']['felveteli/20082009'] = array(
+ array('txt' => '1 。', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=1'),
+ array('txt' => '2 。', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=2'),
+ array('txt' => '3 。', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=3'),
+ array('txt' => '4 。', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=4'),
+ array('txt' => '5 。', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=5'),
+ array('txt' => '6 。', 'url' => 'index.php?page=felveteli&sub=tajekoztato/20082009&f=6'),
+ );
+*/
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-forum.php b/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-forum.php
new file mode 100644
index 00000000..bd7a4d5c
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-forum.php
@@ -0,0 +1,17 @@
+<?php
+
+ if (defined('_SESSIONID') and _SESSIONID != '') {
+ $MENU['session'] = array(
+ array('txt' => 'ログアウトする', 'url' => 'index.php?page=session&f=logout')
+ );
+ }
+ $MENU['forum'] = array(
+ array('txt' => 'フォーラム', 'url' => 'index.php?page=forum&f=forum')
+ );
+ $MENU['modules']['forum']['forum'] = array(
+ array('txt' => 'フォーラム', 'url' => 'index.php?page=forum&f=forum'),
+ array('txt' => 'フォーラムログイン', 'url' => 'index.php?page=auth&f=login&toPSF=forum::forum&toPolicy=public'),
+ array('txt' => 'ユーザー登録', 'url' => 'index.php?page=session&f=createAccount&toPolicy=public&toPSF=forum::forum')
+ );
+
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-keptar.php b/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-keptar.php
new file mode 100644
index 00000000..8edf0a88
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-keptar.php
@@ -0,0 +1,16 @@
+<?php
+
+// $MENU['keptar'] = array(
+// array('txt' => 'ギャラリー', 'url' => 'index.php?page=keptar&f=keptar')
+// );
+
+// $MENU['modules']['keptar']['uncat'] = array(
+// array('txt' => 'uncategorized 画像', 'url' => 'index.php?page=keptar&f=uncat')
+// );
+
+// $MENU['modules']['session']['createAccount'] = array(
+// array('txt' => '両親登録', 'url' => 'index.php?page=session&f=createAccount&toPolicy=parent'),
+// array('txt' => 'フォーラム登録', 'url' => 'index.php?page=session&f=createAccount&toPolicy=public'),
+// );
+
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-naplo.php b/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-naplo.php
new file mode 100644
index 00000000..6c099716
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-naplo.php
@@ -0,0 +1,13 @@
+<?php
+/*
+ module: naplo
+*/
+
+ $MENU['naplo'] = array(array('txt' => '時刻表', 'url' => 'index.php?page=naplo&sub=orarend&f=orarend'));
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => '時刻表', 'url' => 'index.php?page=naplo&sub=orarend&f=orarend'),
+ array('txt' => '未使用の教室', 'url' => 'index.php?page=naplo&sub=orarend&f=szabadTerem'),
+ array('txt' => 'Helyettesítés', 'url'=>'index.php?page=naplo&sub=orarend&f=helyettesites')
+ );
+
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-portal.php b/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-portal.php
new file mode 100644
index 00000000..1b58a332
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/include/menu/public/jp_JP/module-portal.php
@@ -0,0 +1,40 @@
+<?php
+/*
+ module: naplo
+*/
+
+/*
+ $MENU['portal'] = array(array('txt' => '学生の身分, 導入, 空き', 'url' => 'index.php?page=portal&sub=info&f=info'));
+
+ $MENU['modules']['portal']['info'] = array(array('txt' => '空き', 'url' => 'index.php?page=portal&sub=info&f=info'));
+ $MENU['modules']['portal']['diaksag'] = array(array('txt' => '学生生活', 'url' => 'index.php?page=portal&sub=diaksag&f=vmgmix'));
+ $MENU['modules']['portal']['dok'] = array(array('txt' => '学生自治', 'url' => 'index.php?page=portal&sub=dok&f=diakkepviselok'));
+ $MENU['modules']['portal']['bemutatkozas'] = array(array('txt' => '導入', 'url' => 'index.php?page=portal&sub=bemutatkozas&f=konyvtar'));
+ $MENU['modules']['portal']['szmsz'] = array(array('txt' => 'SzMSz', 'url' => 'index.php?page=portal&sub=szmsz&f=tartalom'));
+ $MENU['modules']['portal']['pepo'] = array(array('txt' => '教育プログラム', 'url' => 'index.php?page=portal&sub=pepo&f=tartalom'));
+ $MENU['modules']['portal']['hazirend'] = array(array('txt' => 'ポリシー', 'url' => 'index.php?page=portal&sub=hazirend&f=hazirend2005'));
+ $MENU['modules']['portal']['sub']['bemutatkozas'][] = array(
+ array('txt' => '図書館', 'url' => 'index.php?page=portal&sub=bemutatkozas&f=konyvtar')
+ );
+ $MENU['modules']['portal']['sub']['pepo'][] = array(
+ array('txt' => '目次', 'url' => 'index.php?page=portal&sub=pepo&f=tartalom'),
+ array('txt' => '2 。章', 'url' => 'index.php?page=portal&sub=pepo&f=2'),
+ array('txt' => '3 。章', 'url' => 'index.php?page=portal&sub=pepo&f=3'),
+ array('txt' => '4 。章', 'url' => 'index.php?page=portal&sub=pepo&f=4'),
+ array('txt' => '5 。章', 'url' => 'index.php?page=portal&sub=pepo&f=5'),
+ array('txt' => '6 。章', 'url' => 'index.php?page=portal&sub=pepo&f=6'),
+ array('txt' => '7 。章', 'url' => 'index.php?page=portal&sub=pepo&f=7'),
+ array('txt' => '8 。章', 'url' => 'index.php?page=portal&sub=pepo&f=8'),
+ );
+ $MENU['modules']['portal']['sub']['szmsz'][] = array(
+ array('txt' => '目次', 'url' => 'index.php?page=portal&sub=szmsz&f=tartalom'),
+ array('txt' => '2 。章', 'url' => 'index.php?page=portal&sub=szmsz&f=2'),
+ array('txt' => '3 。章', 'url' => 'index.php?page=portal&sub=szmsz&f=3'),
+ array('txt' => '4 。章', 'url' => 'index.php?page=portal&sub=szmsz&f=4'),
+ array('txt' => '5 。章', 'url' => 'index.php?page=portal&sub=szmsz&f=5'),
+ );
+ $MENU['modules']['portal']['sub']['diaksag'][] = array(
+ array('txt' => 'VMG-mix (Alpár Balázs, Bartos Ábel)', 'url' => 'index.php?page=portal&sub=diaksag&f=vmgmix'),
+ );
+*/
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/backend/ldap/attrs.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/backend/ldap/attrs.php
new file mode 100644
index 00000000..3685114e
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/backend/ldap/attrs.php
@@ -0,0 +1,59 @@
+<?php
+ define('_LDAP_USERACCOUNT','ユーザーアカウント');
+ define('_LDAP_USERCN','名前');
+ define('_YEAR','年');
+ define('_MONTH','月');
+ define('_DAY','日');
+ define('_FIU','男性');
+ define('_LANY','女性');
+ define('_LDAPDN','LDAP Dn');
+ define('_LDAPUID','LDAP ID');
+ define('_LDAPUIDNUMBER','LDAP ユーザの ID 番号');
+ define('_LDAPGIDNUMBER','LDAP グループの ID 番号');
+ define('_LDAPGECOS','LDAP Gecos');
+ define('_LDAPCN','LDAP 氏名');
+ define('_LDAPSTUDYID','LDAP 教育の ID');
+ define('_LDAPSN','LDAP 姓');
+ define('_LDAPGIVENNAME','LDAP 最初の名前');
+ define('_LDAPMAIL','LDAP 電子メール');
+ define('_LDAPHOMEPAGE','LDAP ホームページ');
+ define('_LDAPURL','LDAP URL');
+ define('_LDAPTELEPHONENUMBER','LDAP 電話番号');
+ define('_LDAPMOBILE','LDAP 携帯電話番号');
+ define('_LDAPYEAR','LDAP 年');
+ define('_LDAPCLASS','LDAP クラス');
+ define('_LDAPL','LDAP 市');
+ define('_LDAPSTREET','LDAP ストリート');
+ define('_LDAPPOSTALADDRESS','LDAP 住所');
+ define('_LDAPPOSTALCODE','LDAP 郵便番号');
+ define('_LDAPHOMEDIRECTORY','LDAP ホームディレクトリ');
+ define('_LDAPLEADER','LDAP リーダー');
+ define('_LDAPDESCRIPTION','LDAP 説明');
+ define('_LDAPROOMNUMBER','LDAP 部屋番号');
+ define('_LDAPREGISTERTIMESTAMP','LDAP 登録の日');
+ define('_LDAPPRIMARYSCHOOLOMCODE','LDAP OM コード');
+ define('_LDAPCLASSTIMESTAMP','LDAP class time');
+ define('_LDAPSTUDENTCARDNUMBER','LDAP 学生のカード番号');
+ define('_LDAPSTUDENTCARDTIMESTAMP','LDAP 学生のカードを公開');
+ define('_LDAPTAXID',' LDAP 納税者番号');
+ define('_LDAPBIRTHTIMESTAMP','LDAP 生年月日');
+ define('_LDAPBIRTHLOCALITY','LDAP 市の誕生');
+ define('_LDAPREGISTERNUMBER','LDAP 登録番号');
+ define('_LDAPDIARYNUMBER','LDAP レジスタ番号');
+ define('_LDAPSEX','LDAP 性別');
+ define('_LDAPGUARDIANCN','LDAP ガーディアンの名前');
+ define('_LDAPMOTHERCN','LDAP 母の名前');
+ define('_LDAPLOCALITYTIMESTAMP','LDAP アドレスの日付');
+ define('_LDAPTAJNUMBER','LDAP 社会保障番号');
+ define('_LDAPMEMBER','LDAP メンバー');
+ define('_LDAPSTUDENTMEMBER','LDAP 学生会員');
+ define('_LDAPEXEMPTMEMBER','LDAP メンバーの免除');
+ define('_LDAPEXAMERMEMBER','LDAP 受験');
+ define('_LDAPMEMBERUID','LDAP メンバー ID');
+ define('_LDAPSHADOWLASTCHANGE','LDAP SHADOW の影を変更する');
+ define('_LDAPSHADOWEXPIRE','LDAP SHADOW 有効期限');
+ define('_LDAPSHADOWWARNING','LDAP SHADOW の警告');
+ define('_LDAPSHADOWMIN','LDAP SHADOW の最小時間');
+ define('_LDAPSHADOWMAX','LDAP SHADOW の最大時間');
+ define('_LDAPSHADOWINACTICE','LDAP SHADOW は非表示');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/backend/mysql/attrs.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/backend/mysql/attrs.php
new file mode 100644
index 00000000..265a0162
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/backend/mysql/attrs.php
@@ -0,0 +1,15 @@
+<?php
+ define('_MYSQLUID','ID 番号');
+ define('_MYSQLPOLICY','許可');
+ define('_MYSQLCN','ユーザー名');
+ define('_MYSQLSTUDYID','学生 ID');
+ define('_MYSQLMAIL','電子メール');
+ define('_MYSQLTELEPHONENUMBER','電話');
+ define('_MYSQLUSERPASSWORD','パスワード');
+ define('_MYSQLSHADOWLASTCHANGE','最終変更');
+ define('_MYSQLSHADOWEXPIRE','パスワードの有効期限が切れる');
+ define('_MYSQLSHADOWWARNING','パスワードを警告');
+ define('_MYSQLSHADOWMIN','最小時間');
+ define('_MYSQLSHADOWMAX','最大時間');
+ define('_MYSQLSHADOWINACTICE','非表示');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/base/base.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/base/base.php
new file mode 100644
index 00000000..43384433
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/base/base.php
@@ -0,0 +1,21 @@
+<?php
+ define('_MAIN_TITLE','MaYoR - 3.00');
+ define('_MAIN_FOOTER','MaYoR © 2002-2007');
+ define('_TANAR','先生');
+ define('_DIAK','学生');
+ define('_TITKARSAG','長官');
+ define('_GAZDASAGI','金融庁');
+ define('_EGYEB','その他');
+ define('_ERROR','エラー');
+ define('_INFORMATION','情報');
+ define('_CONTROL_FLAG_REQUIRED','のログインが必要です。');
+ define('_CONTROL_FLAG_OPTIONAL','ログインしてはオプションです。');
+ define('_PRIVATE_PASSWORD','パスワード');
+ define('_PARENT_PASSWORD','両親パスワード');
+ define('_PUBLIC_PASSWORD','公共パスワード');
+ define('_MAYOR_DESC','');
+ define('_HELP','ヘルプ');
+ define('_GREETING','MaYoR ログイン');
+ define('_LOGIN','エントリ');
+ define('_USERNAME','ユーザー名');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/date/names.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/date/names.php
new file mode 100644
index 00000000..21297df0
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/date/names.php
@@ -0,0 +1,21 @@
+<?php
+ define('_MONDAY','月曜日');
+ define('_TUESDAY','火曜日');
+ define('_WEDNESDAY','水曜日');
+ define('_THURSDAY','木曜日');
+ define('_FRIDAY','金曜日');
+ define('_SATURDAY','土曜日');
+ define('_SUNDAY','日曜日');
+ define('_JANUARY','1月');
+ define('_FEBRUARY','2月');
+ define('_MARCH','3月');
+ define('_APRIL','4月');
+ define('_MAY','5月');
+ define('_JUNE','6月');
+ define('_JULY','7月');
+ define('_AUGUSTUS','8月');
+ define('_SEPTEMBER','9月');
+ define('_OCTOBER','10月');
+ define('_NOVEMBER','11月');
+ define('_DECEMBER','12月');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-auth/login.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-auth/login.php
new file mode 100644
index 00000000..0d373e63
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-auth/login.php
@@ -0,0 +1,5 @@
+<?php
+ define('_GREETING','MaYoR ログイン');
+ define('_LOGIN','エントリ');
+ define('_USERNAME','ユーザー名');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-forum/base.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-forum/base.php
new file mode 100644
index 00000000..8d1ddead
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-forum/base.php
@@ -0,0 +1,8 @@
+<?php
+ define('_TEMA','トピック');
+ define('_LAPOZO','ページ');
+ define('_LASTUNAME','最後の投稿された');
+ define('_DB','返信');
+ define('_LASTDT','時');
+ define('_OK','送信');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-honosito/text.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-honosito/text.php
new file mode 100644
index 00000000..1ae2c22f
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-honosito/text.php
@@ -0,0 +1,11 @@
+<?php
+ define('_SZOVEGEK_FORDITASA','テキスト翻訳');
+ define('_KONSTANS','定数');
+ define('_FORDITANDO','テキストを翻訳する');
+ define('_FORDITAS','翻訳');
+ define('_VISSZA','<< 背面');
+ define('_NYELVVALASZTO','言語を選択');
+ define('_FILE_LISTA','ファイルリスト');
+ define('_VALASZTOTT_NYELV','選ばれた言語');
+ define('_OK','');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-keptar/keptar.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-keptar/keptar.php
new file mode 100644
index 00000000..e93c6ee9
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-keptar/keptar.php
@@ -0,0 +1,4 @@
+<?php
+ define('_TOVABB','次の');
+ define('_VISSZA','背面');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/azonositok.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/azonositok.php
new file mode 100644
index 00000000..d1f60c5b
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/azonositok.php
@@ -0,0 +1,7 @@
+<?php
+ define('__PAGETITLE','新しいIDを作る');
+ define('_NEV','名前');
+ define('_AZONOSITO','ID');
+ define('_JELSZO','初心者パスワード');
+ define('_OID','教育の ID');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/csoportok.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/csoportok.php
new file mode 100644
index 00000000..74d2cc59
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/csoportok.php
@@ -0,0 +1,9 @@
+<?php
+ define('__PAGETITLE','管理グループ');
+ define('_CSOPORT_MODOSITAS','修正グループ');
+ define('_CSOPORT_TORLESE','グループを削除');
+ define('_TOROL','削除');
+ define('_UJ_CSOPORT','新しいグループを追加');
+ define('_BIZTOS_E','ご希望してもよろしいですグループを削除するか?');
+ define('_CSOPORT_NEVE','グループの名前');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/intezmenyek.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/intezmenyek.php
new file mode 100644
index 00000000..90c13838
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/intezmenyek.php
@@ -0,0 +1,12 @@
+<?php
+ define('_UJ_INTEZMENY','新しい研究所を追加');
+ define('_INTEZMENY_MODOSITAS','研究所の細部を修正');
+ define('_INTEZMENY_TORLES','削除研究所');
+ define('_ALAPERTELMEZETT','デフォルト');
+ define('_ADATBAZISOK_TORLESE','データベースの削除');
+ define('_TORLES','削除');
+ define('_OMKOD','OM の ID');
+ define('_ROVIDNEV','ショート ID');
+ define('_NEV','同研究所の名前');
+ define('_OK','オ-ツコ');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/tanevek.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/tanevek.php
new file mode 100644
index 00000000..ff88b7f1
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/admin/tanevek.php
@@ -0,0 +1,12 @@
+<?php
+ define('_UJ_TANEV','学校の年間の新規追加');
+ define('_TANEV_JELE','学校のシンボル年(イヤーオブザスクール始動年) ');
+ define('_SZEMESZTER','学期');
+ define('_TANEV_SZEMESZTEREI','年間の学校の学期');
+ define('_TANEV_AKTIVALAS','年間オープンスクール');
+ define('_AKTIVAL','オープン');
+ define('_TANEV_LEZARAS','学校の年間閉じる');
+ define('_LEZAR','閉じる');
+ define('_TOROL','削除');
+ define('_OK','分かったよ');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/base.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/base.php
new file mode 100644
index 00000000..925abaad
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/base.php
@@ -0,0 +1,19 @@
+<?php
+ define('__MUNKAKOZOSSEGSELECTTITLE','部');
+ define('__TARGYSELECTTITLE','件名');
+ define('__INTEZMENYSELECTTITLE','学校');
+ define('__TANEVSELECTTITLE','学年');
+ define('__TABLESELECTTITLE','SQL の表');
+ define('__OSZTALYSELECTTITLE','クラス');
+ define('__TANARSELECTTITLE','先生');
+ define('__DIAKSELECTTITLE','学生');
+ define('__TANKORSELECTTITLE','研究会');
+ define('__DATUMSELECTTITLE','日付');
+ define('__DATUMTOLIGSELECTTITLE','日付');
+ define('__ORASELECTTITLE','レッスン');
+ define('__TEREMSELECTTITLE','部屋');
+ define('__ORARENDIHETSELECTTITLE','週');
+ define('_OK','オッコ');
+ define('_DELETE','削除');
+ define('_ORA','レッスン');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/bejegyzesek/bejegyzesek.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/bejegyzesek/bejegyzesek.php
new file mode 100644
index 00000000..50ce2a0a
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/bejegyzesek/bejegyzesek.php
@@ -0,0 +1,6 @@
+<?php
+ define('__PAGETITLE','エントリ');
+ define('_UZENET','メッセージ');
+ define('_TOROL','削除');
+ define('_UJBEJEGYZES','新しいエントリ');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/bejegyzesek/ujBejegyzes.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/bejegyzesek/ujBejegyzes.php
new file mode 100644
index 00000000..9ddfe6bf
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/bejegyzesek/ujBejegyzes.php
@@ -0,0 +1,7 @@
+<?php
+ define('__PAGETITLE','新しいエントリ');
+ define('_UZENET','メッセージ');
+ define('_ROGZIT','提出する');
+ define('_MEGJEGYZES','コメント');
+ define('_BEJEGYZESEK','エントリ');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/bejegyzesek/uj_bejegyzes.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/bejegyzesek/uj_bejegyzes.php
new file mode 100644
index 00000000..7299bbfc
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/bejegyzesek/uj_bejegyzes.php
@@ -0,0 +1,15 @@
+<?php
+ define('_UJ_BEJEGYZES','新しいエントリ');
+ define('_UZENET','メッセージ');
+ define('_ROGZIT','提出する');
+ define('_MEGJEGYZES','コメント');
+ define('_TANKOR','研究会');
+ define('_DATUM','日付');
+ define('_TANAR','先生');
+ define('_ORASZAM','レッスン数');
+ define('_TANANYAG','素材');
+ define('_IDOSZAK','期間');
+ define('_HALADASI_NAPLO','進捗状況登録');
+ define('_BEJELENTETT_DOLGOZAT','試験を発表しました');
+ define('_BEJELENTVE','発表した。');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/diakValaszto.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/diakValaszto.php
new file mode 100644
index 00000000..edc378c8
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/diakValaszto.php
@@ -0,0 +1,3 @@
+<?php
+ define('__PAGETITLE','学生セレクタ');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/elmaradas.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/elmaradas.php
new file mode 100644
index 00000000..eadd0a0f
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/elmaradas.php
@@ -0,0 +1,4 @@
+<?php
+ define('_LEZART','クローズド');
+ define('_BEIRANDO','登録される');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/elszamolas.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/elszamolas.php
new file mode 100644
index 00000000..fae3f1bd
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/elszamolas.php
@@ -0,0 +1,8 @@
+<?php
+ define('__PAGETITLE','ペイオフ');
+ define('_HETI_ORASZAM','1週間あたりのレッスン数');
+ define('_TIK','期間の教示');
+ define('_TIK_TITLE','(数多くの特殊な勤務時間勤務+ ) * ( 1週間あたりのレッスン数/ 5 )');
+ define('_TM','進捗状況統計');
+ define('_TM_TITLE','すべての数を与えられた教訓');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/haladasi.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/haladasi.php
new file mode 100644
index 00000000..baf81d5e
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/haladasi.php
@@ -0,0 +1,19 @@
+<?php
+ define('__PAGETITLE','進捗状況登録');
+ define('_DATUM','日付');
+ define('_ORA','レッスン');
+ define('_TANKOR','研究会');
+ define('_TANAR','先生');
+ define('_ORASZAM','レッスン数');
+ define('_TANANYAG','素材');
+ define('_IDOSZAK','任期');
+ define('_HALADASI_NAPLO','進捗状況登録');
+ define('_BEJELENTETT_DOLGOZAT','試験を発表しました');
+ define('_BEJELENTVE','発表した');
+ define('_MODOSIT','修正');
+ define('_ROGZIT','保存');
+ define('_NINCS_BEIRVA','登録ではない');
+ define('_HIANYZOK','行方不明の生徒');
+ define('_HET','週');
+ define('_NINCS_ORAJA','発表していないため、この日のレッスン(まだ) 。');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/helyettesites.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/helyettesites.php
new file mode 100644
index 00000000..6b543e68
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/helyettesites.php
@@ -0,0 +1,18 @@
+<?php
+ define('_HELYETTESITES','置換');
+ define('__PAGETITLE','置換');
+ define('_DATUM_VALASZTAS','日付の選択');
+ define('_HIANYZO_TANAROK','行方不明の教師');
+ define('_ORA','レッスン');
+ define('_VISSZAALLIT','復元する');
+ define('_KEZI_BEALLITAS','マニュアル修正');
+ define('_ORA_MOZGATAS','動きのレッスン');
+ define('_MOZGATANDO','レッスンに動かさなければならない');
+ define('_UJ_IDOPONT','新規公開');
+ define('_CSERELENDO','レッスンに交換');
+ define('_ORA_CSERE','レッスン交換');
+ define('_CSERE_ATTEKINTES','交流の概要/動き');
+ define('_MIT','引っ越しのレッスン');
+ define('_HONNAN','から');
+ define('_HOVA','を');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/osszevonas.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/osszevonas.php
new file mode 100644
index 00000000..5da00744
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/osszevonas.php
@@ -0,0 +1,12 @@
+<?php
+ define('_EREDET','ソース');
+ define('_PLUSZ','プラスレッスン');
+ define('_ORAREND','授業時間割');
+ define('_ORA_FELVETELE','追加レッスン');
+ define('_ORA_FELVETELE_CONFIRM','にしてもよろしいですか?');
+ define('_ORAI','\'秒クラス');
+ define('_OSZTALY','クラス');
+ define('_ORA','レッスン');
+ define('_TORLENDOK','この合併は、次のレッスンをしない原因に開催される');
+ define('__PAGETITLE','マージ');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/pluszora.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/pluszora.php
new file mode 100644
index 00000000..7b0b56dd
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/pluszora.php
@@ -0,0 +1,10 @@
+<?php
+ define('_EREDET','ソース');
+ define('_PLUSZ','プラスレッスン');
+ define('_ORAREND','授業時間割');
+ define('_ORA_FELVETELE','追加レッスン');
+ define('_ORAI','\'秒レッス');
+ define('_OSZTALY','クラス');
+ define('_ORA','レッスン');
+ define('__PAGETITLE','プラスのレッスンを追加');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/stat.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/stat.php
new file mode 100644
index 00000000..fccbc6cf
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/haladasi/stat.php
@@ -0,0 +1,8 @@
+<?php
+ define('__PAGETITLE','進捗状況の統計情報を登録');
+ define('_TANKORNEV','研究会');
+ define('_MEGTARTOTT_ORASZAM','開かれた');
+ define('_BECSULT_HATRALEVO_ORASZAM','推定残り');
+ define('_BECSULT_OSSZES_ORASZAM','すべての推定');
+ define('_TERVEZETT_ORASZAM','計画');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hianyzas/diak.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hianyzas/diak.php
new file mode 100644
index 00000000..794a001c
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hianyzas/diak.php
@@ -0,0 +1,6 @@
+<?php
+ define('__PAGETITLE','毎月の欠席');
+ define('_IGAZOLATLAN','公称不在');
+ define('_MARNEMIGAZOLHATO','もはや折り紙付きの不在');
+ define('_BEIRHATO','登録できる');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hianyzas/nap.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hianyzas/nap.php
new file mode 100644
index 00000000..16536d62
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hianyzas/nap.php
@@ -0,0 +1,11 @@
+<?php
+ define('__PAGETITLE','学生の1日の欠席');
+ define('_IGAZOLATLAN','公称');
+ define('_TANKOR','研究会');
+ define('_J','');
+ define('_K','');
+ define('_H','');
+ define('_F','');
+ define('_FM','');
+ define('_IGAZOLT','公認');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hianyzas/ora.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hianyzas/ora.php
new file mode 100644
index 00000000..a7670d74
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hianyzas/ora.php
@@ -0,0 +1,12 @@
+<?php
+ define('__PAGETITLE','行方不明からクラス');
+ define('_IGAZOLATLAN','公称');
+ define('_ADOTT_NAP','1日');
+ define('_NEV_OSZTALY','名前は、クラス');
+ define('_J','');
+ define('_K','');
+ define('_H','');
+ define('_F','');
+ define('_FM','');
+ define('_IGAZOLT','公認');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hibabejelento/admin.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hibabejelento/admin.php
new file mode 100644
index 00000000..dbb26724
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hibabejelento/admin.php
@@ -0,0 +1,8 @@
+<?php
+ define('__PAGETITLE','リクエストの処理');
+ define('_LEZARAS','閉じる');
+ define('_JOVAHAGYAS','正当化する');
+ define('_MEGJEGYZES','コメント');
+ define('_ESZREVETEL','備考/リクエスト');
+ define('_SZOVEG','テキストのリクエスト...');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hibabejelento/hibabejelento.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hibabejelento/hibabejelento.php
new file mode 100644
index 00000000..49923a74
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/hibabejelento/hibabejelento.php
@@ -0,0 +1,5 @@
+<?php
+ define('__PAGETITLE','エラー報告');
+ define('_ESZREVETEL','備考/リクエスト');
+ define('_SZOVEG','テキストのリクエスト...');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/diak.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/diak.php
new file mode 100644
index 00000000..eaf56bc2
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/diak.php
@@ -0,0 +1,53 @@
+<?php
+ define('__PAGETITLE','ハンドルの学生');
+ define('_LEZARAS','閉じる');
+ define('_JOGVISZONY_VEGE','最後には、生徒のステータス');
+ define('_JOGVISZONY_LEZARASA','学生のステータスを閉じる');
+ define('_BIZTOS_LEZARJA','してもよろしいですしたい学生のステータスを閉じるためには、学生ですか?');
+ define('_JOGVISZONY_MEGNYITASA','新たな学生のステータスを開く');
+ define('_JOGVISZONY_KEZDETE','開始日は、生徒のステータス');
+ define('_VEGZO_TANEV','年卒業(見込み)');
+ define('_VEGZO_SZEMESZTER','卒業学期');
+ define('_KEZDO_TANEV','学年の就学');
+ define('_KEZDO_SZEMESZTER','学期の就学');
+ define('_MEGNYITAS','オープン');
+ define('_BIZTOS_MEGNYITJA','にしてもよろしいの法的な関係を再開したいですか? ');
+ define('_DIAK_TANULMANYI_ADATOK','詳細');
+ define('_MAGANTANULOI_STATUS','私立の学生としてマーク');
+ define('_MAGANTANULOI_STATUS_ELETBELEPESE','私立の学生のステータス初期化の日付');
+ define('_BIZTOS_MAGANTANULO_LESZ','マークしてよろしいですが、この一つとして、民間の学生ですか? ');
+ define('_DIAK_OSZTALYA','クラス');
+ define('_DIAK_ADATAI','学生の詳細');
+ define('_DIAK_ALAPADATAI','学生の詳細(基本)');
+ define('_DIAK_SZULETESI_ADATAI','出生の詳細');
+ define('_DIAK_CIM_LAKHELY','レジデンス');
+ define('_DIAK_CIM_TART','連絡先住所');
+ define('_DIAK_ELERHETOSEG','在庫');
+ define('_DIAK_SZULO','両親');
+ define('_NEV','名前');
+ define('_OID','教育の ID');
+ define('_NEM','性別');
+ define('_DIAKIGAZOLVANYSZAM','学生の身分証明書番号');
+ define('_ALLAMPOLGARSAG','国籍');
+ define('_TAJSZAM','TAJ 数');
+ define('_SZULETESKORINEV','幼名');
+ define('_SZULETESIHELY','出生地');
+ define('_SZULETESIIDO','生年月日');
+ define('_SZULETES','');
+ define('_ORSZAG','国');
+ define('_IRSZ','郵便番号');
+ define('_HELYSEG','市');
+ define('_KOZTERULETNEV','地区');
+ define('_HAZSZAM','数');
+ define('_EMELET','床');
+ define('_AJTO','ドア');
+ define('_EMAIL','電子メールアドレス');
+ define('_TELEFON','電話');
+ define('_MOBIL','携帯電話/携帯電話');
+ define('_ANYA','母');
+ define('_APA','父');
+ define('_GONDVISELO','法的保護者');
+ define('_EXPORT','輸出の詳細');
+ define('_UJ_DIAK','新入生を追加');
+ define('_TERVEZETT_KEZDO_TANEV','就学年(予想)');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/diakTankor.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/diakTankor.php
new file mode 100644
index 00000000..bb4131ec
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/diakTankor.php
@@ -0,0 +1,6 @@
+<?php
+ define('__PAGETITLE','学生の研究グループ');
+ define('_OSZTALYTANKOROK','クラスの研究グループ');
+ define('_DIAKTANKOROK','学生の研究グループ');
+ define('_LEZART','クローズド/学校の年間計画');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/munkakozosseg.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/munkakozosseg.php
new file mode 100644
index 00000000..add885e2
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/munkakozosseg.php
@@ -0,0 +1,9 @@
+<?php
+ define('__PAGETITLE','部署');
+ define('_MUNKAKOZOSSEGNEV','部署の名前');
+ define('_TARGYNEV','件名の名前');
+ define('_VEGLEGES_TORLES','永久削除');
+ define('_MUNKAKOZOSSEGVEZETO','頭部');
+ define('_MUNKAKOZOSSEGTAGOK','メンバーの部');
+ define('_UJTAGOK','新規会員');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/osztaly.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/osztaly.php
new file mode 100644
index 00000000..805f240d
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/osztaly.php
@@ -0,0 +1,21 @@
+<?php
+ define('__PAGETITLE','管理クラス');
+ define('_KEPZES','訓練');
+ define('_KEZDOTANEV','1年のスタート');
+ define('_VEGZOSTANEV','1年間の卒業式');
+ define('_KEZDOEVFOLYAM','始動等級');
+ define('_JEL','マークのクラス');
+ define('_UJOSZTALY','新しいクラス');
+ define('_FILESELECTTITLE','クラスのメンバーはリフレッシュ');
+ define('_OSZTALY_ADATAI','クラスの詳細');
+ define('_FIELDSELECTMESSAGE','新入生を追加するときは、記入して、始動する必要があります。仕上げ年とし、また、 2学期に入って、その日のクラス( beDt )ボックスをオンにします。');
+ define('_OSZTALYFONOKOK','ヘッドの授業');
+ define('_TANARNEVE','先生の名前');
+ define('_BEDT','から');
+ define('_KIDT','を');
+ define('_TOROL','削除');
+ define('_OSZTALY_TORLESE','クラスを削除する');
+ define('_OSZTALY_TORLES_TITLE','願いを削除してもよろしいですクラスとそのすべての接続ですか?');
+ define('_UJ_TAG','メンバーを追加');
+ define('_OSZTALYNEVSOR','リスト');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tanar.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tanar.php
new file mode 100644
index 00000000..23aed0e1
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tanar.php
@@ -0,0 +1,18 @@
+<?php
+ define('__PAGETITLE','教師管理');
+ define('_FILESELECTTITLE','リフレッシュ教員データ');
+ define('_TANAR_ALAPADATAI','');
+ define('_TANAR_SZULETESI_ADATAI','詳細を出産');
+ define('_UJ_TANAR','');
+ define('_TANAR_JOGVISZONYA','');
+ define('_NEV','名前');
+ define('_OID','学生 ID');
+ define('_NEM','性別');
+ define('_BEDT','から');
+ define('_KIDT','まで');
+ define('_SZULETESKORINEV','');
+ define('_SZULETESIHELY','出生地');
+ define('_SZULETESIIDO','生年月日');
+ define('_BEDT','から');
+ define('_KIDT','まで');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankor.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankor.php
new file mode 100644
index 00000000..4c17e10c
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankor.php
@@ -0,0 +1,24 @@
+<?php
+ define('__PAGETITLE','研究グループ');
+ define('_MEGJELOLTIDOSZAKBANTANAR','先生は、期間');
+ define('_TANKOR','研究会');
+ define('_ELNEVEZES','名前');
+ define('_TIPUS','タイプ');
+ define('_VALASZTHATO','選択可能な');
+ define('_IGEN','はい');
+ define('_NEM','いいえ');
+ define('_KOVETELMENY','要件');
+ define('_JELENLET','プレゼンス');
+ define('_JEGY','グレード');
+ define('_ALAIRAS','署名');
+ define('_KOTELEZO','必須');
+ define('_NEMKOTELEZO','強制しない');
+ define('_SZEMESZTEREK','学期');
+ define('_SZEMESZTER','学期');
+ define('_HETI_ORASZAM','1週間あたりのレッスン');
+ define('_OSZTALYJELE','マークのクラス');
+ define('_LEIRAS','説明');
+ define('_VEGLEGES_TORLES','恒久的な公開');
+ define('_RESZTVEVO_OSZTALYOK','授業に出席');
+ define('_TANKORDIAK','研究グループのメンバーは');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankorDiak.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankorDiak.php
new file mode 100644
index 00000000..1000756e
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankorDiak.php
@@ -0,0 +1,16 @@
+<?php
+ define('__PAGETITLE','学生たちの研究グループ');
+ define('_DIAKOK','学生');
+ define('_NEV','名前');
+ define('_METTOL','から');
+ define('_MEDDIG','まで');
+ define('_JELEN','プレゼンス');
+ define('_KOVETELMENY','要件');
+ define('_JOVAHAGYVA','許可');
+ define('_UJDIAK','学生の研究グループを新たに追加して(から/まで) ');
+ define('_BEDT','日付の取得で');
+ define('_KIDT','日付から抜け出す');
+ define('_TANKOR','研究グループの詳細');
+ define('_BIZTOS_TANKORNEVSOR','願いを削除してもよろしいです(閉じる)のマークの生徒からの研究グループですか?');
+ define('_BUTTON_OK','削除/変更');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankorSzemeszter.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankorSzemeszter.php
new file mode 100644
index 00000000..90ccf4b2
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankorSzemeszter.php
@@ -0,0 +1,4 @@
+<?php
+ define('__PAGETITLE','研究グループの仕事を計画');
+ define('_TANKOR','研究会');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankorTanar.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankorTanar.php
new file mode 100644
index 00000000..2941a690
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/tankorTanar.php
@@ -0,0 +1,6 @@
+<?php
+ define('__PAGETITLE','件名分布レッスン');
+ define('_TANTARGYFELOSZTAS','件名分布レッスン');
+ define('_TANKOR','研究会');
+ define('_ORASZAM','レッスン数');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/valtas.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/valtas.php
new file mode 100644
index 00000000..03c4cc9d
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/intezmeny/valtas.php
@@ -0,0 +1,3 @@
+<?php
+ define('__PAGETITLE','学校を変更する');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/naplo.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/naplo.php
new file mode 100644
index 00000000..0bdb70f4
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/naplo.php
@@ -0,0 +1,4 @@
+<?php
+ define('_MINDEN_BEIRVA','レッスンを管理していただきありがとうございます!');
+ define('_BEIRATLAN_ORAK_SZAMA','unadministrated レッスン');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/osztalyozo/diak.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/osztalyozo/diak.php
new file mode 100644
index 00000000..e40791b3
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/osztalyozo/diak.php
@@ -0,0 +1,9 @@
+<?php
+ define('_TANULO_OSZTALYZATAI','学生の成績');
+ define('__PAGETITLE','学生の成績');
+ define('_TARGY','件名');
+ define('_ATLAG','平均');
+ define('_BIZONYITVANY','学校の報告書');
+ define('_FELEVI','任期の半分');
+ define('_EVVEGI','年度末');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/osztalyozo/jegy.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/osztalyozo/jegy.php
new file mode 100644
index 00000000..55fe03ab
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/osztalyozo/jegy.php
@@ -0,0 +1,13 @@
+<?php
+ define('__PAGETITLE','成績登録-等級を修正する');
+ define('_JEGY_ADATAI','グレードの詳細は');
+ define('_MEGJEGYZES','コメント');
+ define('_MEGJ','コメント');
+ define('_HOZZARENDELT_ORA','添付の教訓');
+ define('_DOLGOZAT','テスト');
+ define('_ORA','レッスン');
+ define('_NINCS','なし');
+ define('_ROGZIT','提出する');
+ define('_TOROL','削除');
+ define('_BIZTOSE','ご希望してもよろしいですグレードを削除するか?');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/diak.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/diak.php
new file mode 100644
index 00000000..7a4daeee
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/diak.php
@@ -0,0 +1,3 @@
+<?php
+ define('__FILENEV','ファイルの場所:');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/ertekeles.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/ertekeles.php
new file mode 100644
index 00000000..626d2e76
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/ertekeles.php
@@ -0,0 +1,18 @@
+<?php
+ define('_SZAKTANARI_DICSERET','件名先生の表彰');
+ define('_OSZTALYFONOKI_DICSERET','先生のフォームを称賛');
+ define('_IGAZGATOI_DICSERET','校長の推薦');
+ define('_NEVELOTESTULETI_DICSERET','称賛のティーチングスタッフ');
+ define('_SEMMI','界ません');
+ define('_SZAKTANARI_FIGYELMEZTETES','件名先生の譴責');
+ define('_SZOBELI_OSZTALYFONOKI_FIGYELMEZTETES','口頭による叱責フォームから教師');
+ define('_OSZTALYFONOKI_FIGYELMEZTETES','フォームの最初の教師の叱責');
+ define('_OSZTALYFONOKI_INTO','先生の2つ目のフォームを譴責');
+ define('_OSZTALYFONOKI_ROVO','フォーム先生の第三譴責');
+ define('_IGAZGATOI_FIGYELMEZTETO','校長の最初の叱責');
+ define('_IGAZGATOI_INTO','2つ目の校長の叱責');
+ define('_IGAZGATOI_ROVO','第三校長の叱責');
+ define('_NEVELOTESTULETI_FIGYELMEZTETES','ティーチングスタッフの最初の叱責');
+ define('_NEVELOTESTULETI_INTES','ティーチングスタッフの第2譴責');
+ define('_NEVELOTESTULETI_MEGROVAS','ティーチングスタッフの第3叱責');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/file.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/file.php
new file mode 100644
index 00000000..d6258855
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/file.php
@@ -0,0 +1,22 @@
+<?php
+ define('_FILENEV','ファイルのパス');
+ define('_VAN_ROVATFEJ','ヘッダが存在する');
+ define('_ATTR_DIAKID','学生証');
+ define('_ATTR_OID','教育の ID');
+ define('_ATTR_IGAZOLVANYSZAM','学生証の ID');
+ define('_ATTR_VNE','名のプレフィックス');
+ define('_ATTR_VCSN','姓');
+ define('_ATTR_VUN','最初の名前');
+ define('_ATTR_SZNE','プレフィックス');
+ define('_ATTR_SZCSN','出生姓');
+ define('_ATTR_SZUN','生まれた最初の名前');
+ define('_ATTR_ANE','母親の誕生接頭辞');
+ define('_ATTR_ACSN','母親の旧姓');
+ define('_ATTR_AUN','母親の名前を前面に');
+ define('_ATTR_SZH','出生地');
+ define('_ATTR_SZI','生年月日');
+ define('_ATTR_KEZDO_TANEV','年始動');
+ define('_ATTR_KEZDO_SZEMESZTER','学期始まる');
+ define('_ATTR_VEGZO_TANEV','プロム年');
+ define('_ATTR_VEGZO_SZEMESZTER','最終学期');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/hianyzas.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/hianyzas.php
new file mode 100644
index 00000000..3a9e06a2
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/hianyzas.php
@@ -0,0 +1,10 @@
+<?php
+ define('_ORVOSI','診断書');
+ define('_SZULOI','親の証明書');
+ define('_TANULMANYI_VERSENY','学校での競争');
+ define('_NYELVVIZSGA','試験言語');
+ define('_OSZTALYFONOKI','フォームの教師の証明書');
+ define('_IGAZGATOI','校長の証明書');
+ define('_IGAZOLATLAN','公称不在');
+ define('_TOROLT','削除された');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/osztalyzatok.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/osztalyzatok.php
new file mode 100644
index 00000000..0d82dcd9
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/osztalyzatok.php
@@ -0,0 +1,23 @@
+<?php
+ define('_ELEGTELEN','欠乏');
+ define('_ELEGSEGES','十分な');
+ define('_ROSSZ','悪い');
+ define('_HANYAG','過失');
+ define('_KOZEPES','メディア');
+ define('_VALTOZO','変数');
+ define('_JO','良い');
+ define('_JELES','輝かしい');
+ define('_PELDAS','未払い');
+ define('_TOROLT','削除された');
+ define('_KIS_JEGY','小さなマーク');
+ define('_NORMAL_JEGY','通常のマーク');
+ define('_DOLGOZAT','テスト');
+ define('_TEMAZARO','大試験');
+ define('_VIZSGAJEGY','試験の等級');
+ define('_DICSERET','優等');
+ define('_FIGYELMEZTETO','失敗した場合の警告');
+ define('_NYELVVIZSGA','試験言語');
+ define('_JEGYZET_DICSERET','優等で %1%');
+ define('_JEGYZET_FIGYELMEZTETO','失敗した場合に警告で %1%');
+ define('_JEGYZET_NYELVVIZSGA','試験言語で %1%');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/tanar.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/tanar.php
new file mode 100644
index 00000000..cd472034
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/share/tanar.php
@@ -0,0 +1,8 @@
+<?php
+ define('_TANAR_OID','教育の ID');
+ define('_TANAR_VNE','使用される接頭辞');
+ define('_TANAR_VCSN','姓');
+ define('_TANAR_VUN','最初の名前');
+ define('_TANAR_SZH','出生地');
+ define('_TANAR_SZI','生年月日');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/tanev/helyettesites.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/tanev/helyettesites.php
new file mode 100644
index 00000000..7c6cdfd4
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/tanev/helyettesites.php
@@ -0,0 +1,3 @@
+<?php
+ define('__PAGETITLE','置換え');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/tanev/orarendTankor.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/tanev/orarendTankor.php
new file mode 100644
index 00000000..8a52edc6
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/tanev/orarendTankor.php
@@ -0,0 +1,3 @@
+<?php
+ define('__PAGETITLE','時刻表-研究グループの接続');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/tanev/tankorCsoport.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/tanev/tankorCsoport.php
new file mode 100644
index 00000000..c81c5882
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-naplo/tanev/tankorCsoport.php
@@ -0,0 +1,7 @@
+<?php
+ define('__PAGETITLE','コヒーレント研究グループ');
+ define('_UJ_TANKOR_CSOPORT','新しい研究グループ');
+ define('_CSOPORTNEV','グループ名');
+ define('_TANKOROK','研究会');
+ define('_TANKOR_CSOPORT_MODOSITAS','修正研究グループ');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-password/changeMyPassword.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-password/changeMyPassword.php
new file mode 100644
index 00000000..d04443ff
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-password/changeMyPassword.php
@@ -0,0 +1,7 @@
+<?php
+ define('_CHANGE_PASSWORD','じぶんの名前');
+ define('_USERNAME','ユーザー名');
+ define('_NEW_PASSWORD','新しいパスワード');
+ define('_VERIFICATION','検証');
+ define('_OK','オッコ');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-password/changePassword.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-password/changePassword.php
new file mode 100644
index 00000000..24623580
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-password/changePassword.php
@@ -0,0 +1,7 @@
+<?php
+ define('_CHANGE_PASSWORD','パスワードを変更する');
+ define('_USERNAME','ユーザー名');
+ define('_NEW_PASSWORD','新しいパスワード');
+ define('_VERIFICATION','検証');
+ define('_OK','オッコ');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-portal/hirek/egyhir.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-portal/hirek/egyhir.php
new file mode 100644
index 00000000..c1137f45
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-portal/hirek/egyhir.php
@@ -0,0 +1,11 @@
+<?php
+ define('__TITLE','投稿ニュース');
+ define('_CIM','タイトル');
+ define('_SZOVEG','テキスト');
+ define('_ROGZIT','保存');
+ define('_KULSO_HIR','パブリックニュース');
+ define('_KIS_HIR','小さなニュース');
+ define('_CSAK_BELSO','私的ニュース');
+ define('_NEM_LATSZIK','目に見えない');
+ define('_LATSZIK','目に見える');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/accountInfo.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/accountInfo.php
new file mode 100644
index 00000000..78277cc2
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/accountInfo.php
@@ -0,0 +1,3 @@
+<?php
+ define('_OK','オッコ');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/createAccount.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/createAccount.php
new file mode 100644
index 00000000..d583a48e
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/createAccount.php
@@ -0,0 +1,7 @@
+<?php
+ define('_OK','');
+ define('_CREATE_ACCOUNT','新規ユーザー');
+ define('_VERIFICATION','パスワードで、再度');
+ define('_ACCOUNT_CATEGORY','カテゴリ');
+ define('_DATAFILE','データファイル');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/createGroup.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/createGroup.php
new file mode 100644
index 00000000..4ba7d95c
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/createGroup.php
@@ -0,0 +1,6 @@
+<?php
+ define('_OK','オッコ');
+ define('_CREATE_GROUP','グループを作成');
+ define('_GROUP_CATEGORY','カテゴリを作成');
+ define('_DATAFILE','データファイル');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/download.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/download.php
new file mode 100644
index 00000000..513b2b67
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/download.php
@@ -0,0 +1,7 @@
+<?php
+ define('_FILE','ファイル');
+ define('_SIZE','サイズ');
+ define('_MIMETYPE','MIME タイプ');
+ define('_DOWNLOAD','ダウンロード');
+ define('_DESCRIPTION','ダウンロードした場合は開始されませんが、数秒で、リンクをクリックして!');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/groupInfo.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/groupInfo.php
new file mode 100644
index 00000000..353d6906
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/groupInfo.php
@@ -0,0 +1,4 @@
+<?php
+ define('_OK','オッコ');
+ define('_NEW','新しい');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/search/searchAccount.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/search/searchAccount.php
new file mode 100644
index 00000000..f0897da7
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/search/searchAccount.php
@@ -0,0 +1,19 @@
+<?php
+ define('_SEARCH','ユーザーの検索');
+ define('_OK','');
+ define('_NOTFOUND','結果はありません');
+ define('_CATEGORY','カテゴリ');
+ define('_ACTION','変更');
+ define('_DELETE','削除');
+ define('_CHANGE_PASSWORD','パスワードを変更');
+ define('_ARE_YOU_SURE','てもよろしいですか?');
+ define('_NAME','名前');
+ define('_CLASS','クラス');
+ define('_EMAIL','電子メール');
+ define('_PASSWORD','パスワード');
+ define('_RETYPEPASSWORD','パスワードで、再度');
+ define('_DEFAULTGROUP','グループ');
+ define('_DATAFILE','データファイル');
+ define('_NEWUSER','新規ユーザー');
+ define('_ARE_YOU_SURE','てもよろしいですか?');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/search/searchGroup.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/search/searchGroup.php
new file mode 100644
index 00000000..f28df433
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/module-session/search/searchGroup.php
@@ -0,0 +1,19 @@
+<?php
+ define('_SEARCH','グループ検索');
+ define('_OK','OK');
+ define('_NOTFOUND','結果はありません');
+ define('_CATEGORY','category');
+ define('_ACTION','変更');
+ define('_DELETE','削除');
+ define('_CHANGE_PASSWORD','パスワードを変更');
+ define('_ARE_YOU_SURE','てもよろしいですか?');
+ define('_NAME','名前');
+ define('_CLASS','クラス');
+ define('_EMAIL','電子メール');
+ define('_PASSWORD','パスワード');
+ define('_RETYPEPASSWORD','パスワードを再入力');
+ define('_DEFAULTGROUP','グループ');
+ define('_DATAFILE','データファイル');
+ define('_NEWUSER','新規ユーザー');
+ define('_ARE_YOU_SURE','てもよろしいですか?');
+?>
diff --git a/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/share/session/attrs.php b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/share/session/attrs.php
new file mode 100644
index 00000000..67f16e9f
--- /dev/null
+++ b/mayor-orig/mayor-locales-jp_JP/www/lang/jp_JP/share/session/attrs.php
@@ -0,0 +1,18 @@
+<?php
+ define('_ATTR_USERACCOUNT','識別子');
+ define('_ATTR_USERCN','名前');
+ define('_ATTR_USERPASSWORD','パスワード');
+ define('_ATTR_STUDYID','教育識別子');
+ define('_ATTR_MAIL','電子メールアドレス');
+ define('_ATTR_TELEPHONENUMBER','電話番号');
+ define('_ATTR_SHADOWLASTCHANGE','最後にパスワードの修正');
+ define('_ATTR_SHADOWMIN','まずパスワードの修正');
+ define('_ATTR_SHADOWMAX','パスワードの在庫の時間');
+ define('_ATTR_SHADOWWARNING','パスワードに改変');
+ define('_ATTR_SHADOWINACTIVE','ユーザーアカウントの怖い');
+ define('_ATTR_SHADOWEXPIRE','怖いの日付');
+ define('_ATTR_GROUPCN','チームの識別子');
+ define('_ATTR_GROUPDESC','チームのなまえ');
+ define('_ATTR_LEADER','リーダー');
+ define('_ATTR_MEMBER','メンバー');
+?>
diff --git a/mayor-orig/mayor-wiki/log/mayor-wiki.rev b/mayor-orig/mayor-wiki/log/mayor-wiki.rev
new file mode 100644
index 00000000..ab5135de
--- /dev/null
+++ b/mayor-orig/mayor-wiki/log/mayor-wiki.rev
@@ -0,0 +1 @@
+4455
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/base/azonositas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/base/azonositas.txt
new file mode 100644
index 00000000..75172f65
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/base/azonositas.txt
@@ -0,0 +1,74 @@
+====== A felhasználók azonosítása ======
+
+A felhasználók azonosítása hozzáférési szintenként ([[policy]]) külön szabályozható.
+
+Az adott [[policy]] beállításai az ''config/$policy-conf.php'' állományban definiált ''$AUTH'' tömbben tárolódnak.
+
+
+
+
+===== Opciók =====
+
+ * ''$AUTH[$policy]['backend']''
+A felhasználói adatok tárolását végző háttéradatbázis típusa. Lehetséges értékei: [[base:backend:ldap]], [[base:backend:ad]], [[base:backend:mysql]], [[base:backend:file]]
+
+ * ''$AUTH[$policy]['authentication']''
+Az adott policy-ben kötelező-e az azonosítás. Lehetséges értékei: required (kötelező), optional (opcionális), none (nincs)
+
+ * ''$AUTH[$policy]['onExpired']''
+Mi történjen nem letiltott, delejárt jelszó esetén? Lehetséges értékei: force update (kötelező jelszóváltoztatás), warning (figyelmeztető üzenet), none (semmi)
+
+ * ''$AUTH[$policy]['onDisabed']''
+Mi történjen letiltott azonosító esetén? Lehetséges értékei: refuse (utasítsuk vissza), none (ne történjen semmi - azaz engedjük be)
+
+ * ''$AUTH[$policy]['enableSelfPasswordChange']''
+Engedélyezett-e a jelszó felhasználó általi megváltoztatása (''onExpired=force update'' esetén szükséges!)? Lehetséges értékei: true (igen), false (nem)
+
+ * ''$AUTH[$policy]['createAccount']''
+Azonosító létrehozásának módja. Lehetséges értékei: byRegistration (regisztrációval), byAdmin (adminisztrátor által)
+
+ * ''$AUTH[$policy]['adminGroup']''
+Adminisztrátor csoport megadása (azonosító).
+
+ * ''$AUTH[$policy]['categories']''
+A policy-ban érvényes fő kategóriákat felsoróló tömb. ''private'' esetén például: ''array('tanár','diák','titkárság','egyéb')''
+
+ * ''$AUTH[$policy]['accountAttrs']''
+A fontos account attribútumokat felsoroló tömb (backend-től is függhet!). Például: ''array('studyId','mail','telephoneNumber')''
+
+==== Shadow ====
+
+ * ''$AUTH[$policy]['shadowLastChange']''\\
+Az utolsó jelszóváltoztatás időpontja (1970-01-01 óta eltelt napok számával megadva).
+ * ''$AUTH[$policy]['shadowMin']''\\
+A jelszó érvényességének minimális ideje - **nem használjuk**.
+ * ''$AUTH[$policy]['shadowMax']''\\
+A jelszó érvényességi ideje napokban. Az itt megadott érték határozza meg, hogy hány naponta kell jelszót változtatni. Ha üres, vagy nulla értékű, akkor nem vesszük figyelembe. Ilyenkor a ''shadowInactive'' értéket sem vesszük figyelembe.
+ * ''$AUTH[$policy]['shadowWarning']''\\
+A jelszó érvényességének lejárata előtt hány nappal kezdjük figyelmeztetni a felhasználót.
+ * ''$AUTH[$policy]['shadowExpire']''\\
+A jelszó érvényességének lejárati időpontja (1970-01-01-től eltelt napok számával megadva).
+Ha üres vagy nulla, akkor nem vesszük figyelembe!
+ * ''$AUTH[$policy]['shadowInactive']''\\
+A jelszó érvényességének lejárta után még hány napig nem kerül letiltásra az azonosító. Ha a ''shadowMax'' és a ''shadowExpire'' is nulla, vagy üres, akkor nem vesszük figyelembe.
+
+
+
+Lássuk hogyan működnek ezek a keretrendszerben!
+Haladjunk végig időrendben, hogy mikor mi fog történni:
+ * Ha ''shadowLastchange+shadowMax-shadowWarning'' után, de ''shadowLastchange+shadowMax'' előtt vagyunk, ''onExpire<>none'' és ''shadowMax<>0'', akkor figyelmezetést küldünk, hogy le fog járni a jelszó. Hasonlóan ''shadowExpire-shadowWarning'' után és ''shadowExpire'' előtt is.
+ * Ha ''shadowLastchange+shadowMax'' után vagyunk, ''shadowMax<>0'', vagy ''shadowExpire'' után vagyunk és ''onExprired<>none'', akkor figyelmeztetést küldünk, hogy lejárt a jelszó.
+ * Ha még ''shadowLastchange+shadowMax+shadowInactive'' és ''shadowExpire+shadowInactive"" előtt vagyunk, ''shadowMax<>0'' és ''onDisabled=refuse'', akkor figyelmeztetést küldünk, hogy az azonosító le lesz tiltva.
+ * Ha már ''shadowLastchange+shadowMax+shadowInactive'' után vagyunk, ''shadowMax<>0'' és ''onDisabled=refuse'', akkor nem engedjük belépni.
+ * Ha ''onDisabled=refuse'' és ''shadowExpire+shadowInactive'' után vagyunk, akkor nem engedjük belépni.
+
+
+Tehát lejárat szempontjából a ''shadowExpire'' és a ''shadowLastChange+shadowMax'' közül a kisebb lesz érvényes.
+
+
+----
+
+A backend függő beállításokat lásd a backend leírásánál.
+
+
+====== Facebook connect ======
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/base/backend.txt b/mayor-orig/mayor-wiki/wiki/data/pages/base/backend.txt
new file mode 100644
index 00000000..df4f2914
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/base/backend.txt
@@ -0,0 +1,11 @@
+====== Háttéradatbázisok (backend-ek) ======
+
+A keretrendszer a felhasználói azonosításhoz többféle backend-et használhat. A különböző [[policy|hozzáférési szintek]]en lehet különböző backend-et használni.
+
+Tervezett backend-ek:
+ * [[base:backend:mysql]] - MySQL alapú, az LDAP-nál könnyebben kezelhető háttéradatbázis típus - ez az alapértelmezett backend
+ * [[base:backend:ldap]] - OpenLDAP alapú háttéradatbázis, mely használható Unix/Linux rendszerek felhasználói adatbázisaként is működni (libpam-ldap, libnss-ldap)
+ * [[base:backend:ad]] - Microsoft Active Directory alapú háttéradatbázis
+ * [[base:backend:file]] - Inkább csak tesztelésre használatos backend típus
+
+A keretrendszer több függvényt backendtől függő módon valósít meg. Az ezeket megvalósító programrészek az ''include/backend///backend_nev//'' könyvtár alatt találhatók.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/base/backend/ad.txt b/mayor-orig/mayor-wiki/wiki/data/pages/base/backend/ad.txt
new file mode 100644
index 00000000..b758809a
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/base/backend/ad.txt
@@ -0,0 +1,111 @@
+
+====== Microsoft Active Directory backend ======
+
+A MaYoR keretrendszer az azonosítók és csoportok adatait képes AD-ből is venni. Mi szükséges ehhez?
+
+===== Módosítások az AD-ben =====
+
+Néhány egyszerű módosítást, bővítést el kell végeznünk az AD címtárban.
+
+==== mayor szervezeti egység létrehozása ====
+
+Nem kötelező, de célszerű lehet külön szervezeti egységet (OU) felvenni a mayor-hoz kapcsolódó csoportok, esetleg az admin felhasználó tárolására.
+
+ OU=mayor,DC=your,DC=domain
+
+==== A keretrendszer működtetéséhez szükséges felhasználói fiókok létrehozása ====
+
+Egyes műveletekhez szükséges, hogy a keretrendszer egy emelt jogosultságú felhasználóval tudjon csatlakozni az AD-hoz. Ehhet hozzunk létre külön azonosítót:
+
+ CN=MaYoROperator,OU=mayor,DC=your,DC=domain
+
+Majd tegyük be az **Account Operators** (Fiókfelelősök) csoportba.
+
+A biztonságot fokozhatja, ha létrehozunk a keretrendszer számára egy olyan azonosítót is, amelyik csak normál olvasási joggal rendelkezik a címtárban.
+Ekkor a program azokhoz a feladatokhoz, melyekhez elegendő az olvasási jog, ezt az azonosítót fogja használni.
+
+ CN=MaYoRUser,OU=mayor,DC=your,DC=domain
+
+==== Csoportok létrehozása =====
+
+A MaYoR rendszer igényel néhány felhasználói csoportot. Ezeket létrehozhatjuk a ''mayor'' tároló alatt:
+
+ CN=diak,OU=mayor,DC=your,DC=domain
+ CN=tanar,OU=mayor,DC=your,DC=domain
+ CN=titkarsag,OU=mayor,DC=your,DC=domain
+ CN=diakadmin,OU=mayor,DC=your,DC=domain
+ CN=uzenoadmin,OU=mayor,DC=your,DC=domain
+ CN=vezetoseg,OU=mayor,DC=your,DC=domain
+ CN=naploadmin,OU=mayor,DC=your,DC=domain
+ ...
+
+==== Az oktatási azonosító tárolása ====
+
+A MaYoR keretrendszer az oktatási azonosítót használja arra a célra, hogy a felhasználói azonosítókat és a naplóban szereplő diákokat, tanárokat
+megfeleltesse egymással. Ezért szükséges, hogy a felhasználói fiókok egy attribútumát az oktatási azonosító tárolására használjuk. Hogy melyik
+attribútumot használjuk erre a célra, az szabadon megválasztható, a konfigurációs file-ban megadható (''adsStudyIdAttr'').
+A javasolt, alapértelmezett mező erre a célra a ''serialnumber''.
+
+===== Ellenőrzés 1: LDAP lekérdezés =====
+
+Ellenőrzés képpen aa MaYoR szerverről próbáljunk lekérdezni AD adatokat parancssorból, valahogy így:
+ ldapsearch -H ldap://ad.your.domain -u -x -D "CN=MaYoRUser,OU=mayor,DC=your,DC=domain" -b DC=your,DC=domain '(&(objectclass=person)(cn=MaYoRUser))' -w jelszó
+
+Ha a lekérdezés eredményes, akkor továbbléphetünk. A fenti lekérdezés kódolatlan LDAP kapcsolatot használt, jelszavunk tehát titkosítatlanul utazott a hálózaton.
+Ezen mindenképp változtatni kell, a módosításokhoz a Microsoft AD - nagyon helyesen - meg is követeli a biztonságos kapcsolatot.
+
+===== Tanűsítvány telepítése =====
+
+Első körben tehát biztosítani kell, hogy LDAPS protokollal elérhető legyen az AD. Ehhez készítenünk/vásárolnuk és telepítenünk kell egy tanúsítványt a címtárba.
+Egy leírás erről: [[http://support.microsoft.com/kb/321051]]
+
+Ha saját (pl. MaYoR Hungary által hitelesített) tanúsítványt használtunk, akkor a hitelesítőt is el kell fogadtatnunk, fel kell vennünk a Windows szerveren.
+
+===== Kliens oldali beállítások =====
+
+/etc/ldap/ldap.conf
+ BASE dc=your,dc=domain
+ URI ldaps://ad.your.domain:636
+ TLS_CACERTDIR /etc/ssl/certs
+
+Ha saját (pl. MaYoR Hungary által hitelesített) tanúsítványt használtunk, akkor a hitelesítőt is el kell fogadtatnunk, fel kell vennünk a kliensen is. Ehhez másoljuk a hitelesítő
+tanúsítványát a ''/usr/share/ca-certificates/'' alá új alkönyvtárba (pl. ''mayor.hu''), majd készítsünk szimbolikus linket az elhelyezett file-ra a
+''/etc/ssl/certs'' alá (pl. ''MaYoR.pem.crt'' néven), és egészítsük ki a ''/etc/ldap/ldap.conf'' állományt:
+
+ TLS_CACERT /etc/ssl/certs/MaYoR.pem.crt
+
+===== Ellenőrzés 2: Lekérdezés LDAPS-sel =====
+
+A korábbihoz hasonlóan ellenőrizzük, hogy a telepített tanúsítványokkal megy-e LDAPS-sel a lekérdezés:
+ ldapsearch -H ldaps://ad.your.domain:636 -u -x -D "CN=MaYoRUser,OU=mayor,dc=your,dc=domain" -b dc=your,dc=domain '(&(objectclass=person)(cn=MaYoRUser))' -w jelszó
+
+===== MaYoR konfigurálás =====
+
+Az utolsó lépés, hogy a ''/var/mayor/config/private-conf.php'' állományban az erre vonatkozó konfigurációs beállításokat felvegyük, kitöltsük:
+
+ #Active Directory Backend példa konfig
+ 'backend' => 'ads',
+ 'adsHostname' => 'ldaps://your.domain:636', // Jelszóváltoztatáshoz kötelező az ldaps
+ 'adsBaseDn' => 'DC=your,DC=domain',
+ 'adsUser' => 'CN=MaYoRUser,OU=mayor,DC=your,DC=domain', // Olvasási jog az AD-ben - Normál user
+ 'adsPw' => 'jelszó',
+ 'adsAccountOperatorUser' => 'CN=Operator,OU=mayor,DC=your,DC=domain', // Account Operators (Fiókfelelősök) csoport tag pl (jelszóváltoztatás)
+ 'adsAccountOperatorPw' => 'jelszó',
+ 'adsUserObjectClass' => 'person', // Userek objectum osztálya
+ 'adsGroupObjectClass' => 'group', // Csoportok objectum osztálya
+ 'adsStudyIdAttr' => 'serialnumber', // Az oktatási azonosítót tároló attribútum (studyId)
+ 'adsContainers' => array(
+ 'ou=diak,dc=your,dc=domain' // Azok a tárolók, amikebe kerülhetnek a létrehozandó csoportok és felhasználói azonosítók
+ 'ou=tanar,dc=your,dc=domain' // - már ha a MaYoR-ból szeretnénk azonosítókat felvenni -
+ 'ou=titkarsag,dc=your,dc=domain'
+ ),
+ 'adminGroup' => 'Fiókfelelősök', // A felhasználói azonosítókat kezelők köre a MaYoR-ban - lehet szűkebb csoport is
+ 'cacheable' => true, // bizonyos lekérdezések eredményét egy ideig eltárolja a MaYoR ...
+
+===== Korlátok, kérdések =====
+
+ * A jelszavakra vonatkozó szabályok az AD és a MaYoR együttes szabályozásából adódnak, konkurens szabályok esetén a szigorúbb érvényesül.
+ * A ''diakadmin'' csoport tagjainak arra kell jogot adni, hogy a diákok jelszavait tudja változtatni, erre a funkcióra lett kitalálva ez a csoport. De hogy ezt hogy kell, azt valaki MS guru megírhatná :) ...
+ * Tapasztalataink szerint a Fiókfelelősök jelszavát nem engedi LDAP-n keresztül megváltoztatni az AD. Tud ilyen korlátozásról valaki valamit?
+ * Az Napló/Admin/Azonosító generálás oldal valamiért nagyon lassú. De legalább működik. :-)
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/base/backend/ldap.txt b/mayor-orig/mayor-wiki/wiki/data/pages/base/backend/ldap.txt
new file mode 100644
index 00000000..1e292b24
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/base/backend/ldap.txt
@@ -0,0 +1,26 @@
+====== ldap backend ======
+
+
+===== Rendszer-követelmények =====
+
+ * OpenLDAP 2.*
+ * Az csak ékezettelen azonosítókat tudunk létrehozni
+
+===== MaYoR schema =====
+
+Az ldap backend-hez saját sémát készítettünk, mely a Unix/Linux környzetekben felhasználói azonosításra használt posicAccount és posixGroup objektum osztályokra épül, azokat bővíti újabb attribútumokkal. A schema file-t célszerűen a ''/etc/ldap/mayor/schema/mayor.schema'' szokás helyezni (eredetileg az ''install/base/ldap'' alatt található). A schema eredetileg úgy jött létre, hogy képes legyen tárolni az összes fontos személyes és csoport adatot. A mayor 3.0 verziójától kezdve ezeket nem használjuk ki.
+
+===== Konfigurációs beállítások =====
+
+A beállításokat az ''include/config/$policy-conf.php''-ban definiált ''$AUTH'' globális tömb tartalmazza.
+
+ * ''$AUTH[$policy]['ldap hostname']''
+Az LDAP kiszolgáló host neve, vagy IP címe. Általában 'localhost'.
+
+ * ''$AUTH[$policy]['ldap protocol version']''
+Az LDAP lekérdezésekhez használt protokol verziószáma. Erősen ajánlott: 3.
+
+ * ''$AUTH[$policy]['ldap base dn']''
+Az adatok eléréséhez szükséges gyökér bejegyzés. Általában ''o=intezmeny,c=hu'' alakú.
+
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/base/hibakezeles.txt b/mayor-orig/mayor-wiki/wiki/data/pages/base/hibakezeles.txt
new file mode 100644
index 00000000..336e4ae3
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/base/hibakezeles.txt
@@ -0,0 +1,20 @@
+====== Hibakezelés (alert) ======
+
+A keretrendszer a ''$alert[]'' paraméteren keresztül képes a hiba- és egyéb figyelmeztető-üzenetek kezelésére.
+Az $alert[$i] felépítése: típus:hiba[:param1[:param2[:param3]]]
+
+típus:
+ * alert : javaScript alert
+ * message : hibaüzenet után az oldal betöltődik
+ * page : hibaüzenet után az oldal nem töltődik be
+ * info : információs üzenet
+
+hiba:
+A lehetséges hiba típusok policy (hozzáférési szint) és nyelv (lang) függően épülnek fel és a ''$ALERT_MSG'' tömbben tárolódnak. A tömböt az ''include/alert/$lang/base.php''-ben hozza létre a rendszer, majd bővíti az ''include/alert/$lang/base.php'', ''include/alert/$lang/$backend.php'' és ''include/alert/$lang/module-$page.php'' állományok csatolásával.
+
+Ismeretlen hiba string esetén a megjelenítő függvény az ''default'' hibaüzenetet írja ki, hozzáfűve az ismeretlen hiba stringet, paraméter listát.
+
+A hibaüzenetet a ''skin/$skin/base/html/alert.phtml'' állomány ''html_alert()'' függvénye írja ki. Ennek visszatérési érték dönti el, hogy megjelenjen a lap további része (''true''), vagy ne (''false'').
+
+A hibaüzenethez csatolt paramétereket a függvény behelyettesíti a ''%0'', ''%1%'' illetve ''%2%'' stringek helyére a hibaüzenet szövegébe, vagy ezek hiányában a hibaüzenet után írja ki - zárójeles megjegyzésként - őket.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/base/mayor-base.txt b/mayor-orig/mayor-wiki/wiki/data/pages/base/mayor-base.txt
new file mode 100644
index 00000000..aff20b15
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/base/mayor-base.txt
@@ -0,0 +1,16 @@
+====== A keretrendszer ======
+===== mayor-base =====
+
+A keretrendszer fő szolgáltatásai:
+ * több hozzáférési szint ([[base:policy:private]], [[base:policy:parent]], [[base:policy:public]])
+ * felhasználó [[azonosítás]]
+ * felhasználói adatok kezelése, többféle háttéradatbázissal ([[backend]]-el)
+ * több [[nyelv]] támogatása
+ * többféle kinézet ([[skin]]) támogatása
+ * [[oldalszerkezet]] kialakítása (fájlok csatolási sorrendje)
+ * [[modulok]] beépítésének lehetősége
+ * három szintű, nyelv és modul függő [[menü]]
+ * nyelv és modul függő [[hibakezelés]]
+
+A modulok ezen szolgáltatásokra épülve bővítik a rendszer szolgáltatásait.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/base/menue.txt b/mayor-orig/mayor-wiki/wiki/data/pages/base/menue.txt
new file mode 100644
index 00000000..d050b7a0
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/base/menue.txt
@@ -0,0 +1,96 @@
+====== A menü ======
+
+A keretrendszer egy az aktuális modultól és kiválasztott nyelvtől függő, legfeljebb három szintű menüt generál.
+
+===== A menü felépítése =====
+
+
+==== A fájlok csatolási sorrendje ====
+
+A menüt felépítő állományok az ''include/menu'' könyvtár alatt helyezkednek el.
+elsőként a ''include/menu/base.php'' töltődik be. Ennek feladata, hogy a többi állományt kiválassza és betöltse.
+Elsőként az ''include/menu/$policy/$lang/base.php'', ennek hiányában az ''include/menu/$policy/_DEFAULT_LANG/base.php'' kerül betöltésre. A következő lépés a ''include/menu/$policy/$lang/module-*.php'' állományok csatolása. Az utolsó lépés az [[hogyan:menu_testreszabas|egyedi menü beállítások]] beolvasása.
+
+Az oldal megjelenítésekor a ''skin/$skin/base/html/base.phtml'' állomány ''mayor_menu()'' függvénye írja ki a menü-t a ''$MENU'' tömb alapján. A tömben benne van az egész menürendszer, de a függvény nem feltétlenül építi rakja ki az összes menüpontot, a "classic" skin például az almenűket csak az aktuális ''$page'', ''$sub'' és ''$f'' szerint rakja ki.
+
+
+==== A menü tárolására szolgáló adatszerkezet - a $MENU tömb ====
+
+=== Egy menüpont (item, tétel) felépítése ===
+ * txt - a megjelenő szöveg
+ * [url]
+ - ha nincs: a $MENU alapján kiolvasható PSF-re mutat
+ - ha &-tel kezdődik: az lőzőhöz fúzzük
+ - ha http-vel kezdődik: a megadott URL-t vesszük egy az egyben (sessionID, lang, skin stb nélkül)
+ - egyéb esetben: az adott linket használjuk átadva a fontos paramétereket (sessionID, policy, lang, skin)
+ * [get] - az utolsó esetben az átadandó paraméterek listája (pl. sessionID, lang, skin)
+
+
+
+=== A $MENU tömb felépítése ===
+<code php>
+ $MENU = array(
+ $page1 => array( // Az első szinten a modulok menüpontjai
+ array('txt1'[,'url1']),
+ [array('txt2'[,'url2']), ...]
+ ),
+ [$page2 => array( ... ), ...]
+ $item1 => array( // Az elsp szinten nem modulhoz tartozó tételek
+ array('txt1'[,'url1']),
+ [array('txt2'[,'url2']), ...]
+ ),
+ [$item2 => array( ... ), ...]
+ 'modules' => array( // 'modules'-en belul csak page-ek vannak
+ $page1 => array(
+ 'sub' => array( // 'sub'-on belül csak sub-ok vannak
+ $sub1 => array(
+ $f1 => array(
+ array('txt1'[,'url1']),
+ [array('txt2'[,'url2']), ...]
+ ),
+ [$f2 => array(
+ array('txt1'[,'url1']),
+ [array('txt2'[,'url2']), ...]
+ ), ...]
+ ),
+ [$sub2 => arrray( ... ), ...]
+ ),
+ [$f1 => array(
+ array('txt1'[,'url1']),
+ [array('txt2'[,'url2']), ...]
+ ), ...]
+ ),
+ [$page2 => array( ... ), ...]
+ )
+ )
+</code>
+
+Kirajzolva:
+<code php>
+ $M[$page1][0] | $M[$page1][1] ... | $M[$page2][0] | ... | $M[$item1][0] | $M[$item1][1] ...
+ $M['modules'][$page][$f1][0] | $M['modules'][$page][$f1][1] ... | $M['modules'][$page][$f2][0] | ...
+ $M['modules'][$page]['sub'][$sub][$f1][0] ... $M['modules'][$page]['sub'][$sub][$f2][0]
+</code>
+
+Például:
+<code php>
+ $MENU['modules']['login'] = array(
+ 'sub' => array(
+ 'sub1' => array(
+ 'f11' => array(
+ array('txt' => 'Kakukk'),
+ array('txt' => 'Tojás', 'url'=>'http://')
+ )
+ ),
+ 'sub2' => array(
+ 'f21' => array(
+ array('txt' => 'Cica'),
+ )
+ )
+ ),
+ 'login' => array(
+ array('txt' => 'Szülői bejelentkezés','url' => '&toPolicy=parent'),
+ array('txt' => 'Bejelentkezés','url' => '&toPolicy=private'),
+ )
+ );
+</code>
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/base/nyelv.txt b/mayor-orig/mayor-wiki/wiki/data/pages/base/nyelv.txt
new file mode 100644
index 00000000..8f6eb5ea
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/base/nyelv.txt
@@ -0,0 +1,5 @@
+====== Nyelvek kezelése ======
+
+A nyelvek kezelésére a keretrendszer biztosít egy ''$lang'' nevű paramétert. A választható nyelvek listáját az ''include/config/main-config.php'' állomány tartalmazza. A teljes nyelvi támogatáshoz el kell készíteni a nyelvi fájlok adott nyelvű változatát - ezek a ''lang/$lang'' könyvtár alatt vannak -, valamint a [[menü]] és a [[hibakezelés]] adott nyelvű állományait.
+
+Amennyiben egy nyelvi álomány hiányzik, akkor a keretrendszer automatikusan az alapértelmezett nyelv megfelelő állományával helyettesíti. Ez a helyettesítés nem igaz a [[menü]] állományokra, mert előfordulhat, hogy a nyelvtől függően a menürendszer is változik. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/base/oldalszerkezet.txt b/mayor-orig/mayor-wiki/wiki/data/pages/base/oldalszerkezet.txt
new file mode 100644
index 00000000..624c40a0
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/base/oldalszerkezet.txt
@@ -0,0 +1,115 @@
+====== Oldalszerkezet ======
+
+Itt röviden összefoglaljuk milyen sorrendben kerülnek csatolásra az eyes állományok, majd részletezzük az egyes elemek szerepét.
+
+
+
+
+===== Az állományok csatolási sorrendje =====
+ index.php
+ include/base/config.php
+ ../config/main-config.php
+ _CONFIGDIR/$policy-conf.php
+ include/base/mysql.php
+ include/base/var.php
+ include/base/base.php
+ lang/$lang|_DEFAULT_LANG/base/base.php
+ _CONFIGDIR."/skin-$skin|_DEFAULT_SKIN/config.php
+ include/base/cache.php
+ include/base/str.php
+ include/base/log.php
+ include/alert/base.php
+ include/alert/'.$lang.'/base.php
+ include/alert/'.$lang.'/'.$AUTH[$policy]['backend'].'.php
+ include/alert/'.$lang.'/module-'.$page.'.php (*** VALID_MODULES)
+ include/base/rights.php
+ include/share/session/base.php
+ include/backend/'.$AUTH[$toPolicy]['backend'].'/session/base.php
+ include/backend/__backend__/base/attrs.php
+ include/backend/'.$AUTH[_POLICY]['backend'].'/session/base.php
+ include/share/ssl/ssl.php - RPC
+ _CONFIGDIR . "/module-$page/config.php (*** VALID_MODULES)
+ include/widgets/*.php
+ include/modules/$_module/base/*.php
+ include
+ skin
+ pre
+ include/base/login.php
+ include/share/auth/base.php
+ include/modules/auth/base/login.php
+ include/share/auth/base.php
+ include/backend/'.$AUTH[$toPolicy]['backend'].'/auth/login.php
+ include/share/session/close.php
+ include/share/facebook/autoload.php
+ include/menu/base.php
+ include/menu/'._POLICY.'/'.$lang.'/base.php
+ include/menu/'._POLICY.'/'.$lang/module-*.php (*** VALID_MODULES)
+ ../config/menu/'._POLICY.'/menu-'.$lang.'.php
+ skin/default/base/html/base.phtml
+ skin/$skin/base/html/alert.phtml
+ skin/$skin/base/html/base.phtml -- page()
+ lang/$lang/module-$page/base.php
+ lang/$lang/module-$page/$psf.php
+ skin/$skin/module-$page/html/base.phtml
+ skin/$skin/module-$page/html/$psf.phtml
+ policy/$policy/$page/$psf.php
+
+
+... RÉGEBBEN ...
+
+ index.php
+ include/config/main-config.php
+ include/config/module-*.php
+ include/base/log.php
+ include/base/base.php
+ include/config/$policy-conf.php
+ lang/$lang/base/base.php
+ skin/$skin/config.php
+ include/base/str.php
+ include/base/mysql.sql
+ include/alert/base.php
+ include/alert/lang/base.php
+ include/alert/$lang/$backend.php
+ include/alert/$lang/module-$page.php
+ include/base/rights.php
+ include/share/session/base.php
+ include/backend/session/base.php (ez csatolhat egyebet is pl: ldap/attrs.php)
+ include/modules/$page/base/*.php
+ include/modules/$page/$psf.php
+ config/skin-$skin/$page-config.php
+ private/$page/$psf-pre.php
+ include/menu/base.php
+ include/menu/$policy/$lang/base.php
+ include/menu/$policy/$lang/module-*.php
+ skin/$skin/base/alert.phtml
+ skin/$skin/base/base.phtml
+ page() függvény
+ lang/$lang/module-$page/base.php static/lang/$page/$psf.html
+ lang/$lang/module-$page/$psf.php
+ skin/$skin/module-$page/base.phtml
+ skin/$skin/module-$page/$psf.php
+ policy/$policy/$psf.php
+
+===== A backend függő részekről =====
+
+A keretrendszer három fő moduljában a [[backend]] függő részek felépítéséről a következőket kell tudni:
+
+=== auth ===
+ A toPolicy-től függő file-t csatoljuk => egyszerre több policyben azonosítani nem lehet.
+ A backend függő függvények az include/backend/$backend/auth alatt vannak
+
+=== password ===
+ A toPolicy-től függő file-t csatoljuk => egyszerre több policyben jelszóváltoztatás nem lehet.
+ backend függő függvények a include/backend/$backend/password alatt vannak.
+
+=== session ===
+ A backend függő függvényeknek előtagja a backend neve (pl. ldapMemberOf). Így egy program részen belül
+ több backend függvényei is használhatóak (általában erre nincs ugyan szükség, de pl. a login-ban igen,
+ vagy egy szülő keres a felhasználók között...).
+
+ A "fedő"-függvények ezeket a backend függő függvényeket hívják - a $toPolicy-től függően.
+ A backend-hez tartozó file-t a függvény csatolja require_once()-al.
+
+ A backend függő részek az include/backend/$backend/session alatt vannak.
+
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/base/policy.txt b/mayor-orig/mayor-wiki/wiki/data/pages/base/policy.txt
new file mode 100644
index 00000000..558bb08e
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/base/policy.txt
@@ -0,0 +1,6 @@
+====== Hozzáférési szint (policy) ======
+
+A mayor rendszer által kialakított web-felület többféle felhasználói csoport számára biztosít hozzáférést. Ezek a hozzáférési szintek a felhsználói ||azonosítás]] és jogosultsági rendszer szempontjából nagyon eltérőek lehetnek. Alap helyzetben a rendszer három hozzáférési szintet különböztet meg:
+ * [[base:policy:private]] - A tanárok és diákok szigorú azonosítási rendszeren keresztül férnek a nekik nyújtott szolgáltatásokhoz. Ezen a hozzáférési szinten fontos, védett adatokhoz juthatnak (pl. elektronikus napló, saját levelezés, oktatási anyagok), sok esetben maguk is módosíthatnak adatokat. A hozzáférési szinten belül kategoriák és csoportok alapján tovább finomítható a jogosultsági rendszer.
+ * [[base:policy:parent]] - A szülői hozzáférési szint elsősorban az elektronikus napló adataiba való betekintésre ad lehetőséget. Az elérhető adatok itt is védettek tehát, így az azonosítás követelmény. Az azonosítók önkéntes regisztráció után jönnek létre, majd az egyes diákok adataihoz való hozzáférést igényelni kell az iskolától valamilyen formában.
+ * [[base:policy:public]] - Egy iskola honlapján sok nyilvános információt is el kell tudni helyezni. Erre szolgál a public hozzáférési szint. Ebben a policyben is van lehetőség opcionálisan felhasználói azonosításra, hogy bizonyos szolgáltatásokat előzetes regisztrációhoz köthessünk (pl. fórum hozzászólás).
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/base/policy/parent.txt b/mayor-orig/mayor-wiki/wiki/data/pages/base/policy/parent.txt
new file mode 100644
index 00000000..438bee18
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/base/policy/parent.txt
@@ -0,0 +1,3 @@
+====== parent hozzáférési szint ======
+
+A szülők számára fenttertott hozzáférési szint, gyengébb azonosítással és jogosultsági rendszerrel védve. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/base/policy/private.txt b/mayor-orig/mayor-wiki/wiki/data/pages/base/policy/private.txt
new file mode 100644
index 00000000..ef3aa137
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/base/policy/private.txt
@@ -0,0 +1,3 @@
+====== private hozzáférési szint ======
+
+Szigorú azonosítással védett hozzáférési szint, ami elsősorban a diákok, tanárok és más alkalmazottak számára van fenttartva. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/base/policy/public.txt b/mayor-orig/mayor-wiki/wiki/data/pages/base/policy/public.txt
new file mode 100644
index 00000000..7b5f9347
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/base/policy/public.txt
@@ -0,0 +1,3 @@
+====== public hozzáférési szint ======
+
+Nyilvános adatok közlésére szolgáló hozzáférési szint, opcionális azonosítási lehetőséggel. Bizonyos modulok megkövetelhetik az előzetes regisztrációt (pl. [[mayor-forum]]). \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/base/regisztracio.txt b/mayor-orig/mayor-wiki/wiki/data/pages/base/regisztracio.txt
new file mode 100644
index 00000000..1203c04e
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/base/regisztracio.txt
@@ -0,0 +1,41 @@
+====== Regisztráció ======
+
+===== Miért? =====
+
+A regisztrációnak alapvetően három szerepe van:
+
+A regisztráció...
+ - a fejlesztők fele fontos visszajelzés (a programot használó intézmények száma és kiléte más érdeklődők számára is fontos adat lehet...)
+ - lehetőség arra, hogy önkéntes alapon támogatást nyújthasson minden felhasználó a projekt számára.
+ - megalapozza azt a lehetőséget, hogy a különböző MaYoR telepítések egymással kommunikálhassanak.
+
+Ez utóbbiról annyit kell tudni, hogy a kommunikációhoz két kulcsos SSL hitelesítést használunk, s a publikus kulcsok elérhetőségét a regisztrációt követően a www.mayor.hu (a controller node) hivatott biztosítani - enélkül tehát a kommunikáció nem képes működni.
+
+===== Hogyan? =====
+
+ * Frissítsd a rendszered!
+ * Adminként (useradmin) belépve a ''Felhasználók/Szerver regisztráció'' menüpontban kell a regisztrációt rendbe tenni.
+Erre alapvetően azért van szükség, mert a kommunikációhoz két kulcsos SSL hitelesítést használunk, s a publikus kulcsok
+elérhetőségét a regisztrációt követően a www.mayor.hu (a controller node) biztosítja majd.
+
+A frissítés után a program mindenképp azt fogja kiírni halványpiros háttérrel, hogy
+ "A mayor.hu nem ismeri ezt a szervert (nodeId: 00000000)!"
+
+ * Ha az intézmény korábban regisztrált, akkor elvileg van eltárolt publikus kulcsa nálunk. Ekkor a felirat alatti "Csomópont azonosító lekérdezése" gombra kattintva megkísérelhetjük az azonosító lekérdezését. Ha sikerül, akkor zöldre vált az oldal és a felirat is arról tájékoztat, hogy a mayor.hu ismeri a rendszert.
+ * Ha a fenti próbálkozás nem vezet eredményre, vagy korábban még egyáltalán nem volt regisztrálva a program, akkor az alsó űrlapot kell kitölteni. A fehér mezők kitöltése kötelező.
+
+Az ''OMKod'' megadása nem kötelező ugyan, de ha az adott rendszer egyértelműen valamelyik intézményhez tartozik, akkor célszerű megadni, ugyanis ebből generáljuk a nodeId-t (egy kétjegyű sorszámot elé téve).
+
+A ''Közterület jelleg'' mező kényes - (jobb lenne itt egy legördülő menü - majd egyszer...): nem fogad el rövidítéseket, csak rendesen kiírt szövegeket mint "út", "utca", "tér", "körtér", "lejtő", ... Azok az értékek elfogadottak, amik a napló megfelelő helyein elérhetők - pl. a diák adatok lakcím részénél, vagy az intézmény adatainál...
+
+Az ''url'' csak azért nem kötelező, mert a fejlesztői rendszereken, amik dinamikus ip-vel működnek, nem lenne értelme, de amúgy fontos adat, a napló elérhetőségét kell hogy tartalmazza.
+
+A kitöltés után a ''Regisztráció'' gombot kell megnyomni, s sikeres esetben az újratöltés után már a zöld színű oldal fogad minket.
+
+A regisztrációs adatok (a publikus kulcs és a ''nodeId'' kivételével) ugyanitt később módosíthatók.
+
+ * A ''Felhasználók/Szerver regisztráció/Ismert végpontok'' menüpont alatt ezek után fel lehet venni azokat a végpontokat, akikkel a jövőben kommunikálni szeretnénk. Alaphelyzetben a listában csak a MaYoR HU van benne (ezt nem is szabad törölni), nodeId alapján lehet tőle lekérdezni újabb végpontokat (a ''nodeId'' amúgy alap esetben az ''OMKod''-dal egyezik meg, ha csak egy rendszert regisztrálunk egy OMKod alá). A "Lekérdezés" gombra kattintás után a listában megjelenik jó esetben az új intézmény.
+
+Ide lehet majd felvenni például a fenntartói szervert, hogy az bizonyos adatokat lekérdezhessen tőlünk.
+
+A listában szereplő végpontokkal már működik a kommunikáció. Ezt tesztelendő rá lehet kattintani a "ping" gombra, ami kis idő elteltével zöldre vált és kiírja az adott rendszer pillanatnyi verzió (revision) számát. (Olyan intézményt ne pingeljetek, amelyiken még nem volt frissítés...).
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/gyik/jogi_hatter.txt b/mayor-orig/mayor-wiki/wiki/data/pages/gyik/jogi_hatter.txt
new file mode 100644
index 00000000..dfbf8e0e
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/gyik/jogi_hatter.txt
@@ -0,0 +1,157 @@
+====== Az elektronikus napló használatának törvényi háttere ======
+
+Az intézmények rendszeres ellenőrzései kapcsán visszatérő kérdés: engedélyezte-e valaki a szoftver használatát.
+
+Az alábbiakban megpróbáltuk összeszedni a témával kapcsolatos hozzánk eddig eljutott információkat.
+
+==== Informális állásfoglalás 2003 ====
+
+2003 júniusában - mikor az elektronikus adattárolás lehetősége a törvény szövegében megjelent - az Oktatási Minisztériumhoz fordultunk:
+készíthetünk-e ezek szerint saját elektronikus naplót. A Minisztérium álláspontja az volt, hogy ehhez nincs szükség az ő hozzájárulásukra.
+Épp ezért erről hivatalos, felmutatható állásfogalalás nem készült, az egyeztetés telefonon, illetve email-en zajlott.
+
+==== OM honlapon közzétett állásfoglalás - 2005 ====
+
+(Gy.I.K. - Iskolai adminisztrációs- és ügyviteli szoftverek 3/2005. (III.1.) OM rendelet - 2005. július 6.)
+
+Az Minisztérium honlapján sokáig elérhető volt egy írásos állásfoglalás is a témában.
+
+Az eredeti hivatkozás azóta sajnos már nem él:
+[[http://www.okm.gov.hu/main.php?folderID=949&articleID=5825&ctag=articlelist&iid=1]]
+
+de megtalálható az archívumban:
+[[http://www.okm.gov.hu/kozoktatas/archivum/gy-iskolai]]
+
+11. pont
+
+"A nevelési-oktatási intézmények működéséről szóló 11/1994.(VI. 8.)
+MKM rendelet az iskolák számára kötelezően használatos nyomtatványként
+nevezi meg, írja elő az osztálynapló (csoportnapló) használatát. A
+jogszabály a nyomtatvány kivitelével, formájával, tartalmával
+kapcsolatos előírást nem tartalmaz, nincs tehát közoktatási
+jogszabályi akadálya annak, hogy elektronikus osztálynapló,
+csoportnapló bevezetésére kerüljön sor. Az elektronikus
+napló-nyomtatvány az OM hozzájárulása nélkül is előállítható és
+forgalmazható.
+A naplók használata során érvényesíteni kell a személyes adatok
+védelméről szóló jogszabályi előírásokat is. Az osztálynapló pénzügyi
+dokumentum is, ezért a szoftverfejlesztés során figyelemmel kell lenni
+az intézményfenntartók vele szemben megfogalmazódó igényeire is."
+
+A fenti cikkre hivatkozik a Tanulmányinfo portál is:
+[[http://shop.tanulmanyi.info/index.php?option=com_content&view=article&id=69:111994vi-8-mkm-rendelet-elektronikus-naplo-hasznalatarol&catid=1:friss-hirek&Itemid=50]]
+
+==== ADAFOR-on közzétett vélemény ====
+
+Nagy port kavart fel a témában megjelent, az ADAFOR-on közzé tett __vélemény__:
+
+[[http://adafor.oh.gov.hu/doku/kozepfoku0809/taninfo.pdf]]
+
+A link sajnos már szintén nem él...
+
+Ebben megkérdőjelezték az eletronikus naplók üzemeltetésének jogszerűségét. De hangsúlyozzuk: ez csak egy __vélemény__ volt, bár
+az ADAFOR-on érkezett, így kicsit nagyobb súlyt kapott.
+
+==== A tanulmanyi.info közlemény ====
+
+A tanulmany.info portal - mely ingyenes elektronikus napló szolgáltatást nyújt több száz intézmény számára - az ADAFOR-on megjelent
+véleményre reagált, többek között így:
+
+"...
+Az Oktatási Hivatal állásfoglalása alapján bárki használhat elektronikus naplót, mert a törvény szerint naplót vezetni kötelező, de a jogszabály
+nem szabályozza azok adattartalmát és szerkezetét - így mind a kézírásos, mind az elektronikus adattartalmú naplók elkészíthetőek helyileg.
+Az elektronikus naplóba gondosan bevitt tartalmakat továbbra is ki kell nyomtatni, és őrizni kell őket legalább öt éven át (papíron, mappákban,
+a tanárok kézjegyével ellátva).
+..."
+
+[[http://www.diakkapu.hu/component/content/article/577-uj-elektronikus-ellenorzo?start=1]]
+
+==== Minisztáriumi állásfoglalás a tanulmany.info kérésére ====
+
+A tanulmany.info minisztériumi állásfoglalást kért:
+
+"Megkeresésünket követően az Oktatási és Kulturális Minisztérium Közoktatás-igazgatási osztály részünkre megküldött levelében tájékoztatta a tanulmanyi.info
+üzemeltetőjét arról, hogy a tanulmanyi.info szolgáltatást, mint elektronikus napló megoldást engedélyeztetni nem szükséges, annak felhasználásáról az
+intézményvezető vagy fenntartó szabadon dönthet. Dr. Szüdi János Közoktatási Szakállamtitkár levelében kitért többek között arra is, hogy a naplóvezetés
+mind papír mind elektronikus úton megtörténhet, viszont mindkettőt esetében papír alapon kell irattároznia a naplókat (napló lapokat) az intézménynek.
+A papír alapú irattározás tekintetében a személyiségi, adatvédelmi és biztonságvédelmi követelmények megtartásáért az intézményvezető felel, valamint a
+hitelesítésről az intézményvezetőnek kell gondoskodnia.
+
+Az oktatási intézmények a fentiekkel kapcsolatos kérdéseik tekintetében fordulhatnak az Oktatási és Kulturális Minisztérium, Közoktatás-igazgatási osztályához."
+
+[[http://shop.tanulmanyi.info/index.php?option=com_content&view=article&id=79:szakmai-velemeny-az-okm-reszerl&catid=1:friss-hirek&Itemid=50]]
+
+==== Egy szál a sulinetes TechNet listáról ====
+
+A levél a TechNet listán is vitát kavart:
+
+[[http://lista.sulinet.hu/pipermail/techinfo/2009-January/042003.html]]
+
+==== Elektronikus naplókat évek óta használnak szerte az országban ====
+
+ - [[http://www.dinaplo.hu/referenciak.html]]
+ - [[http://www.elektronikusnaplo.hu/]]
+ - [[http://www.mayor.hu/index.php?f=ref]]
+ - ...
+
+==== A MaYoR rendszert használó intézmények többször átestek már különféle ellenőrzéseken ====
+
+A Városmajori Gimnáziumban 2003 óta használunk elektronikus naplót. Azóta több törvényességi vizsgálat is folyt az intézményben, melyek egyike sem
+emelt kifogást az elektronikus napló használata ellen. Hozzánk hasonlóan a programot használó többi intézményben is volt már (tán nem mindenhol)
+ilyen-olyan ellenőrzés, vizsgálat - melyek legfeljebb formai hiányosságokra hívták fel a figyelmet - melyeket igyekeztünk és a jövőben is igekszünk
+minél hamarabb javítani, rendben tartani.
+
+===== A nyomtatványokra vonatkozó szabályozások ======
+
+A közoktatási törvény (Kt.) 72. § (2) bekezdése az alábbi módon szabályozza a közoktatási
+intézményi nyomtatványok, illetve az azokat részben kiváltó informatikai rendszerek alkalmazási
+szabályait:
+
+72. § . (2) Az iskolában csak olyan bizonyítványnyomtatvány, illetve bizonyítvány kiállításához
+szükséges nyomtatvány alkalmazható, amelyet az oktatásért felelős miniszter, szakképesítést tanúsító bizonyítvány
+esetén a szakképzésért és felnőttképzésért felelős miniszter jóváhagyott. A bizonyítványnyomtatvány és a bizonyítvány
+kiállításának alapjául szolgáló nyomtatvány előállításához, forgalmazásához az oktatásért felelős miniszter, szakképesítést
+tanúsító bizonyítvány esetén a szakképzésért és felnőttképzésért felelős miniszter engedélye szükséges. Az iskolai
+nyomtatványok - az év végi bizonyítvány és az állami vizsga teljesítéséről kiállított bizonyítvány kivételével -
+az oktatásért felelős miniszter, szakképesítést tanúsító bizonyítvány esetén a szakképzésért és felnőttképzésért
+felelős miniszter által jóváhagyott rendszer alkalmazásával, a személyiségi, adatvédelmi és biztonságvédelmi követelmények
+megtartásával elektronikus úton is elkészíthetők és tárolhatók. A bizonyítvány kiállításának alapjául szolgáló nyomtatványt
+azonban nyomtatott formában is elő kell állítani, és meg kell őrizni.
+
+====== 2011. évi CXC. törvény A nemzeti köznevelésrõl ======
+
+Az időközben megjelent új "Köznevelési törvény" szinte változtatás nélkül tartalmazza a korábbi szöveget:
+
+57. § (6) Az iskolai nyomtatványok – az év végi bizonyítvány és az állami vizsga teljesítésérõl kiállított bizonyítvány kivételével –
+az oktatásért felelõs miniszter, szakképesítést tanúsító bizonyítvány esetén a szakképzésért és felnõttképzésért felelõs
+miniszter által jóváhagyott rendszer alkalmazásával, a személyiségi, adatvédelmi és biztonságvédelmi követelmények
+megtartásával elektronikus úton is elkészíthetõk és tárolhatók. A bizonyítvány kiállításának alapjául szolgáló
+nyomtatványt ebben az esetben is elõ kell állítani nyomtatott formában, és meg kell õrizni.
+
+====== 11/1994 MKM rendelet ======
+
+=== A foglalkozási napló ===
+
+5. Az óvodai, a tanórai, a tanórán kívüli, valamint a kollégiumi foglalkozásokról a nevelő munkát végző, illetve a foglalkozást
+tartó pedagógus foglalkozási naplót (csoportnaplót, osztálynaplót, sportnaplót stb.) vezet. A foglalkozási naplót az óvodai nevelés,
+iskolai nevelés és oktatás nyelvén kell vezetni.
+
+=== A tanügyi nyilvántartások vezetése ===
+
+10. a) A pedagógus csak a nevelő-oktató munkával összefüggő feladatokhoz nélkülözhetetlen ügyviteli tevékenységet köteles elvégezni.
+
+b) Az osztályfőnök vezeti az osztálynaplót, a törzslapot, és kiállítja a bizonyítványt, vezeti a továbbtanulással összefüggő nyilvántartást.
+Alapfokú művészetoktatási intézményben a hangszert, illetve a csoportos tantárgyat oktató szaktanár - az intézményvezető megbízása alapján -
+vezeti az egyéni foglalkozási naplót, a csoportos foglalkozási naplót, a törzslapot és kiállítja a bizonyítványt.
+
+=== Irattári terv ===
+
+16. Naplók 5 (év)
+
+=== Az iskola által kötelezően használt nyomtatványok ===
+
+22. Osztálynapló (csoportnapló)
+
+(Nincs "megcsillagozva", ami azt jelentené:
+
+A * jelölt nyomtatványok csak az oktatásért felelős miniszter által vezetett minisztérium engedélyével gyárthatók és forgalmazhatók,) \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/gyik/mayorca.txt b/mayor-orig/mayor-wiki/wiki/data/pages/gyik/mayorca.txt
new file mode 100644
index 00000000..285c09a6
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/gyik/mayorca.txt
@@ -0,0 +1,77 @@
+====== MaYoR Hungary - Tanúsítvány hitelesítő ======
+
+Saját gyakorlatunkból jól ismerjük a self-signed tanúsítványokkal járó kellemetlenségeket. A böngészőket rá kell beszélni az általuk borzasztóan veszélyesnek ítélt oldalhoz való csatlakozásra, ráadásul ezt a lépéssort a felhasználóink számára is - ha nem is érthetővé - legalább elfogadhatóvá kell tennünk, miközben a böngészők - amúgy teljesen jogosan - egyre drasztikusabb figyelmeztetéseket küldenek feléjük.
+
+
+===== Megoldási lehetőségek =====
+
+Az igazán jó megoldás nyilván egy tisztességes tanúsítvány beszerzése lenne, hazánkban talán a [[http://www.netlock.net/|NetLock]] által hitelesített tanúsítványok beszerzése a legegyszerűbb, de nem jellemző, hogy a magyar középiskolák tömegével szereznének be ilyet, ha találhatnak más - bár kétség kívül kevésbé biztonságos - megoldást is.
+
+Köztes megoldás lehet, ha csatlakozunk a [[http://www.cacert.org/|CAcert.org]]-hoz - de mi nem ismerjük részleteiben ezt a kezdeményezést, nem vettük a fáradságot, hogy megismerjük, így ajánlani nem tudjuk - ha valaki tud róla bővebbet, írjon róla nekünk - lehet, hogy jó megoldás.
+
+A mi alternatívánk egy általunk (MaYoR Hungary) hitelesített tanúsítvány kiadása.
+
+===== MaYoR Hungary CA =====
+
+<del>Igény esetén az elküldött adatok alapján készítünk MaYoR Hungary által aláírt tanúsítványt.</del>
+
+[color=red]** >> Ezt a szolgáltatást megszüntettük. << **[/color]
+
+[color=#bbbbbb]
+==== Mi előnye van? ====
+Ez a megoldás nem sokban tér el a ''self-signed'' tanúsítvány alkalmazásától. Kicsivel talán növeli a hitelességet, hogy nem az adott szerveren generált kulcsot használunk - a szerver egy tőlünk kapott tanúsítványt mutat fel, ami annyit jelent, hogy legalábbis fel kellett vegye velünk a kapcsolatot a szerver telepítője, ennek vannak nyomai, legalább egy email cím, vagy telefonszám. A hitelesítést ennél mélyebben nem tudjuk biztosítani (nem megyünk el "családlátogatásra", nem kérünk hivatalos iratokat a bejegyzéshez, mint a komoly tanúsítvány hitelesítő cégek).
+
+A másik, hogy elegendő a MaYoR Hungary "szervezetet" elfogadtatni a böngészővel, mint megbízható hitelesítő szerv - ez kevésbé ijesztő folyamat és [[http://www.mayor.hu/installca.php|néhány kattintást igényel csak]], viszont nyilvánvalóan bizalmi kérdés. Akik elfogadnak minket megbízható hitelesítőként, azoknak a továbbiakban semmilyen gondot nem fog okozni a MaYoR rendszerhez való csatlakozás, sem most, sem a jövőben kiállított újabb tanúsítványok esetén. Aki túl kockázatosnak tartja ezt a bizalmi lépést, az továbbra is úgy járhat el, mint ahogy azt a ''self-signed'' tanúsítványokkal tette.
+
+==== Milyen adatokra van szükség a tanúsítvány kiállításához? ====
+
+A következő adatokat kell eljuttatni hozzánk (mondjuk a support(a)mayor.hu címre) tanúsítvány igényléséhez:
+
+ * Megye, régió
+ * Város
+ * Intézmény név
+ * Szervezeti egység
+ * Web szerver neve
+ * Email cím
+
+Az elküldött adatok alapján három állományt generálunk: jelszóval védett kulcsot, jelszó
+nélküli kulcsot és tanúsítványt. Ha az intézmény rövid neve pl ''rovidnev'', akkor:
+
+ rovidnev.key.pem
+ rovidnev.key.pem.unsecure
+ mayor.rovidnev.sulinet.hu.cert.pem
+
+A két kulcs közül csak az egyiket kell használni. A különbség, hogy a
+jelszóval védett kulcs használata esetén a web-szerver indításakor
+mindig be kell írni a jelszót. Ez kényelmetlen, de a kulcs így nagyobb
+biztonságban van. Ha ezzel nem akarunk minden indításkor foglalkozni,
+akkor használjuk bátran a *.unsecure kulcsot (eddig is ilyet használt
+mindegyikünk).
+
+A három állományt valamilyen egyeztetett úton-módon eljuttatjuk a szerverre (nem email-ben,
+inkább scp-vel).
+
+
+==== A tanúsítvány telepítése ====
+
+A három állományt másoljuk be a /etc/apache2/ssl köyvtárba (ha nincs ilyen könyvtár, akkor hozzuk létre)!
+
+Szerkesszük a /etc/apache2/sites-enabled/mayor állományt:
+
+ SSLCertificateFile /etc/apache2/ssl/mayor.rovidnev.sulinet.hu.cert.pem
+ SSLCertificateKeyFile /etc/apache2/ssl/rovidnev.key.pem.unsecure
+
+A régi bejegyzéseket # jellel kommentezzük ki, vagy a korábbi állományt mentsük el - hátha valami miatt vissza akarunk térni a korábbi változatra...
+
+Indítsuk újra a web-szervert
+
+ /etc/init.d/apache2 restart
+
+==== A böngésző beállítása ====
+
+Ha fel szeretnénk venni a MaYoR Hungary "szervezetet" a megbízható tanúsítvány hitelesítők közé, akkor a böngészőnkkel látogassunk el a [[http://www.mayor.hu/installca.php]] oldalra és nyomjuk meg az Install gombot. Elegendő a web-helyek hitelesítését engedélyezni a megjelnő ablakban.
+
+Ha ezt a lépést nem kívánjuk megtenni, akkor a webszerverhez való következő csatlakozáskor fogadhatjuk el ideiglenesen, vagy hosszútávra az új tanúsítványt - ahogy azt az ön-aláírt tanúsítványokkal tettük.
+
+Ezzel el is készültünk.
+[/color] \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/gyik/naplo.txt b/mayor-orig/mayor-wiki/wiki/data/pages/gyik/naplo.txt
new file mode 100644
index 00000000..db516de1
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/gyik/naplo.txt
@@ -0,0 +1,408 @@
+
+====== Gyakran Ismételt Kérdések - MaYoR Napló ======
+
+===== Minden határidő lejárt, segítség! =====
+
+**Kérdés:**
+Mit tegyek, ha már adminisztrátrként sem tudok jegyet módosítani, igazolást beírni, órát beírni, stb...? Nyúljak bele a naplóba adatbázis szinten?
+
+**Válasz:**
+Ne. Inkább ideiglenesen, egy munkamenet erejéig módosítsd a határidőt. Egy lehetséges mód a következő:
+
+Az intézmény konfigurációs állományában
+(''config/module-naplo/config-[azintezmenyrovidneve].php'') van
+egy ilyen sor (az elején):
+
+<code php>
+define('_ZARAS_HATARIDO',date('Y-m-01 00:00:00',strtotime('-1month -10days')));
+</code>
+
+Ezt ki lehet egészíteni valahogy így:
+
+<code php>
+ if (_SESSIONID=='ad3dabd520fecfcd306a7fd39')
+ define('_ZARAS_HATARIDO','2008-09-01 00:00:00');
+ else
+ define('_ZARAS_HATARIDO',date('Y-m-01 00:00:00',strtotime('-1month -10days')));
+</code>
+
+Ha a _SESSIONID
+értékéhez bemásolod az épp aktuális session azonosítódat az url-ből,
+akkor amíg ki nem lépsz, addig a _ZARAS_HATARIDO 2008. szeptember 1. lesz
+számodra - és tudsz pótlólag igazolni, órát beírni.
+
+===== Hogy tudok az előző hónapra jegyet beírni? =====
+
+**Kérdés:**
+Hogy tudok az előző hónapra jegyet beírni? Hiszen még nem járt le a határidő...
+
+**Válasz:**
+Sehogy. A jegy mindig a beírás dátumával kerül rögzítésre - hiszen a beírással válik hivatalossá, addig csak "mese". Ha utalni akarsz arra, hogy a jegy
+mikor, milyen körülmények között keletkezett, akkor több lehetőséged is van erre:
+
+ * Hozzárendelheted a jegyet egy órához
+ * Szöveges megjegyzést fűzhetsz a jegyhez
+ * Csoportos jegy esetén a dolgozat elnevezése is utalhat a körülményekre
+
+A határidő csak arra vonatkozik, hogy a már beírt jegyeket meddig lehet változtatni, törölni.
+
+===== Egy diák egy tárgyat több tankörben is tanul, hogy kap majd évvégi jegyet? =====
+
+**Kérdés:**
+Vannak olyan tanulók, akik egy tárgyat két különböző órán is tanulnak, de végül egy jegyet kapnak majd a kettőre félévkor/évvégén. Hogy oldjam ezt meg?
+
+**Válasz:**
+A zárójegyek nem tankörökhöz, hanem tárgyakhoz kapcsolódnak. Ha két tankör ugyanahhoz a tárgyhoz tartozik, akkor a közös diákok adott tárgyi zárójegyi mindkét
+tankörnél módosíthatók - a tankörök tanárainak meg kell egyezni bennük. Az év közben kapott jegyek is megjelennek mindkét tankörnél, de megkülönböztethetőek,
+tehát megállapítható, hogy melyik jegy melyik tankörben született.
+
+===== Nálunk nincs 2F zárójegy, hogyan tűntethetem el? =====
+
+**Kérdés:**
+A mi intézményünk nem ad elégséges F (figyelmeztető) bejegyzést se félévkor se évvégén. Hogyan lehet eltűntetni ezt a fokozatot?
+
+**Válasz:**
+A napló modul intézményi konfigurációs filejában (''config/module-naplo/config-[intezmeny_rovid_neve].php'') a $KOVETELMENY tömb
+'jegy' típusának* bejegyzéseit kell felüldefiniálni:
+<code php>
+ // Osztályzatok testreszabása - például: 5 fokú skála, F nélkül, de Dicsérettel:
+ global $KOVETELMENY;
+ $KOVETELMENY['jegy']= array(
+ 'értékek' => array('1.0','2.0','3.0','4.0','5.0'),
+ '1.0' => array('rovid' => '1', 'hivatalos' => 'ELEGTELEN'),
+ '2.0' => array('rovid' => '2', 'hivatalos' => 'ELEGSEGES'),
+ '3.0' => array('rovid' => '3', 'hivatalos' => 'KOZEPES'),
+ '4.0' => array('rovid' => '4', 'hivatalos' => 'JO',),
+ '5.0' => array('rovid' => '5', 'hivatalos' => 'JELES', 'megjegyzes'=>'dicséret'),
+ );
+</code>
+
+*Amennyiben jegy típusra van állítva a tárgy zárójegy követelménye.
+
+===== Hogyan használhatok egyéni értékelést? =====
+
+**Kérdés:**
+Mi egyedi értékelést használunk évközben jegyek helyett. Lehetséges ez?
+
+**Válasz:**
+A napló modul intézményi konfigurációs file-jában (''config/module-naplo/config-[intezmeny_rovid_neve].php'') a $KOVETELMENY tömb
+'egyedi felsorolás' típusának bejegyzéseit kell (felül)definiálni:
+<code php>
+ global $KOVETELMENY;
+ $KOVETELMENY['egyedi felsorolás']= array(
+ 'értékek' => array('1.0','2.0','3.0'),
+ '1.0' => array('rovid' => 'szorgalmas', 'hivatalos' => 'SZORGALMAS'),
+ '2.0' => array('rovid' => 'ügyes', 'hivatalos' => 'UGYES', 'megjegyzes' => 'dicseret'),
+ '3.0' => array('rovid' => 'aranyos', 'hivatalos' => 'ARANYOS'),
+ );
+
+</code>
+
+Megjegyzés: a hivatalos értékeléshez a megfelelő nyelvi konstansokat is létre kell hozni. [--HOGYAN]
+
+===== Késések összeadása =====
+
+**Kérdés:**
+A késések idejét annak rendje és módja szerint adminisztráljuk. Hogyan állítható be, hogy ezek az összesítő táblázatokban
+az összeadott értéknek megfelelően igazolatlan órára váltassanak át?
+
+**Válasz:**
+A napló modul intézményi konfigurációs filejában (''config/module-naplo/config-[intezmeny_rovid_neve].php'')
+erre a következő beállítás lehetőségek vannak:
+
+<code php>
+# Összeadjuk-e a késések perceit, hogy átváltsuk
+ define('_KESESI_IDOK_OSSZEADODNAK', false);
+# Hány késés felel meg egy igazolatlan órának - ha 0 vagy _KERESESI_IDOK_OSSZEADODNAK, akkor nem váltjuk át
+ define('_HANY_KESES_IGAZOLATLAN', 3);
+# Hány felszerelés hiány felel meg egy igazolatlan órának - ha 0 vagy _KERESESI_IDOK_OSSZEADODNAK, akkor nem váltjuk át
+ define('_HANY_FSZ_IGAZOLATLAN', 3);
+</code>
+
+
+===== Órarend betöltés szövegfile-ból =====
+
+**Kérdés:**
+Hogyan tudom betölteni egy szövegfile-ból az órarendet?
+
+**Válasz:**
+Először a tanárok és termek adatait kell betöltenünk, illetve át kell gondolnunk hány hetes az órarend és ennek megfelelően inicializálhatjuk a tanévet. A termeket közvetlenül tudjuk csak betölteni (admin/import -- terem). Ezek után hetenként lehet betölteni órarendet.
+
+ 1. a beépített órarendibetöltő sémákat használva ([[naplo:tanev:orarendbetolto|Órarend/Órarend betöltés]])
+ 2. közvetlenül az orarendiOra táblába importálva (admin/import)
+
+==== közvetlen órarendbetöltés az orarendiOra táblába ====
+
+Ha kézzel kell "digitalizálni" az órarendet, akkor az a legjobb, ha az
+''orarendiOra'' táblának megfelelő tabulátorokkal tagolt szöveges
+állományt készítesz. Mezői (ezt a /var/mayor/install/module-naplo/mysql/tanev.sql-ben
+is megtalálod):
+
+ het, nap, ora, tanarId, osztalyJel, targyJel, teremId, tolDt, igDt
+
+Az első három gondolom egyértelmű. A ''tanarId'' a tanár naplóbeli
+azonosítója (a tanárok kiválasztására használt legördülő listákban is
+megjelenítjük), az ''osztályJel'', ''targyJel'' szöveges mezők, amik utalnak
+arra hogy melyik osztály, mely tárgyáról van szó, de alapvetősen csak
+az egyedi azonosíthatóság fontos (''tanarId'', ''osztalyJel'', ''targyJel'' mindig
+meghatároz egy tankört), ''teremId'' megint csak a naplóbeli terem
+azonosító (ez is külső kulcs), ''tolDt'', ''igDt'' meg a bejegyzés
+érvényességi ideje (pl csak az első félévben lévő óra...)
+
+Ha ezt betöltöd, akkor el kell végezned az [[naplo:orarend:orarendTankor|Órarend-Tankör
+összerendezés]]t (Órarend menüpont alatt) - ez az ''orarendiOraTankor''
+táblába vesz fel bejegyzéseket, amikkel a fent emlegetett
+(''tanarId'',''osztalyJel'',''targyJel'') --> ''tankorId'' hozzárendelés megvalósul.
+Egy tankört többféle hármas is jelölhet az órarendben (pl egy
+tanárváltáskor a tanarId legalább megváltozik), de fordítva mindig
+egyértelmű a kapcsolat.
+
+===== Nem tudok bejelentkezni. A böngésző "Tanúsítvány probléma" miatt nem enged tovább... =====
+
+**Kérdés:**
+Többször is próbáltam a bejelentkezéssel, de mindig azt kapom, hogy „tanusítvány probléma” miatt nem léphetek be. Mi történt?
+
+**Válasz:**
+A MaYoR rendszer a biztonságos böngészés érdekében [[http://http://wiki.hup.hu/index.php/SSL|SSL]] kapcsolatot épít ki a böngésző és a szerver között. E kapcsolat kiépítésekor a szerver egy tanúsítvánnyal próbálja igazolni, hogy valóban ő az a szolgáltató, akinek mondja magát. Egy ilyen tanúsítvány akkor megbízható, ha egy harmadik fél - egy hitelesítő szervezet - aláírta azt, jelezve ezzel, hogy meggyőződött annak valódiságáról.
+
+Ilyen tanúsítvány beszerzése költséges, erre szakosodott cégek végzik a hitelesítést (NetLock, VeriSign...). Egy a MaYoR-hoz hasonló, iskolai keretek közt működő szoftver számára az intézmények nem vásárolnak komoly tanúsítványokat, helyette inkább saját maguk, vagy az általunk kreált [[gyik:mayorca|MaYoR Hungary]] által aláírt tanúsítványokat használnak. Ezeket a tanúsítványokat a böngészők meglehetősen nagy előítélettel kezelik, és jelzik a felhasználó fele, hogy ismeretlen hitelesítő szerv írta őket alá.
+
+Az első esetben (ha az intézmény saját aláírású tanúsítványt használ), annyit tehetünk, hogy kivételként felvesszük a tanúsítványt az elfogadottak közé. Ez mindegyik böngésző típusnál megtehető, de számítanunk kell rá, hogy a böngésző folyamatosan le akar beszélni minket erről a lépésről.
+
+A második esetben (ha MaYoR Hungary által aláírt tanúsítványt használ az intézmény) az előzőekben tárgyalt módszer mellett megtehetjük azt is, hogy [[http://www.mayor.hu/installca.php|felvesszük a MaYoR Hungary-t a megbízható hitelesítők közé]] néhány kattintással.
+
+===== Le lehet cserélni a képeket a "Köszönjük, hogy minden órádat beírtad!" szöveg mellett? =====
+
+**Kérdés:**
+Letöltöttem pár jópofa képet! Le lehet cserélni ezekre a "Köszönjük, hogy minden órádat beírtad!" szöveg mellett megjelenőket?
+
+**Válasz:**
+Igen. A képeket (''*.gif'') be kell másolni a ''/var/mayor/www/skin/classic/module-naplo/img/anim/'' könyvtárba, és fel kell venni egy bejegyzést
+a napló konfigurációs állományába (''/var/mayor/config/module-naplo/config.php''):
+
+ // A "Köszönjük, hogy minden órádat beírtad!" felirat mellett megjelenő GIF képek
+ $UdvozloKep = array('pingvin','kutyus','vonat');
+
+A tömbbe a megjelenítendő állományok neveit kell felsorolni, a ''.gif'' kiterjesztés nélkül.
+
+Két kis gyűjtemény, szabad felhasználásra: [[http://www.szag.hu/gif.zip|Egyik]] és [[http://www.szag.hu/gif2.zip|Másik]]...
+
+===== Felvettem új tanárokat, de nem jelennek meg a felületen =====
+
+**Kérdés:**
+Felvettem új tanárokat tabulátorokkal tagolt szöveges állományból, látszólag minden rendben ment, de az új tanárok nem jelentek meg a nevek között. Mit lehet a hiba?
+
+**Válasz:**
+Az adatok valószínűleg bekerültek az adatbázisba, de a jogviszony kezdetét, illetve végét jelző ''beDt'' és ''kiDt'' attribútumok nem lettek jól beállítva,
+ezért a program úgy tekinti, hogy a felvett tanárok nincsenek jogviszonyban - ezért nem jeleníti meg őket. Egészítsük ki az adatállományt a megfelelő dátum
+adatokkal (legalább a ''beDt'' értéket állítsuk be) és töltsük be újra az adatokat!
+
+===== Hiba: Lejárt a munkamenet vagy nem engedélyezett a sütik használata. =====
+
+**Kérdés:**
+Belépésnél az adat bázisban látszik, hogy beléptem, a logolban bent van a megfelelő bejegyzés, viszont a következőket írja ki a program:
+
+ Hiba: Lejárt a munkamenet vagy nem engedélyezett a sütik használata.
+ Hiba: Azonosítatlan felhasználó! Az adott hozzáférési szinten nem hitelesítetted magad!
+ (A bejelentkezés kötelező.)
+
+Természetesen a gépen a sütik vannak engedélyezve. Mi lehet a baj?
+
+**Válasz:**
+Részlet a /var/mayor/config/main-config.php.example állományból:
+
+ // A paraméter mindenképpen legyen true, ha ssl kapcsolatod van.
+ // Ha nem ssl-en használod, akkor úgyis mindennek vége...
+ define('_SECURECOOKIE',true);
+
+Tehát a gond az lehet, hogy HTTP protokolt használsz (ne használj kódolatlan protokolt ott, ahol jelszavak vándorolnak a neten) és a fenti paraméter true értékű, vagy
+épp fordítva, HTTPS-t használsz, de a fenti beállítás false értékű.
+
+===== Haladási napló nyomtatásakor a Hiba: Hibás/rossz adat! (Első oldal tárgyak száma,7) hibaüzenetet kapom =====
+
+**Kérdés:**
+A haladási napló nyomtatásakor ''Hiba: Hibás/rossz adat! (Első oldal tárgyak száma,7)'' hibaüzenetet kapok. A nyomtatvány persze nem készül el. Mi a hiba?
+
+**Válasz:**
+A haladási naplóban az egy oldalon megjeleníthető tárgyak, illetve tankörök száma korlátozott. A legszigorúbb korlát az adott időszak (három nap) adatait
+tartalmazó első lapot érinti, ahol az egyes napok órarendje és hiányzási adatai is megjelennek. Ezeken az oldalakon 6 tankör órái jelenhetnek meg, ha ennél
+több jutna ide, akkor a program a fenti hibaüzenetet adja. Azért fordulhat elő ilyen eset, mert a program az azonos tárgyhoz tartozó tankörök óráit
+tankörönként külön oszlopban, de egy egységként kezeli. Ha például a tárgyak sorrendje magyar, matematika, történelem, angol, stb és a matematikát kettő, az
+angolt három csoportban tanulják az osztály tanulói, akkor előáll a fenti hiba, hiszen a történelem kerül a 4. oszlopba, majd az angol tankörök 3 oszlopa
+jönne, ami már nem fér ki.
+
+A probléma a tárgysorrend helyes megválasztásával oldható fel. A [[naplo:osztalyozo:targysorrend|Napló/Osztályozó/Tárgysorrend]] menüpont alatt módosítsuk a
+''napló'' nevű sorrendet.
+
+===== Nem tudok tárgysorrendet változtatni =====
+
+**Kérdés:**
+Az ''Osztályozó napló/Tárgysorrend'' menüpont alatt látszólag minden rendben, megjelennek a tárgyak, bal szélük sárga, de nem tudom a sorrendet változtatni.
+Mi a hiba?
+
+**Válasz:**
+Röviden:
+ cp /var/mayor/config/skin-classic/naplo-config.php.example /var/mayor/config/skin-classic/naplo-config.php
+
+Hosszabban: a hiányzó konfigurációs állomány miatt nem töltődik be a megelelő javascript rutin-gyűjtemény, ezért nem lesznek "vonszolhatók" a felsorolás elemei.
+
+===== A haladási napló nyomtatásakor csak üres oldalt kapok a generált pdf helyett =====
+
+**Kérdés:**
+A haladási napló nyomtatásakor az osztály kiválasztása után csak egy üres, fehér lapot kapok a böngészőben. Se hibaüzenet, se generált PDF állomány.
+Mi a hiba?
+
+**Válasz:**
+A problémát az okozza, hogy a nyomtatási kép generálása nagy memóriaigényű feladat, így minden bizonnyal túllépte a limitet a folyamat. Növeljük meg
+a felhasználható megória méretét a ''/etc/php5/apache/php.ini'' file-ban:
+
+ memory_limit = 128M ; Maximum amount of memory a script may consume (16MB)
+
+Ez után újra kell olvastatni az apache beállításait:
+
+ # /etc/init.d/apache2 reload
+
+===== Felhasználók jogosultságai =====
+
+**Kérdés:**
+Hogyan lehet a felhasználók jogosultságait módosítani?
+
+**Válasz:**
+Nem lehet. A jogosultságok áttekintéséhez, ill. szabályozásához használd a [[naplo:csoportok|Csoportok]]at!
+
+===== Felhasználónevek változtatása =====
+**Kérdés:**
+Meg tudom-e utólag változtatni a felhasználói neveket (a generáláskor túl hosszú -> asszonynevek; névváltozás (házasság, válás, vagy csak egyszerű hivatalos névváltoztatás))?
+
+**Válasz:**
+A felületen változtatni nem lehet, csak törölni és újat felvenni, de MySQL-ben lehet változtatni is. Részletek [[hogyan:felhasznalonevek_megvaltoztatasa|itt]]!
+
+===== Hogyan tudok visszamenőleg bejegyzéseket felvenni a Haladási naplóba? =====
+
+**Kérdés:**
+Hogyan tudok visszamenőleg bejegyzéseket felvenni a Haladási naplóba?
+
+**Válasz:**
+Egy-egy óra a [[naplo:haladasi:pluszora|Napló/Haladási napló/Plusz óra]] menüpontban vehető fel.
+Teljes napok feltöltésére a [[naplo:admin:fillhaladasi|Napló/Admin/Haladási napló feltöltése]] menüpont használható.
+
+Lehetőség szerint persze kerüljük az utólagos módosításokat! [[hogyan:haladasi_utolag|Bővebben...]]
+
+===== Vissza lehet-e tölteni régebbi adatbázist új teleptésű MaYoR-ra? =====
+**Kérdés:**
+Vissza lehet-e tölteni régebbi adatbázist új teleptésű MaYoR-ra?
+
+**Válasz:**
+A részletes leírás a [[hogyan:visszatoltes_mentesbol#vissza_lehet-e_toelteni_regebbi_adatbazist_ujabb_revision-szamu_mayor-ra|itt]] található.
+
+
+===== Üzenetek megjelenése =====
+**Kérdés**
+Hogyan tudom szabályozni a kezdőlapon megjelenő üzenetek számát, illetve az üzenetek lapozását?
+
+**Válasz**
+A ///var/mayor/config/module-naplo/config.php// állományban keressük meg az alábbi sorokat:
+
+ define('__UZENO_AJAXLIMIT',3);
+ define('__UZENO_DEFAULTLIMIT',20);
+
+Az első sorban a '3' a kezdőlapon megjelenő üzenetek számát jelenti.
+A második sor '20' értéke a **Minden üzenetemet mutasd!** utáni, egy oldalon olvasható üzeneteket (és így a lapozást is) befolyásolja.
+
+
+===== Nem töltődtek be a haladási naplóba a mai órák... - Mit tegyek? =====
+**Kérdés**
+A haladási naplóban nem jelnnek meg az órák. A Kollégák nem tudják beírni a tananyagot... hiányzókat... stb.
+
+**Válasz**
+A haladási naplóba (//naplo_[iskola]_[tanev]// adatbázis //ora// táblája) akkor kerülnek be az órák, ha:
+
+ * van érvényes //tolDt,igDt// értékekkel feltoltott orarendiOra tábla; és elkészült a órarend-tankör összerendezés;
+ * elérjük az adott nap dátumát, és valaki először lép a napló felületére (próbáljuk ki 0:00:01-kor... 8-), és még nincs az //ora// táblában az adott napra bejegyzés;
+ * vagy az adott napra valamilyen "esemény" (helyettesítés-kiírás, óracsere, stb.) történik.
+
+Előfordul, hogy - főleg a II. félévi órarendváltoztatásnál - hibás a tolDt érték az órarendiOra táblában. Ellenőrizzük!
+
+Szintén jellemző II. félévi hibajelenség, hogy az új órarend elkészülte és feltöltése után nem megfelelő az órarend-tankör összerendezés (változó óraszámú tárgyak, csoportcserék, stb. miatt). A **Napló-Órarend-Órarend ellenőrzés** menü pont erre szolgál: az aktuális dátum kiválasztása után itt találjuk azokat a tanköröket, amiknél nem megfelelő valamilyen okból az összerendezés. A lista alapján ellenőrizzük az **Órarend-tankör összerendezés** menüben a tanárok óráit!
+
+A(z egyéb, évközbeni) be-nem töltődésnek a leggyakoribb okai, illetve ellenőrzésük (óvatosan járjunk el, mert nem mindegy, hogy csak 1-2 óra van-e bent, vagy csak annyi hiányzik... :-). Most az előbbit taglaljuk.):
+
+Az éves munkatervben ellenőrizzük, hogy az adott nap megfelelően van-e rögzítve (tanítási nap);
+
+Ha nem, javítsuk, majd a **Helyettesítés** menüben az adott napra - tanár kiválasztása nélkül - nyomjunk egy **OK**-t. Ilyenkor be kell töltődni a haladási naplóba az óráknak.)
+
+Az egyes osztályok órarendjében ellenőrizzük, hogy az adott napra valamely óra mellett megjelent-e a jobb felső sarokban egy kis kör (ez jelzi, hogy az óra már a haladási naplóban is benn van).
+
+Ha csak néhány óránál találunk ilyet, meg is van az ok: egyetlen bejegyzés is elég, hogy a többi óra ne töltődjön be.
+
+SQL-szinten (//naplo_[iskola]_[tanev]// adatbázis):
+
+ mysql> SELECT * FROM ora WHERE dt=curdate();
+
+Ez a parancs listázza az aktuális napi haladási naplóbeli órákat. Ha nem nulla (hanem 1-2-3 rekord) az eredmény, derítsük ki, hogy melyik tanár, melyik csoportjai ezek. Járjunk utána, hogy kerültek be (plusz óra, admin-kolléga keze nyoma...). Ha biztosak vagyunk a dolgunkban, szüntessük meg ezeket az órákat!
+
+ mysql> DELETE FROM ora WHERE dt=curdate();
+
+**Figyelem!** Ez a parancs törli az aktuális napli órákat.
+
+Egy napi haladási naplót "kézzel" a **Helyettesítés** menüben az adott napra - tanár kiválasztása nélkül - az **OK** gombra történő kattintással tölthetünk be. Ilyenkor be kell kerülnie a haladási naplóba az óráknak.
+
+Amennyiben a kóbor, a hibát okozó órák valós állapotot tükröztek, kézzel, a **Plusz órá**knál, vagy a **Helyettesítés**nél újból rögzítenünk kell őket.
+
+Célszerű a műveletek előtt egy kézi //mayor backup//-pal elmenteni az aktuális állapotot...
+
+===== Az osztályozónapló és/vagy haladási napló és/vagy záradékok és/vagy törzslapok nyomtatásakor a keletkező PDF-állomány nem a teljes anyagot tartalmazza... - Mit tegyek? =====
+**Kérdés**
+Az osztályozónapló és/vagy haladási napló és/vagy záradékok és/vagy törzslapok nyomtatásakor a keletkező PDF-állomány nem a teljes anyagot tartalmazza, valahol "elakad" (Pl. 30 fős osztály osztályozónaplója a 23. diák után egyszerűen nincs... Vagy a haladási napló október 2. után egyszerűen nincs... Vagy a záradék elakad Balogh-nál...).
+
+**Válasz**
+A hiba oka a különleges karakterek jelenléte a napló idevágó részében. A PDF-generálás során a program nem tud mit kezdeni az ilyen karakterekkel, így a PDF-készítési folyamat leáll.
+
+__A megoldás lépései:__
+
+ * Nézzük meg, melyik az utolsó meglévő PDF-oldal!
+ * A **következő oldal** (példánkban a 24. diák vagy október 3. vagy a Balogh utáni diák(ok)) adatait alaposan nézzük végig! (Néha előfordul, hogy a felületen minden rendben levőnek látszik, azonban az adatbázisban hibás a karakter.)
+ * Ha nem találunk semmilyen rendellenességet, alaposan nézzük meg a ///var/mayor/download/private/nyomtatas/haladasi// vagy //osztalyozo// vagy a //...private/naplo/nyomtatas/zaradekok// vagy a //...private/naplo/nyomtatas/torzslap// könyvtárban az adott osztályhoz tartozó log és u8.tex állományokat! A log állományban konkrétan ott kell szerepelnie, hogy a TeX forrás hanyadik soránál akadt el a fordítás - ez elég sokat segíthet. Ezt a részt tanulmányozzuk át roppant figyelmesen!
+ * A hibás(nak ítélt) karakterek (felületen vagy adatbázisban történő) javítása után próbáljuk meg a napló újbóli nyomtatását! Javasoljuk, hogy mindig csak egy-egy változtatást hajtsunk végre, ha rosszul tippeltünk, azonnal állítsuk vissza az eredeti állapotot és folytassuk a kutatást!
+
+__Ami eddig előfordult:__
+
+ * Az apa telefonszám mezőjébe az e-mail-címe került, a **@** karakter nem tetszett...
+ * A gondviselő nevében hibásan rögzült egy **a** karakter (ez például a felületen nem látszott, csak az adatbázisban - okát nem tudjuk...)
+ * Itt-ott bekerült **görög** betű miatt lett nagy skandalum...
+ * **Nem szabványos szóköz** - észrevehetetlen!
+ * A haladási napló tananyag részébe ilyenformán került be az x-négyzet: **x^2**... Nem bírt vele mit kezdeni a generáló...
+ * Záradékok között **2013_14** formában volt a tanév megadva - az alsóvonás döntötte romba a generálást...
+ * Lelkes Kolléganő az orosz nyelv tanárgy Tananyag mezőjét **cirill** betűkkel írta... (Ez egy régebbi bukta volt, azóta ha a sima tex helyett XeTeX-et használunk, és a config opciók közt engedélyezzük is (így a cirill betűkkel nem lesz többet gond...):
+
+ define('__NYOMTATAS_XETEX',true);
+
+ * Az alsósok szöveges értékelésében, a szabadon kitölthető mezőbe %-jel került.
+ * Alsósok szöveges értékelésénél amolyan szabadszöveg helyeként csupa alsóvonást írtak be...
+
+Ha nem boldogulnuk, kérjünk segítséget a **support**tól vagy a **levelezőlistán** a tapasztaltabb üzemeltetőktől!
+
+
+
+
+===== A haladási napló teljes ugyan, de hiányoznak tantárgyak, tankörök =====
+**Kérdés**
+A haladási napló minden napja megvan, de hiányos vagy üres, pedig a Kollégák minden órát beírtak. Mit tegyek?
+
+**Válasz**
+A //Napló-Nyomtatás-Tankör naplóhozrendelése// oldalon a vegyes tanköröket egyenlő számban szét kell osztani az érintett osztályok haladási naplójai között.
+
+Például a 7.ab testnevelés (lány) tankör órái a 7.a, míg a 7.ab testnevelés (fiú) tankör órái a 7.b haladási naplójában kerülnek adminisztrálásra.
+
+===== Az egyes tárgyak éves óraszáma nem megfelelő =====
+**Kérdés**
+A Bizonyítványban/Statisztikában megjelenő éves tárgyóraszám nem egyezik az előírttal. Miért?
+
+**Válasz**
+Az éves óraszámot a napló a tanítási napok száma / 5 egészrészével számolja, ami általában 37-re jön ki. Ettől eltérő éves óraszámot a /var/mayor/config/module-naplo/config-[iskola].php állományba írt sorokkal tudjuk kikényszeríteni:
+
+ define('__TANITASI_HETEK_OVERRIDE', true);
+ if (defined('__TANEV') && __TANEV==2017) {
+ define('___TANITASI_HETEK_SZAMA', 36);
+ define('___VEGZOS_TANITASI_HETEK_SZAMA', 30);
+ }
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/asc-ctrl-shift-e.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/asc-ctrl-shift-e.txt
new file mode 100644
index 00000000..2ee54f86
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/asc-ctrl-shift-e.txt
@@ -0,0 +1,53 @@
+
+====== aSc szöveges export: Ctrl-Shift-E ======
+
+Az aSc Timetables program képes - az XML exportnál ugyan kevésbé részletes, de használható - szöveges fomátumú exportra.
+A varázslatos billentyűkombináció: **Ctrl-Shift-E**
+
+(Sajnos az aSc nem ad csak úgy ilyen exportot (csak az első 10 rekordot adja ki). A gyártótól kell kérni - normál licensz birtokában - speciális export-licenszet.)
+
+===== Mit tegyünk a keletkezett állománnyal =====
+
+==== Eredeti állomány ====
+
+A kapott **txt** állományt mentsük el, készítsünk róla egy biztonsági másolatot, és nyissuk meg [[http://libreoffice.hu|LibreOffice Calc]]-cal (sokkal jobb ezzel dolgozni, mint Excel-lel, mert a végső csv export itt pofonegyszerű!)
+
+Az exportált állomány mezői:
+
+ Day Name, Day Number in Cycle, Period in Day, Period in Cycle, Form, Form 'short', Subject, Subject 'short', Classroom, Classroom 'short', Teacher Name, Teacher Short, Group, Cycle
+
+==== Átalakítás====
+
+Az állományt érdemes először a táblázatkezelő saját formátumában menteni, és a legvégén átalakítani **tabulátorokkal tagolt, UTF-8 kódolású csv**-be!
+
+A kinyert fájlban a **'Day Number in Cycle'**, a '**Period in Day'**, a **'Form'**, a **'Subject'**, a **'Classroom'** és a **'Teacher Name'** hordoz lényeges információt a megfelelő import fájl számára, a többi törölhető - de még ne tegyük!!!
+
+Az órarend MaYoR-ba való importálásához a következő mezőkre van csak szükség:
+
+ het nap ora tanarId osztalyJel targyJel teremId tolDt igDt
+
+ * A **het** mező vagyis az órarendi hét, mely egyhetes órarendnél persze végig 1. A '**Day Name'** mezőt érdemes átnevezni "het"-re majd végig egyessel feltölteni. Kéthetes órarendnél 1 és 2 az érték, lásd később!
+
+ * A **nap** mező tartalma a **'Day Number in Cycle'** tartalma legyen,
+
+ * az **ora** mezőjé a **'Period in Day'**,
+
+ * a **tanarId** a MaYoR-ban lévő tanárazonosítók,
+
+ * az **osztalyJel** tartalma a **'Form'** mező. Ez azonban a naplóban egy 6 karakteres mező, tehát célszerű rövidíteni: '7.a, 7.b' helyett '7ab', '5.a, 5.b, 6.a, 6.b' helyett '5-6' és hasonlók. Ha nem tesszük meg, az import során csonkolódik!
+
+ * A mumus a **targyJel**... nos, a kiexportált fájl **'Subject'** mezője sajnos nem hordoz elegendő információt erről. Ellenben az azonos tárgyhoz kapcsolódó eltérő tankörök kiválóan megkülönböztethetők a **'Subject'** és a **'Group'** mezők együttes használatával. Ez különösen akkor fontos, ha __azonos nevű tárgyat ugyanabban az osztályban ugyanaz a tanár több csoportban is__ tanít. A táblázatkezelő remek lehetőséget ad a tömeges módosításra, csak okosan kell használni.
+Erre valók az ÖSSZEFŰZ, HA, BAL és hasonló függvények.
+
+ * A **teremId** persze a **'Classroom'** (de itt is a MaYoR-ban használt teremId-k kellenek!),
+
+ * A **tolDt** és az **igDt** egyértelmű (éééé-hh-nn formában).
+
+==== Kéthetes órarend ====
+
+Kéthetes órarendnél szintén az eredeti export-állományt hívjuk segítségül. A **'Cycle'** mező mondja meg, hogy minden héten vagy csak az egyiken van a bizonyos óra. A külön hetieket hagyhatjuk, a közös órákat duplázni kell (megfelelő mező szerinti sorrend, sorok kijelölése, másolás, új sor, beillesztés).
+
+==== Feltöltés, összerendezés ====
+
+Ezt a csv fájlt kell feltölteni a szerverre, majd //Admin/Import - orarendiOra//, text fájl útvonala, és OK.
+A Ctrl-Shift-E módszer esetén mindenképp kézzel kell hozzárendelgetni a tanköröket az órarendi órákhoz (Órarend/Órarendi óra - tankör hozzárendelés) - de ez egy egészséges kompromisszum... :-).
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/beiratkozas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/beiratkozas.txt
new file mode 100644
index 00000000..b6504641
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/beiratkozas.txt
@@ -0,0 +1,61 @@
+====== Beiratkozás ======
+
+A **beiratkozás** az egyik legfontosabb adminisztratív esemény (:-)) egy iskola életében. A napló használatával egyszerűsíthető, legalábbis kevesebb lépcsőben valósítható meg ez az adafelvétel miatt kényes lépés.
+Az iskola hagyományait és lehetőségeit figyelembevéve rengeteg változat képzelhető el erre, egy lehetséges megoldást vázolok.
+
+=====Előkészítés=====
+
+====Ki végzi az adatrögzítést?====
+A beiratkozás általában nem egyemberes feladat. Azokat a géphasználatban jártas Kollégákat, akik segédkeznek, célszerű ideiglenesen a //titkarsag// csoportba felvenni (Felhasználói adatok - Csoportok keresése). Ezzel a diákok adatainak módosításához, felvételéhez jogot kapnak.
+
+====Új tanév nyitása====
+A beiratkozó diákok csak a következő tanévtől kerülnek be ténylegesen a naplóba, ezért meg kell nyitni a következő tanévet (Admin - Tanévek)
+
+====Előzetes adatfelvitel====
+
+A felvételt nyert tanulók adataiból készítsünk egy tabulátorokkal tagolt, UTF8 kódolású csv állományt a következő fejlécekkel:
+
+ oId viseltCsaladinev viseltUtonev nem kezdoTanev kezdoSzemeszter statusz
+
+ * oId =oktatási azonosító
+ * kezdoTanev = 2011
+ * kezdoSzemeszter = 1
+ * statusz = felvételt nyert
+
+A kész állományt töltsük fel valamilyen módon a naplót futtató szerverre, majd az Admin menüpontban emeljük be a //diak// táblába.
+
+=====Adatrögzítés a beiratkozás alkalmával=====
+
+Az Intézményi adatok menüben kiválasztjuk a következő tanévet, majd a Diákok menüben a „Felvételt nyert” csoportban jelennek meg az újoncok. Az oldal háttere zöld, ezzel is kiemelve a státuszt.
+Az adatokat értelemszerűen kitöltjük, majd a megfelelő dátummal a jogviszonyát rendezzük.
+
+Ez a módszer biztonságosan előkészített, egyes intézményekben speciális okok miatt az osztályba sorolás később valósul meg.
+
+A naplóból a későbbiek során tetszőleges adatokat lehet kinyerni – beiratkozási naplóhoz, statisztikához, egyéb nyilvántartáshoz.
+
+A beiratkozás után ne maradjon el a jogviszony váltás, egyeztetett
+dátum szerint!
+
+=====További ötletek, lehetőségek - ezt is olvassuk el...!=====
+
+Lehetőség van arra is, hogy előzetes adatfeltöltés nélkül vegyük fel az új diákokat. Ilyenkor a Diák lapon (a tanév és az osztály kiválasztása után) a //Bekerülés módja// mezőnél a **Felvétel osztályba** sort választva azonnal az osztályába is léptethető a diák.
+
+Érdemes egyeztetni a vezetőséggel, gazdasági irodával, titkársággal, könyvtárral, stb., hogy milyen adatokra van szükség az egyéb nyilvántartásokhoz. A napló rengeteg adatot kezel, ezek egy része kötelezően megadandó, más részükkel azonban óvatosan, megfelelő diszkrécióval kell bánni (elvált szülők, fogyatékosság, szociális helyzet, stb.).
+
+Feltétlenül javasolt ellenőrizni (eredeti dokumentumok alapján):
+
+ * diák neve, születéskori neve, második (harmadik) utónév, külföldi diákoknál melyik a vezeték- és melyik az utónév;
+ * jár-e testvére az iskolába, hiszen ilyenkor a szülői hozzárendelés egyszerűsödik;
+ * édesanyja neve, különös tekintettel a második (harmadik) utónévre;
+ * állandó lakcím vs. tartózkodási cím (a Fenntartók az állandó lakcím szerint adják-veszik a normatívát, ez mindenképp kell, de pl. értesítési cím miatt szükség lehet a "tényleges" címre is);
+ * email címeket érdemes a szülőktől begyűjteni (ha hozzájárul), hogy az azonosítók kiküldéséhez fel lehessen használni;
+
+Ha van rá szabad erőforrás és használja az iskola a [[naplo:small_faces|Képek a naplóban]] funkciót, el lehet készíteni a diákokról a fotókat - bár a tapasztalat szerint nem mindig a diák jelenik meg a beiratkozáson, így ezt talán érdemes az első szeptemberi napokra hagyni...
+
+=====Utólagos tennivalók=====
+
+Az ideiglenesen a //titkarsag// csoportba felvett Kollégákat vegyük ki a csoportból!
+
+Az új diákok osztályba sorolásáról ne feledkezzünk meg (ha nem közvetlenül osztályba vettük fel őket)!
+
+Ha előzetes adatfeltöltéssel dolgoztunk, nézzük át a listát, nem maradt-e benne olyan diák, aki __nem iratkozott be__! Ha találunk ilyet, járjunk utána, mi az oka az elmaradásnak: elfeledte az időpontot, esetleg mégis másik iskolába ment, vagy egyéb okok miatt nem jelent meg. Ha nem az iskolába fog járni, töröljük az adatbázisból! \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/dobozok.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/dobozok.txt
new file mode 100644
index 00000000..304f8534
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/dobozok.txt
@@ -0,0 +1,55 @@
+===== Dobozok a portálon =====
+
+
+A portál modul bal- és jobboldalán megjelenő kis dobozokhoz (szótár, születésnaposok, stb.) hasonlóakat tudunk létrehozni, saját tartalommal.
+(Vigyázat: a túl sok információ sem jó, elvesznek benne a fontos dolgok...)
+
+Három szinten hozhatunk létre ilyet:
+ * public - bejelentkezés nélkül is látszik a kezdőoldalon;
+ * private - tanári és diákoldalak;
+ * parent - szülői oldalak.
+
+==== Elsőként... ====
+ ...tisztában kell lennünk vele, melyik skint használjuk.
+ * classic - nem változtattunk semmit, "gyári" kinézet;
+ * oldschool - a hagyományos, régi Mayor-felület;
+ * valami egyéni - de akkor házi készítés, és nyilvánvaló... :-)
+//(A classic változatot mutatom be...)//
+==== Második lépés =====
+Szerkesszük /var/mayor/config/module-portal/config.php állományt - a demo helyett írjuk be az iskola rövid nevét, pl. 'pod'!
+Ez volt:
+ define('__PORTAL_CODE','demo');
+Ez kell:
+ define('__PORTAL_CODE','pod');
+Majd másoljuk át a kívánt hozzáférési szinteken a módosítandó állományokat az iskola nevével:
+ # cp /var/mayor/www/policy/public/portal/portal/portal_demo.classic.php /var/mayor/www/policy/public/portal/portal/portal_pod.classic.php
+ # cp /var/mayor/www/policy/private/portal/portal/portal_demo.classic.php /var/mayor/www/policy/private/portal/portal/portal_pod.classic.php
+ # cp /var/mayor/www/policy/parent/portal/portal/portal_demo.classic.php /var/mayor/www/policy/parent/portal/portal/portal_pod.classic.php
+//(Javasolt mindhármat másolni - ha nem változtatunk, sem lesz baj belőle...)//
+
+==== Most jön az érdemi munka! ====
+A választott állományba be kell szúrni az új dobozhoz tartozó kódot. Nyissuk meg az állományt valamilyen szerkesztővel (pl. nano):
+ # nano /var/mayor/www/policy/parent/portal/portal/portal_pod.classic.php
+Majd keressük meg a 'putDoboz'-zal kezdődő sorokat!
+
+Alapesetben a 'parent' szinten a bal oldalon 3 doboz van:
+ * putDoboz('Védett modulok',...
+ * putDoboz('Születésnaposok :)',...
+ * putDoboz('Bejegyzések',...
+Ez alá lehet felvenni a következőt.
+Egy példa:
+ putDoboz('Iskolánk','Pod Iskola, Budapest', array('header-color'=>'#f7d722'));
+Ekkor a szülők oldalán megjelenik egy negyedik doboz, #f7d722 (sárga) színű "Iskolánk" fejléccel, "Pod Iskola" tartalommal.
+
+Egy egyszerű, de jól használható színkódos oldal:
+[[http://www.hungarotips.com/grafika/szinek/]]
+
+A tartalmat lehet formázni, pl. a következő kód már középre igazítja a félkövér szöveget:
+ putDoboz('Iskolánk','<center>'.'<b>'.'Pod Iskola, Budapest', array('header-color'=>'#f7d722'));
+Ha képet szeretnénk elhelyezni a dobozban, akkor a képet másoljuk be a /var/mayor/www könyvtárba, és adjunk neki megfelelő jogosultságot:
+ # chmod 644 /var/mayor/www/kep.png
+És a beszúrandó:
+ putDoboz('Iskolánk','<center>'.'<img src="kep.png" width="60">', array('header-color'=>'#f7d722'));
+A lehetőségek végtelenek...! :-)
+
+(Köszönet az ötletekért Bencének és Józsa Viktornak!) \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/evvegi_teendok.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/evvegi_teendok.txt
new file mode 100644
index 00000000..5b407292
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/evvegi_teendok.txt
@@ -0,0 +1,63 @@
+====== Évvégi teendők ======
+
+===== Időszakok felvétele =====
+
+Az [[naplo:admin:szemeszterek|Admin/Szemeszterek]] menüpont alatt vehetjük fel a zárás/bizonyítvány írás időszakokat - hogy a kollégák le tudják zárni a tanulókat.
+
+Két új időszakot kell felvenni a félévzárási teendőkhöz:
+
+ * **zárás** - amely intervallumban a _szaktanár_ az osztályozó naplóban zárójegyet írhat be
+ * **bizonyítvány írás** - amely intervallunban az _osztályfőnök_ a magatartás és szorgalom jegyeket rögzíthetik. (Ez tipikusan bővebb, mint a zárási időszak)
+
+===== Bizonyítvány írás =====
+
+A konferenciák után a bizonyítvány írás következik. A konferencián történt módosításokat kell először átvezetni (esetleg elmaradt lezárások pótlása, hibás
+jegyek javítása, magatartás/szorgalom jegyek véglegesítése). Ez után foghatnak az osztályfőnökök a bizonyítványok írásához. Ehhez célszerű az
+[[naplo:osztalyozo:targysorrend|Osztályozó napló/Tárgysorrend]] alatt a megfelelő tárgysorrendeket kialakítani (''bizonyítvány'' nevű sorrend). Az
+[[naplo:osztalyozo:bizonyitvany|Osztályozónapló/Bizonyítvány]] nézetben diákonként látjuk a jegyeket és az éves óraszámot - ez talán a legjobban használható oldal
+a bizonyítványok kitöltéséhez.
+
+Vigyázzunk a hiányzási adatokkal - az utolsó napokban is változhat - kellemetlen, ha a bizonyítványban kell javítani...
+
+===== Ellenőrzés =====
+
+Jegyek beírása után összeolvasással (bizonyítvány, anyakönyv, elektronikus napló) ellenőrizzük az adatok helyességét!
+Fontos lépés, ne hagyjuk ki! Igen kellemetlen, ha a kinyomtatott, illetve az elektronikus napló
+adatai eltérnek a kitöltött bizonyítvány adataitól.
+
+===== Nyomtatás =====
+
+Csak akkor fogjunk hozzá a nyomtatáshoz, ha az adatokat ellenőriztük! Nagymennyiségű papírhulladéktól kímélhetjük meg magunkat ezzel...
+
+Két fö dokumentumot nyomtathatunk ki: a haladási naplót és az osztályozó naplót.
+
+A haladási naplóhoz szét kell osztanunk a több osztályt is érintő tanköröket, hogy melyik osztály naplójában jelenjenek meg az óráik
+([[naplo:nyomtatas:tankornaplohozrendeles|Nyomtatás/Tankör naplóhoz rendelése]]).
+
+Fontos a helyes [[naplo:osztalyozo:targysorrend|Osztályozó napló/tárgysorrend]] beállítása is, mert az első oldalakon csak 6 oszlopnak van hely
+(ld: [[gyik:naplo#haladasi_naplo_nyomtatasakor_a_hibahibas_rossz_adat_elso_oldal_targyak_szama_7_hibauezenetet_kapom|GYIK]]).
+
+===== Tanév lezárása =====
+
+A tanév lezárása ([[naplo:admin:tanevek|Admin/Tanévek/Tanév lezárása]]) több külön-külön is elvégezhető lépést takar:
+
+ - Végzős tanulók jogviszonyának lezárása
+ - Végzős tanulók osztályokból való kiléptetése
+ - Végzős tanulók tankörökből való kiléptetése
+ - Végzős tanulók azonosítóinak törlése
+ - A tanév adatbázisának lezárása (csak olvasható lesz).
+
+Ez utóbbi lépés után a többi már nem végezhető el, csak ha újra megnyitjuk a tanévet.
+
+====== A következő tanév előkészítése ======
+
+A tanév lázárásával párhuzamosan mindenképp fontos, hogy előkészítsük a következő tanévet. Minden, ami előre tudható, jó ha minél hamarabb rögzítésre kerül a naplóba:
+
+ - Új tanév felvétele, dátumok pontosítása a tanév rendje rendelet szerint
+ - Éves munkaterv inicializálása (ehhez a helyes nyitó és záródátumok, valamint annak ismerete kell, hogy hány hetes órarenddel fog működni az intézmény (A-hét, B-hét pl.). A munkarendbe a központilag előírt szünetek előre felvehetők, valamint a mozgó ünnepek (húsvét, pünkösd...). A többi gondolom az év elei értekezleteken fog eldőlni.
+ - Új osztályok felvétele, osztályfőnökök kinevezése
+ - Új diákok felvétele (osztályonként) - akár a beiratkozás előtt, a beíratkozáskor pontosítva az adatokat - a néhány kimaradót utólag könnyen törölhetjük
+ - Felmenő tankörök óraszámainak ellenőrzése, tanárváltások adminisztrálása
+ - Új tankörök felvétele, óraszámokkal, tanárokkal, esetleg névsorral (ha már tudható)
+ - Tankörcsoportok, tankörblokkok létrehozása (tanév függő!)
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/facebook.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/facebook.txt
new file mode 100644
index 00000000..bdf19a5f
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/facebook.txt
@@ -0,0 +1,28 @@
+===== Belépés Facebook-fiókkal =====
+A beállítás időigényes, többlépcsős, úgyhogy nyugodt körülmények közt érdemes végezni!
+
+==== Valid cert létrehozása ====
+Első lépésként - ha még nincs - hozzunk létre és állítsunk be érvényes, a böngészők által elfogadott tanúsítványt, pl. a Let'Encript-félét!
+
+Részletek [[hogyan:tanusitvany|itt]]!
+
+==== Facebook-fiókos azonosítás beállítása ====
+
+Egy működő (célszerűen saját) Facebook-fiókban lépjünk az [[https://developers.facebook.com/apps|alábbi]] oldalra!
+
+Csináljuk végig a gyors regisztrálást (register), majd kattintsunk az **Add a new app**-ra és válasszuk a **Facebook login WWW**-t! Lépegessünk végig a pontokon (a **Set up - Web - Site URL** mezőbe írjuk a https-es naplóelérést!), és végezzük el a következő beállításokat:
+
+Settings -> valid oauth redirect -> a https-es URL (https://yeti.szag.hu) -> Save
+Products/Basics -> app domains -> a napló teljes neve (yeti.szag.hu) -> Save
+Products/Basics -> namespace -> (szagyeti) -> Save
+
+Ezután a dashboard-ból másoljuk ki az App Id-t és a Secret-et, és a /etc/mayor/main-config.php fáljba a következő módon illesszük be:
+
+ define('__FBCONNECT_ENABLED', true);
+ define('__FB_APP_ID', 'IDE_IRJUK_AZ_APP_ID-T');
+ define('__FB_APP_SECRET', 'IDE_IRJUK_A_SECRET-ET');
+
+Ezután a normál jelszóval belépés után a lakat alatt megjelenik egy F jelre lépve, vagy a menüben a „facebook azonosítás” menüben lehet összekötni a beléptetett usert a saját fiókjával.
+
+Érdemes fokozottan felhívni a figyelmet a kényelem okozta esetleges hátrányokra - különösen a publikusan használt gépeken!
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felevi_evvegi_elrejtese.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felevi_evvegi_elrejtese.txt
new file mode 100644
index 00000000..b1ecd9fd
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felevi_evvegi_elrejtese.txt
@@ -0,0 +1,33 @@
+A napló lehetőséget ad arra, hogy a diák- és szülői oldalakon a **félévi** ill. az **évvégi zárójegyet elrejtsük** a szemeszter végéig. A feladat több lépésből áll.
+
+**FIGYELEM! Azoknál a naplóknál, ahol fut a Hírnök és/vagy az email-es értesítő, az alábbi lépések nem elégségesek!**
+
+==== Config állomány szerkesztése ====
+
+
+Lépjünk be a ///var/mayor/config/module-naplo/config-[iskola].php// állományba és keressük meg a
+
+ // Félévi és év végi osztályzatok elrejtése a diákok elől a szemeszter végéig
+ define('_OSZTALYZATOK_ELREJTESE', true);
+
+sorokat. Így, ebben a formában a zárójegyek rejtése élesített.
+
+==== Menü szerkesztése ====
+
+A fenti megoldás az osztályozónapló nézetben működik, viszont leleményes diákok rájöttek, hogy a bizonyítvány nézetben simán ott virítanak a zárójegyek.
+Ennek kiküszöbölésére tüntessük el ideiglenesen a menükből a bizonyítvány menüpontot!
+
+Szerkesszük a ///var/mayor/config/menu/parent/menu-hu_HU.php// és a ///var/mayor/config/menu/private/menu-hu_HU.php// állományokat! Így kell kinézniük (vagy ennek is bennük kell lenni):
+
+ <?php
+ // Bizonyítvány menü eltüntetése
+ unset($MENU['modules']['naplo']['sub']['osztalyozo']['bizonyitvany']);
+ ?>
+
+Ezzel a szülői- és a diákoldalakon eltűnik a Bizonyítvány menüpont.
+A dolog szépséghibája, hogy a tanári oldalakról is eltűnik, de valamit valamiért... :-)
+
+(Ne felejtsük el visszatenni a menüpontot, ha már úgysem aktuális a rejtegetés...)
+
+**Figyelem!** A zárójegyek az Osztályozó napló oldalain a __szemeszter zárónapján éjfélig__ lesznek rejtettek!
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felevi_teendok.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felevi_teendok.txt
new file mode 100644
index 00000000..08c6f073
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felevi_teendok.txt
@@ -0,0 +1,49 @@
+====== Félévi teendők ======
+===== Adminisztrátorok =====
+
+Admin menüpont >> Szemeszterek almenü
+
+Két új időszakot kell felvenni a félévzárási teendőkhöz:
+
+ * **zárás** - amely intervallumban a szaktanárok az osztályozó naplóban zárójegyet írhatnak be
+ * **bizonyítvány írás** - amely intervallumban az osztályfőnökök a magatartás és szorgalom jegyeket rögzíthetik. (Ez tipikusan bővebb, mint a zárási időszak. A zárási és a bizonyítvány írási időszak kezdetének szigorúan meg kell egyeznie!)
+
+__Megjegyzés:__ Amennyiben a félév végéig a zárójegyeket el szeretnénk rejteni a diákok és szülők elől, tegyük meg az alábbi lépéseket:
+
+ * **config fájl módosítása** - a /var/mayor/config/module-naplo/config-iskolaneve.php állományban módosítsuk (vegyük fel) az alábbi bejegyzést:
+
+ // Félévi és év végi osztályzatok elrejtése a diákok elől a szemeszter végéig
+ define('_OSZTALYZATOK_ELREJTESE', true);
+
+ * **menü módosítása** - az előző változtatás eredménye (sajnos) kikerülhető, ha a diák/szülő a bizonyítvány menüt választja, amit viszont eltüntethetünk ideiglenesen (!) a /var/mayor/config/menu/private **és** a /var/mayor/config/menu/parent könyvtárakban található //menu-hu_HU.php// fájl szerkesztésével (ha nincs, másoljuk be és nevezzük át a mintaállományt), amibe illesszük be az alábbi sorokat:
+
+ // Bizonyítvány menüpont eltüntetése
+ unset($MENU['modules']['naplo']['sub']['osztalyozo']['bizonyitvany']);
+
+A félév lezártával ne feledjük az előbbi sorokat mindkét állományban kikommentelni!
+
+===== Szaktanárok =====
+
+Osztályozó napló menüpont
+
+Az osztályozó napló menüpontban a saját tankörének kiválasztása után a Bizonyítvány oszlopban megjelennek
+az adható zárójegyek.
+
+A "zárás" időszakában ezek a jegyek tetszőlegesen módosíthatók. Vegyük figyelembe, hogy a beírás pillanatától
+az arra jogosultak (diákok és szüleik) egyből látják saját zárójegyeiket.
+
+===== Osztályfőnökök =====
+
+Osztályozó napló menüpont, Zárási statisztika almenü
+
+A saját osztály kiválasztásakor tetszőleges tárgysorrendet állítva látszódnak az osztály diákjainak zárójegyei, ebből képzett
+egyszerű átlaga, valamint az igazolt és igazolatlan hiányzásai. Ez alapján a jobb oldali oszlopban adható magatartás
+és szorgalom értékelések. Ne felejtsük a lap alján a beír gombbal rögzíteni.
+
+A "bizonyítvány írás" időszak végéig ezek a bejegyzések módosíthatók.
+
+===== Vezetőség =====
+
+Ellenőrzik a beírt jegyeket és hiányosságokat. Szükség esetén - a határidők lejárta után - javítják a téves adatrögzítésből
+adódó hibás bejegyzéseket.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felhasznaloi_azonositok_generalasa.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felhasznaloi_azonositok_generalasa.txt
new file mode 100644
index 00000000..3b687733
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felhasznaloi_azonositok_generalasa.txt
@@ -0,0 +1,94 @@
+====== Felhasználói azonosítók generálása ======
+
+** Figyelem **
+
+A rev2009-es számú kiadásban (2010. március végén) a MySQL adattábla szerkezete változott. Megszüntettük a `type` mezőt és átnevezésre
+került a groupId-->groupCn és groupName-->groupDesc . A továbbiakban ezt a formát részletezzük...
+
+** Megjegyzés: **
+
+Az alább leírt módszer némi gyakorlattal hatékonyabb és gyorsabb lehet, mint a web-es kezelőfelület használata, de nyilván több buktatóval is jár. Ha valaki nem biztos benne, hogy az alább leírtak szerint meg tudja oldani az azonosítók generálását, akkor inkább maradjon a felület nyújtotta lehetőségeknél:
+ * [[naplo:admin:azonositok|diák azonosítók generálása]]
+ * [[session:createAccount|új azonosító létrehozása]]
+
+----
+
+A tanárok és diákok számára generálhatunk felhasználói azonosítókat az intézmény ''tanar'' és ''diak'' adattáblájának adataiból - amennyiben MySQL háttéradatbázist használunk. Egy lehetséges megoldást mutatunk itt be.
+
+Lépjünk be az intézmény adatbázisába (''intezmeny_[intézmény rövid neve]''), majd ideiglenesen módosítsuk a ''tanar'' táblát egy új mező hozzáadaásával, majd töltsük is fel adatokkal:
+
+ alter table tanar add column userAccount varchar(32);
+ update tanar set userAccount=concat(viseltCsaladinev,'.',substring_index(viseltUtonev,' ',1));
+
+Amint látható Családinév.Utónév alakú azonosítókat készítettünk. A következő lépés, hogy ellenőrizzük, van-e ütközés:
+
+ select userAccount,count(*) as db from tanar group by userAccount having db>1;
+
+Ha van, akkor az azonosítót egy megfelelő ''update'' paranccsal módosítsuk (pl. Utónév.Családinév alakra). Az ütközések kiküszöbölése után hasonlóan készítsük el a diákok azonosítóit is:
+
+ alter table diak add column userAccount varchar(32);
+ update diak set userAccount=concat(viseltCsaladinev,'.',substring_index(viseltUtonev,' ',1));
+ select userAccount,count(*) as db from diak group by userAccount having db>1;
+ +--------------------+----+
+ | userAccount | db |
+ +--------------------+----+
+ | Kovács.János | 2 |
+ +--------------------+----+
+
+
+Itt nagyobb eséllyel fogunk ütközésre lelni, de az ütköző ''userAccount''-ok megváltoztatásával ezek könnyen kiküszöbölhetőek. A fenti példában azt látjuk, hogy két Kovács.János azonosító is szerepel a listában. Kérdezzük le ezek többi adatát is:
+
+ select diakId,viseltCsaladinev,viseltUtonev from diak where userAccount='Kovács.János';
+ +--------+------------------+--------------+
+ | diakId | viseltCsaladinev | viseltUtonev |
+ +--------+------------------+--------------+
+ | 5 | Kovács | János |
+ | 303 | Kovács | János |
+ +--------+------------------+--------------+
+
+Majd az egyik érintett diák azonosítóját változtassuk meg (pl. diákId alapján):
+
+ update diak set userAccount='János.Kovács' where diakId=303;
+
+A módosítások után ismét ellenőrizzük az ütközéseket. Ha nincs több ütközés, akkor meg kell még vizsgálnunk, hogy a tanári és diák azonosítók között nincs-e egyforma:
+
+ select * from tanar left join diak using (userAccount) where diakId is not null;
+
+Ha találunk ütköző azonosítókat, akkor azokat a fentiek alapján ismét módosíthatjuk. Ha úgy tűnik, hogy az azonosítók rendben vannak, akkor vegyük fel őket, először például a tanárokat:
+
+ insert into mayor_private.accounts (policy,userAccount,userCn,userPassword,studyId)
+ select 'private',userAccount,concat_ws(' ',viseltNevElotag,viseltCsaladinev,viseltUtonev) as userCn,
+ sha('kezdetiJelszó') as userPassword,oId as studyId from tanar;
+
+Érdemes a tanári azonosítókat rögrön berakni a tanár csoportba is:
+
+ set @gid = (select gid from mayor_private.groups where groupCn='tanar');
+ insert into mayor_private.members (uid,gid) select uid,@gid from mayor_private.accounts
+ where userAccount in (select userAccount from tanar);
+
+Majd betöltjük a diákok azonosítóit is.
+
+ insert into mayor_private.accounts (policy,userAccount,userCn,userPassword,studyId)
+ select 'private',userAccount,concat_ws(' ',viseltNevElotag,viseltCsaladinev,viseltUtonev) as userCn,
+ sha(crc32(viseltCsaladinev)) as userPassword,oId as studyId from diak;
+
+Az előző betöltéshez képest egy különbséget figyelhetünk meg: a kezdeti jelszónak most nem egy konstans értéket állítunk be, hanem a tanuló vezetéknevének CRC32-es kódját.
+Ez könnyen reprodukálható, megfelelő induló jelszó lehet.
+
+Rakjuk be az új azonosítókat a diák csoportba:
+
+ set @gid = (select gid from mayor_private.groups where groupCn='diak');
+ insert into mayor_private.members (uid,gid) select uid,@gid as gid from mayor_private.accounts
+ where userAccount in (select userAccount from diak);
+
+Már csak az van hátra, hogy az ideiglenes változtatásokat helyreállítsuk:
+
+ * A ''tanar'' és ''diak'' tábla userAccount mezőjének törlése
+
+ alter table tanar drop column userAccount;
+ alter table diak drop column userAccount;
+
+Utolsó lépésként állítsuk be a shadow attribútumokat (ezek befojásolják, hogy a jelszó mennyi ideig érvényes, mikor kell megváltoztatni, stb...)
+
+ update mayor_private.accounts set shadowMin=1,shadowMax=90,shadowWarning=10,shadowInactive=10;
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felhasznalonevek_megvaltoztatasa.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felhasznalonevek_megvaltoztatasa.txt
new file mode 100644
index 00000000..52365592
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/felhasznalonevek_megvaltoztatasa.txt
@@ -0,0 +1,71 @@
+====== Felhasználónevek megváltoztatása ======
+
+Ritkán, de előfordul, hogy a felhasználóneveket meg kell változtatnuk:
+ * túl hosszúra sikerült asszonynevek;
+ * házasság;
+ * válás;
+ * hivatalos névváltozás
+során.
+
+A változtatás módjai:
+ * mayoradmin-ként belépve a Felhasználói adatoknál az account-ot töröljük, majd újat veszünk fel. Fontos, az oktatási azonosító, és a csoporttagság ne változzon!
+ * elegánsabb, de nehezebb MySQL-ben, ezért aki nem biztos benne, hogy mit és hogyan csinál, válassza az a)-t vagy kérjen konkrét segítséget!
+
+Példánkban a **Kiss Virág** tanár nevét cseréljük le **Nagyné Kiss Virág**ra.
+
+Lépjünk be a megfelelő adatbázisba (szülők esetén a //mayor_parent//, mindenki más esetén a// mayor_private// adatbázisba!
+
+ # mysql -p mayor_private
+ Enter password:
+
+Keressük meg a felhasználónkat az //accounts// táblában!
+
+ mysql> SELECT uId,userAccount,userCn FROM accounts WHERE userCn LIKE '%Virág%';
+
+(Előfordulhat, hogy több Virág nevű felhasználó is van, válogassunk! :-) )
+
+Valami ehhez hasonlót kell kapni:
+
+ +-----+---------------------+----------------------------+
+ | uId | userAccount | userCn |
+ +-----+---------------------+----------------------------+
+ | 18 | Kovács.Virág | Kovács Virág |
+ | 26 | Virág.István | Virág István |
+ | 468 | Kiss.Virág | Kiss Virág |
+ +-----+---------------------+----------------------------+
+
+Jegyezzük meg az //uId// értéket, ezzel egyszerűbbé válik a munka!
+
+Ellenőrizzük, hogy az új azonosító létezik-e már!
+
+ SELECT uId,userAccount,userCn FROM accounts WHERE userAccount='Nagyné.Kiss.Virág';
+
+Ha ezt kapjuk:
+
+ Empty set (0.00 sec)
+
+mehet a változtatás, ellenben ha találat van (egyszerűbb nevek esetén), akkor keressünk másik felhasználónevet (**Nagyné-Kiss-Virág**, **Nné.Kiss.Virág**, stb.)!
+
+Cseréljük le a //userAccount// értéket (belépési név)!
+
+ UPDATE accounts SET userAccount='Nagyné.Kiss.Virág' WHERE uId=468;
+
+Cseréljük le a //userCn// értéket (megjelenő név)!
+
+ UPDATE accounts SET userCn='Nagyné Kiss Virág' WHERE uId=468;
+
+Ellenőrizzük!
+
+ mysql> select uId,userAccount,userCn from accounts where userCn like '%Virág%';
+
+ +-----+---------------------+----------------------------+
+ | uId | userAccount | userCn |
+ +-----+---------------------+----------------------------+
+ | 18 | Kovács.Virág | Kovács Virág |
+ | 26 | Virág.István | Virág István |
+ | 468 | Nagyné.Kiss.Virág | Nagyné Kiss Virág |
+ +-----+---------------------+----------------------------+
+
+Kérjük meg a Felhasználót, hogy lépjen be a saját account-jával!
+
+__Jótanács:__ ne változtassunk nyakra-főre a felhasználóneveken, csakis indokolt esetben! Mindenképpen kerüljük a becenév (Kata, Feri, Jocó), kitalált név (Zorró, A.Nagy.Fekete.Ember, stb), és zagyva karakterhalmaz (krtz, JB007, stb) típusú neveket! \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/google.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/google.txt
new file mode 100644
index 00000000..331834fa
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/google.txt
@@ -0,0 +1,26 @@
+===== Belépés Google-fiókkal =====
+A beállítás időigényes, többlépcsős, úgyhogy nyugodt körülmények közt érdemes végezni!
+==== Valid cert létrehozása ====
+Első lépésként - ha még nincs - hozzunk létre és állítsunk be érvényes, a böngészők által elfogadott tanúsítványt, pl. a Let'Encript-félét!
+
+Részletek [[hogyan:tanusitvany|itt]]!
+
+==== Google-fiókos azonosítás beállítása ====
+
+Egy működő (célszerűen saját) Google-fiókba belépve lépjünk az [[https://console.developers.google.com/apis/credentials|API]]-oldalra!
+
+A **Create Credentials** válasszuk a **Create Oauth client id** lehetőséget, majd a **Web application**-t! A **Name** mezőbe adhatunk valami értelmes nevet (ami alapján később is tudjuk azonosítani), majd a **Authorized JavaScript origins** mezőjébe a **https-es URL**-t kell beírni!
+
+A létrehozott kliens adatai közül kimásolandók: **Client ID** és a **Client secret**
+(A Client secret sok betű-szám, míg a Client ID sok szám-sok betű és apps.googleusercontent.com a vége - ez is kell...)
+
+
+Ezek után a naplóban a ///etc/mayor/main-config.php// fájban végezzük el a követekező módosításokat:
+
+ define('__GOOGLEAPI_ENABLED', true);
+ define('__GOOGLEAPI_CLIENT_ID','IDE_IRJUK_A_CLIENT_ID-T');
+ define('__GOOGLEAPI_CLIENT_SECRET','IDE_IRJUK_A_CLIENT SECRET-ET');
+
+Ezután a normál jelszóval belépés után a lakat alatt megjelenik egy **G+** jelre lépve, vagy a menüben a "google azonosítás" menüben lehet összekötni a beléptetett usert a saját fiókjával.
+
+Érdemes fokozottan felhívni a figyelmet a kényelem okozta esetleges hátrányokra - különösen a publikusan használt gépeken! \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/haladasi_utolag.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/haladasi_utolag.txt
new file mode 100644
index 00000000..7631501a
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/haladasi_utolag.txt
@@ -0,0 +1,41 @@
+====== Bejegyzés a Haladási naplóba - utólag ======
+
+Miért lehet erre szükség?
+
+ * nem lett kész a napló tanévkezdésre, így az első napokra nem töltődött be a Haladási napló;
+ * leállt a szerver, ilyen-olyan okok miatt nem lehetett néhány napig visszakapcsolni;
+ * elindult egy plusz tankör, szakkör, előkészítő, stb., de az adminisztráció lekéste a valódi, naptárbeli kezdést;
+ * ...
+
+Lehetőség szerint kerüljük az utólagos módosításokat (technikailag lehetséges minden, de az elszámolásoknál, hiányzásoknál, statisztikáknál galibát okozhat!).
+
+Az **Órarend**ben az órák jobb felső sarkában megjelenő kis kör jelzi, hogy az adott óra már a Haladási naplóban van.
+
+Fontos tudni, hogy a Haladási naplóba akkor kerül be az óra, ha
+
+ * elértük az adott nap dátumát (0:00:00) és valaki belépett a naplóba (várjuk meg az éjfélt és próbáljuk ki... :-D);
+ * az adott napra valamilyen helyettesítéssel kapcsolatos esemény (tanár hiányzása, máskor megtartott óra, stb.) rögzítésre kerül.
+
+===== Egy-egy óra beírása, vagy sok óra beírása lassan... =====
+
+A //mayoradmin// és a //vezetőség// tagjai a **Napló/Haladási napló/Plusz óra** menüben vehetnek fel visszamenőlegesen órákat.
+
+Értelemszerűen a dátum kiválasztása az első, majd **tanár**, **osztály**, **tankör** szerint szűkíthetjük a lehetőségeket. Megjelenik az adott napra a kiválasztott személy/csoport órája. A MaYoR figyeli a tanárt és az osztályt/tankört is, tehát, adott tanárnak adott tankörrel csak akkor enged órát felvenni, ha mindketten "lyukasak".
+
+A megjelenő táblázat alapján választhatjuk ki a legördülő listából a még szabad órákat. Ezek után csak a terem megadása következik, valamint az óra típusának beállítása:
+ * plusz óra (egyedi alkalom);
+ * órarendi óra (utólagos, "normál" órarendbeli óra pótlása a Haladási naplóban).
+
+Ez a módszer ugyan lassacska egy egész iskola elmaradt napjának pótlására, de rendkívül hasznos, mert semmilyen bakit nem hagy elkövetnünk! :-D
+
+===== Teljes elmaradt nap egyszerű(bb) pótlása =====
+
+Ha valamilyen ok miatt nem töltődött be a Haladási naplóba az aktuális nap (ld. fent, szerver-leállás, stb.), akkor a legegyszerűbb azokat a
+[[naplo:admin:fillhaladasi|Napló/Admin/Haladási napló feltöltése]] menüpont alatt feltölteni.
+
+A //mayoradmin// és a //vezetőség// a **Helyettesítés** menüben is eljárhat.
+A **Napló/Haladási napló/Helyettesítés** menüben ha egy napra szeretnénk betölteni a Haladási naplóba az egész intézmény óráit, akkor a legördülő menüben kiválasztjuk a keresett napot, majd anélkül, hogy helyettesítésre kijelölt tanárt választanánk, nyomjuk meg az **OK** gombot.
+Ezzel az adott napra, az **orarendiOra** tábla alapján, betöltődnek az órák a Haladási naplóba.
+
+Ha nincs kézzelfogahtó magyarázat a Haladási napló hiányára, feltétlenül járjunk utána, mi okozhatta a hibát (egy kósza SQL-bejegyzés az **ora** táblában, **orarendiOra** táblában rossz dátum, az **Éves munkatervben** rosszul felvett nap, stb.) Ha nem boldogolunk, keressük meg a **Support**ot!
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/hasznos_sql_gyujtemeny.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/hasznos_sql_gyujtemeny.txt
new file mode 100644
index 00000000..3cf7105d
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/hasznos_sql_gyujtemeny.txt
@@ -0,0 +1,159 @@
+===== SQL szintű módosítások hasznos gyűjteménye =====
+
+==== Egy évfolyam tanulóinak adott tárgyból szerzett osztályzatai ====
+
+**Példa:**
+A kompetencia méréshez szükségünk van az előző év (példánkban 2012) végi 7. évfolyamosok matematika osztályzataira.
+
+ SELECT CONCAT_WS(' ', viseltCsaladinev, viseltUtonev) AS diakNev, targyNev, jegy
+ INTO OUTFILE '/tmp/2012matematika7.txt' FROM zaroJegy LEFT JOIN diak USING (diakId) LEFT JOIN targy USING (targyId)
+ WHERE targyNev='matematika' AND evfolyam=7 AND felev=2
+ AND hivatalosDt = (SELECT zarasDt FROM szemeszter WHERE tanev=2012 AND szemeszter=2);
+
+==== Hiányzás beírás elmulasztása ====
+
+**Példa:**
+Szeretnénk megtudni, hogy hányszor fordult elő egy-egy kollégával, hogy az ő órájára utólag valaki más írt be hiányzót. Ez tipikusan olyankor fordul
+elő, mikor a kolléga nem ír be hiányzót, majd az osztályfőnök ezt pótolja helyette.
+
+Az adatbázisban a ''hianyzas.rogzitoTanarId'' tárolja, hogy ki írta be a hiányzást, a ''rogzitesIdoben'' mező 1 értéke pedig azt jelzi, ha a beírás
+még a szaktanárra vonatkozó határidő lezárta előtt megtörtént (ekkor lehet teljesen vétlen a tanár, hisz ha az ofő reggele előre beírja a hiányzót,
+akkor a szaktanárnak már nincs erre módja).
+
+ select ki, viseltCsaladinev, viseltUtonev, count(rogzitoTanarId)
+ from hianyzas left join ora using (oraId) left join intezmeny_vmg.tankorTanar using (tankorId)
+ left join intezmeny_vmg.tanar on ki=tanar.tanarId
+ where ki<>rogzitoTanarId and rogzitesIdoben<>1 group by ki, viseltCsaladinev, viseltUtonev;
+
+
+==== Egy munkaterv óráinak betöltésre adott napra ====
+
+**Példa szituáció:**
+Az intézményben általános iskola és gimnázium is működik - eltérő munkatervvel. Egy adminisztrációs hiba miatt egyik napra csak a gimnázium órái töltődtek be
+(az általános iskola munkaterve eredetileg tanítás nélküli napként jelölte az adott dátumot), de utólag be kell töltenünk az általános iskola óráit is. Nem törölhetjük
+a már betöltött órákat, hisz vannak már beírt órák, hiányzások.
+
+**Megoldás:**
+ * Legyen az adott dátum: 2013-02-27
+ * Az adott napi órarendi hét: 1
+ * Az általános iskola munkatervId-je: 2
+ * A tanév adatbázisa: naplo_vmg_2012
+ * Az intézéményi adatbázis: intezmeny_vmg
+
+Ekkor az SQL utasítás:
+
+ INSERT INTO naplo_vmg_2012.ora (dt,ora,ki,tankorId,teremId,tipus,eredet)
+ SELECT '2013-02-27',ora,orarendiOra.tanarId AS tanarId, orarendiOraTankor.tankorId AS tankorId,teremId, 'normál','órarend'
+ FROM naplo_vmg_2012.orarendiOra LEFT JOIN naplo_vmg_2012.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
+ WHERE orarendiOraTankor.tankorId IS NOT NULL AND tankorId IN (
+ SELECT DISTINCT tankorId FROM intezmeny_vmg.tankorOsztaly
+ WHERE osztalyId IN (SELECT distinct osztalyId FROM naplo_vmg_2012.munkatervOsztaly WHERE munkatervId=2)
+ )
+ AND het=1 AND nap=3 AND tolDt<='2013-02-27' AND igDt>='2013-02-27'
+
+==== Be nem lépett szülők ====
+
+(Átnézetlen lekérdezés)
+
+Kik azok a szülők akik január elseje óta nem léptek be.
+
+A megoldásom az alábbi sql utasítás lenne:
+
+ SELECT `userAccount`
+ FROM mayor_parent.accounts
+ WHERE userAccount NOT
+ IN (
+ SELECT `userAccount`
+ FROM mayor_login.loginLog
+ GROUP BY mayor_login.loginLog.`userAccount` , mayor_login.loginLog.`policy`
+ HAVING MAX( mayor_login.loginLog.`dt` ) >= '2013-01-01 00:00:00'
+ AND mayor_login.loginLog.`policy` = 'parent'
+ )
+
+==== Két tankör egyesítése visszamenőleg ====
+
+**Példaszituáció**
+Félévkor az egyik tanulócsoportban tanárváltás történt, de ezt - helytelenül - úgy oldottuk meg, hogy új tankört is felvettünk az új tanárnak. Utóbb szeretnénk
+rendezni a helyzetet, hogy pl. az óraszámok folyamatosan számozódjanak.
+
+**Megoldás**
+ * Legyen az új tanár azonosítója: 49
+ * A korábbi tankör azonosítója: 462
+ * Az újabb tankör azonosítója: 613
+ * Az intézményi adatbázis neve: intezmeny_eventus
+ * Feltesszük továbbá, hogy a megefelő tanév adatbázisában állunk
+
+Ekkor:
+
+ set @tanarId=49;
+ set @new=613, @old=462;
+
+ START TRANSACTION;
+
+ -- A tankorId-k cseréje a megfelelő táblákban
+ update ora set tankorId=@old where tankorId=@new;
+ update jegy set tankorId=@old where tankorId=@new;
+ update tankorDolgozat set tankorId=@old where tankorId=@new;
+ update orarendiOraTankor set tankorId=@old where tankorId=@new;
+ update intezmeny_eventus.tankorTanar set tankorId=@old where tankorId=@new;
+
+ -- A tankorTanar táblában kiiktatjuk az átfedéseket - ez nem biztos, hogy szükséges!
+ -- Elöbb kiírjuk a módoítás előtti állapotot
+ select * from intezmeny_eventus.tankorTanar where tankorId in (@old, @new);
+ set @kiDt=(SELECT beDt from intezmeny_eventus.tankorTanar where tankorId=@old and tanarId=@tanarId);
+ update intezmeny_eventus.tankorTanar set kiDt=@kiDt - interval 1 day where tankorId=@old and tanarId<>@tanarId;
+ -- Utána is kiírjuk, hogy mi lett az eredmény
+ select * from intezmeny_eventus.tankorTanar where tankorId in (@old, @new);
+
+ -- Ellenőrizzük azt is, hogy azonos tárgyhoz tartozó tankörök-e
+ select targyId from intezmeny_eventus.tankor where tankorId in (@old, @new);
+
+ -- Végül töröljük az immár felesleges tankört
+ delete from intezmeny_eventus.tankor where tankorId=@new;
+
+ -- Itt még meggondolhatjuk magunkat! De ha minden ok, akkor mehet a commit...
+ COMMIT;
+
+**Megjegyzések:**
+Feltételezzük, hogy a megadott két tankörnek azonos a névsora, tehát a tankorDiak táblát nem bántjuk. Nem nyúltunk a tankorCsoport és tankorBlokk
+táblákhoz sem, ezekből egyszerűen törlődnek az új tankör adatai.
+
+
+==== Teremhozzárendelések átmásolása ====
+
+=== első hétről a második heti órarendbe ===
+
+Többhetes óraren készítésekor gyakori, hogy az órák jelentős része megegyezik a két hét órarendjében. Ilyenkor nagy segítség, ha a teremhozzárendelést az első hétre
+megcsinálva a megfelelő msodik heti órákra is ki lehet terjeszteni:
+
+ UPDATE orarendiOra AS o1 left join orarendiOra AS o2 USING (nap, ora, tanarId, osztalyJel, targyJel)
+ SET o1.teremId=o2.teremId WHERE o1.het=2 AND o2.het=1 AND o2.teremId IS NOT NULL AND (o1.teremId IS NULL OR o1.teremId!=o2.teremId);
+
+=== korábbi változatból újabb változatba ===
+
+Ha órared módosításkor új órarendet töltöttünk be (ennek érvényességi ideje példánkban 2015-01-18-ával kezdődik), és szeretnénk a két változatban egyező órák
+teremhozzárendeléseit átmenteni:
+
+ UPDATE orarendiOra AS o1 left join orarendiOra AS o2 USING (het, nap, ora, tanarId, osztalyJel, targyJel)
+ SET o1.teremId=o2.teremId WHERE o1.tolDt='2015-01-18' and o2.tolDt<=curdate() and curdate()<=o2.igDt;
+
+=== Órarendből haladási naplóba ===
+
+Órarend módosításkor előfordulhat, hogy az órák még az előtt bekerülnek a haladási naplóba (''ora'' tábla), mielőtt a teremhozzárendelések véglegesülnek, így eltérő
+teremId-k leszenk a két táblában. A felületen annyit látunk, hogy az órarend szerinti termek áthúzva jelennek meg a haladási naplóban lévőek mellett. Szeretnénk, hogy
+a haladásinapló mégis az áthúzott teremId-ket tartalmazza...
+
+Kérdezzük le az érintett órákat:
+
+ select orarendiOra.*,ora.tankorId,ora.teremId
+ from ora left join orarendiOra on het=1 and tolDt='2015-01-18' and orarendiOra.tanarId=ora.ki and dayofweek(dt)-1=nap and ora.ora=orarendiOra.ora
+ where ora.dt='2015-01-21' and ora.teremId<>orarendiOra.teremId;
+
+A példában a 2015-01-21-i órákat akarjuk javítani, ahol tudjuk, hogy 1. heti órarend van, s az érvényes órarend bejegyzései 2015-01-18-án kerültek be. A két tábla
+közt a kapcsolatot ezen kívül a tanár, a nap és az óra adja.
+
+Ha a lekérdezés eredménye alapján úgy látjuk, hogy valóban a javítandó bejegyzések jelentek meg, akkor módosítsunk:
+
+ update ora left join orarendiOra on het=1 and tolDt='2015-01-18' and orarendiOra.tanarId=ora.ki and dayofweek(dt)-1=nap and ora.ora=orarendiOra.ora
+ set ora.teremId=orarendiOra.teremId where ora.dt='2015-01-21' and ora.teremId<>orarendiOra.teremId;
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/hataridok.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/hataridok.txt
new file mode 100644
index 00000000..15f1a080
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/hataridok.txt
@@ -0,0 +1,84 @@
+====== Határidők kezelése ======
+
+A naplóban az egyes beírási feladatokhoz (saját óra, helyettesítés, stb.) tartozó **határdiőket** a ///var/mayor/config/module-naplo/config-[iskolarovidneve].php// állomány tartalmazza.
+
+Bár technikailag szinte bármilyen határidő beállítható, az iskolai szabályozás, a józan ész és az egymással összefüggő határidők (pl. igazolások köre) miatt célszerű alaposan átgondolni, mit állítunk be.
+
+A beállításokat mindenképpen a **Vezetőség jóváhagyásával** végezzük el!
+
+Az állományokban történő módosításkor a lehető legnagyobb gondossággal járjunk el! Célszerű az eredeti beállításokat kikommentelni, mert így biztosan megmarad egy működőképes érték.
+
+
+
+
+Lássunk néhány példát!
+
+===== Kommentelés: =====
+
+
+Ez az eredeti:
+
+ define('_ZARAS_HATARIDO',date('Y-m-01 00:00:00',strtotime('50 days ago')));
+
+Ez pedig a "hatástalanított"... (minden sor elejére dupla törtjel kerül):
+
+ //define('_ZARAS_HATARIDO',date('Y-m-01 00:00:00',strtotime('50 days ago')));
+
+Ugyanazt érjük el a legelső sor elé tett /* és az utolsó sor után tett */-gal):
+
+ /*
+ define('_ZARAS_HATARIDO',date('Y-m-01 00:00:00',strtotime('50 days ago')));
+ */
+
+===== Eredeti haladási (saját óra beírás) határidő értelmezése: =====
+
+Így néz ki:
+
+ // Azaz egy óra a következő hétfői tanítási nap 16:00-ig írható be.
+ define('_HALADASI_HATARIDO',
+ date('Y-m-d H:i:s',
+ strtotime('last Monday',
+ strtotime('next day',
+ strtotime(
+ getTanitasiNapVissza(5,date('Y-m-d H:i:s',strtotime('+8hours')))
+ )
+ )
+ )
+ )
+ );
+
+És mit jelent (belülről kifelé haladva)?
+
+A mostani dátum/időhöz adjunk 8 órát! Lépjünk vissza 5 tanítási napot! Vegyük a következő (naptári) napot! Majd ugorjunk az azt megelőző hétfőre!
+
+===== Más beállítások: =====
+
+==== Visszamenőleg szeptember 1-ig engedjük a saját órák beírását ====
+
+ define('_HALADASI_HATARIDO','2015-09-01 00:00:00');
+
+==== Folyamatoasan, 10 (naptári) napig lehet a saját órákat beírni ====
+
+ define('_HALADASI_HATARIDO',date('Y-m-d H:i:s',strtotime('10 days ago')));
+
+==== Folyamatoasan, 3 tanítási napig lehet a saját órákat beírni ====
+
+ define('_HALADASI_HATARIDO',getTanitasiNapVissza(3,'curdate()'));
+
+==== A hét péntekjén 20:00-ig lehet az aktuális heti saját órákat beírni ====
+
+ define('_HALADASI_HATARIDO',
+ date('Y-m-d H:i:s',
+ strtotime('monday this week',
+ strtotime('+28hours'))));
+
+==== A hét péntekjén 24:00-ig lehet az aktuális és az előző heti saját órákat beírni ====
+
+ define('_HALADASI_HATARIDO',
+ date('Y-m-d H:i:s',
+ strtotime('monday last week',
+ strtotime('+24hours'))));
+
+Az adott vagy az előző hétre történő számolásnál vegyük figyelembe, hogy az angolszász módi szerint a hét vasárnappal kezdődik... :-)
+
+**Figyelem**! Mindenki csak a saját felelősségére módosítson! Adatvesztést ugyan egyik sem okozhat, de sok kellemetlen konfliktus kiindulópontja lehet egy rosszul kivitelezett módosítás!
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/jelszoemlekezteto.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/jelszoemlekezteto.txt
new file mode 100644
index 00000000..7823f11f
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/jelszoemlekezteto.txt
@@ -0,0 +1,65 @@
+====== Szülői jelszócsere email-ben ======
+2016. nyarán új funkcióként megjelent az szülői elfelejtett / lejárt jelszavak önálló cserejének lehetősége.
+
+Az egész beállítást célszerű kevésbé terhelt időszakban (késő este, hétvége, piros betűs ünnep) elvégezni... :-)
+
+==== Előzetes tevékenységek ====
+ - Ellenőriz(tess)ük a szülői email-címek meglétét!
+ - Ha kell, aktualizáljuk! (Jelenleg (2016. szept.; rev3988)) a diák adatlapján, a szülői részben felvett/átírt email-cím NEM frissül a felhasználói adatoknál! Tehát változtatás esetén 2 helyen kell módosítani: Intézményi adatok/Diákok és Felhasználók/Felhasználó keresése-parent...)
+ - A régi, hagyományos (email-telen) jelszócsere lehetőségét hagyjuk meg, biztos lesz olyan szülő, aki nem használ email-t!
+ - Járjunk utána, hogy milyen módon lehet a kimenő leveleket ténylegesen kiküldeni (melyik szerverünk alkalmas erre, portnyitások a Közhálón, stb.)
+
+==== Hagyományos jelszócsere ====
+Mivel a szülőkkel ritkán van személyes kapcsolattartás, célszerű a jelszócsere-igényre egy nyomtatványt készíteni, pl. [[http://www.szag.hu/szuloijelszo.php|ilyet]]...
+
+==== Jelszóemlékeztető kérés lehetőségének beállítása ====
+A ///var/mayor/config/parent-conf.php// állományban engedélyezzük ezt a lehetőséget!
+ 'enablePasswordReset' => true,
+Ezzel a publikus kezdőlapon, a **Bejelentkezés**-re kattintva aktivizálódik a kék színű **Jelszóemlékeztető** gomb.
+
+A szülőknek lehetőségük van __email-cím__ vagy __felhasználói azonosító__ alapján kérni a cserét.
+
+==== Levélküldés beállítása ====
+
+Jelenleg a MaYoR csak úgy tud küldeni levelet, ha a szerveren levő smtp szerver tud levelet küldeni. Közvetlenül nem kapcsolódik külső smtp szerverhez a php kliens, ezt inkább más programokra bízza, pl. postfix. Ezért a MaYoR-t futtató gépen telepíteni kell a postfix (levélküldő) csomagot, minden rendes tárolóban fenn van.
+
+**FIGYELEM! SuliXerver alatt futó naplónál ezt a lépést KI KELL HAGYNI! Ugorj az [[hogyan:jelszoemlekezteto#egyeb_beallitasok|Egyéb beállítások]]ra!**
+ # apt-get install postfix
+vagy
+ $ sudo apt-get install postfix
+És innen kérdéses a dolog, mert ahány ház, annyi szokás... Melyik szerver küldi a levelet, milyen hozzáféréssel, melyik porton, stb... Az alábbiakat csak a helyi viszonyok pontos ismeretében lehet folytatni!
+Célszerű a tényleges levélküldést másik szerverre bízni, így egy rakás beállítástól megmenekülünk és az a veszély sem fenyeget, hogy a csak kifele levelező MaYoR-t spam-szervernek minősítik... :-o
+
+**Egyik mód: (MaYoR külön szerveren, mellette komplett funkcionalitású SuliXerver)**
+
+Meg kell adni, hogy a MaYoR ténylegesen kivel küldje el a levelet.
+
+A postfix beállításait a ///etc/postfix/main.cf// állomáynban szerkeszthetjük, de óvatosan...!
+
+Itt kell megadni a levéltovábbító szerver IP-jét, nálam ez a 172.16.0.3 lett. (Meghagytam jó szokás szerint az eredtei sort is, kommentezve...)
+ # relayhost =
+ relayhost = 172.16.0.3
+A változtatások után a postfix-et újra kell indítani:
+ # service postfix restart
+
+Azon a bizonyos szerveren, ami továbbítja a MaYoR által küldött levelet, be kell állítani, hogy a MaYoR-tól fogadja el a levéltovábbítást. Nálam SuliXerver fut, vele kell ezt megértetni.
+
+**Másik mód: nincs levelezőszerver, gmail-es címet használunk**
+
+Először is létre kell hozni egy értelmes nevű, biztonságos jelszóval ellátott gmail-postafiókot.
+
+Majd rá kell venni a napló postfix-jét, hogy ezen postafiókkal küldje a leveleket az érintetteknek. Ehhez szükség van a napló irányában a szolgáltatónál (pl. NIIF/KIFÜ/Közháló/SuliNet - ki hogy ismeri) az **587**-es TCP-portot kinyit(tat)ni.
+
+Még nincs kész, folyt.köv.
+
+==== Egyéb beállítások ====
+
+A /var/mayor/config/main-config.php végére még be kell szúrnunk ezt a két sort, értelemszerűen átírva:
+ define('__SUPPORT_EMAIL_ADDRESS','support@iskola.hu');
+ define('__SUPPORT_EMAIL_NAME',_SITE.' Support');
+
+Ha egy családon belül több hozzátartozó is ugyanazt az email-címet adta meg, értelemszerűen az első kapja meg a levelet.
+
+Hívjuk fel a szülők figyelmét, hogy a levelek gyakran a SPAM mappában landolnak, azt is ellenőrizzék!
+
+Még nincs kész, folyt.köv. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/jogviszony.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/jogviszony.txt
new file mode 100644
index 00000000..d91ba340
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/jogviszony.txt
@@ -0,0 +1,49 @@
+
+====== Diákok jogviszonya ======
+
+Az alábbiakban összefoglaljuk a diákok jogviszony-kezelésének föbb tudnivalóit
+
+===== Jogviszony állapok áttekintése =====
+
+==== Felvételt nyert ====
+
+Ez az állapot valójában a jogviszonyba lépés előtti állapotot jelenti. Azért vezettük be, hogy lehetőség legyen a felvett diákok adatainak betöltésére már a beiratkozás előtt.
+Ez az állapot a beiratkozáskor "jogviszonyban van" állapotra változik - más jogviszonyváltásra ebből az állapotból nincs lehetőség.
+
+A "felvételt nyert" státuszú diákot besorolhatjuk oszályokba, de nem lehet tagja tanköröknek, nem vehet részt a tanulmányokban, így nem lehet se hiányzása, se jegye, stb.
+
+==== Jogviszonyban van ====
+
+Ez a státusz jelöli a normál tanulói jogviszonyt. A jogviszony a beiratkozással veszi kezdetét, átválthat magántanulói jogviszonyra (magántanuló), időszakosan szünetelhet
+(jogviszonya felfüggesztve), illetve lezárulhat.
+
+A jogviszonyban lévő tanulót osztályokba, tankörökbe soroljuk, munkáját értékeljük, hiányzásait adminisztráljuk, stb
+
+==== Magántanuló ====
+
+A már beiratkozott diák tanulmányait magántanulóként is folytathatja. A magántanuló tanulmányait önállóan végzi, egyénileg készül fel, az intézmény feladata a tanuló
+értékelése. Magántanulói státuszból a tanuló visszakerülhet normál jogviszonyba, kérheti jogviszonyának felfüggesztését, illetve jogviszonya le is zárulhat
+(pl. ha tanulmányait elvégezte, vagy más intézményban folytatja).
+
+A magántanuló tagja lehet valamely osztálynak, de nem tagja egyik tankörnek sem, nem kap évközi érdemjegyeket, a tanórai foglalkozásokon nem vesz részt, félévi és év végi
+osztályzatait osztályozóvizsgán szerti meg.
+
+==== Jogviszonya felfüggesztve ====
+
+Ez az állapot azt jelenti, hogy a tanuló időszakosan megszakítja tanulmányait, semmiéyen módon nem vesz részt a tanításban, értékelésben. A felfüggesztett jogviszonyból
+a tanuló visszatérhet normál tanulói jogviszonyba, magántanulói jogviszonyba, de akár le is zárulhat jogviszonya.
+
+A felfüggesztett jogviszonyú tanuló nem tagja se osztálynak, se tankörnek, újbóli jogviszonybalépéséig csak adatait tároljuk.
+
+==== Jogviszonya lezárva ====
+
+Ezt a státuszt használjuk, ha a diák jogviszonya véglegesen lezárult - a tanulmányok végeztével, más iskolába való átvétel esetén, tankötelezettség lejártával, ha
+tanulmányait nem kívánja folytatni, stb. Szükség esetén - újabb beiratkozással - lezárt jogviszonyból új jogviszony nyitható.
+
+A lezárt jogviszonyú tanuló nem tartozik se osztályba, se tankörbe, nem vesz részt a tanításban, értékelést sem kap, stb...
+
+==== Vendégtanuló ====
+
+A vendégtanuló sajátos tanulói jogviszony, mely akkor létesül, ha a tanuló nem az intézményben folytatott valamely képzés egészében vesz részt, csak egyes tárgyak tanulására
+szorítkozik. A vendégtanuló nem tagja egyik osztálynak sem, de tanulmányait valamely tankörökben végzi, ezekben évközi értékelést is kap. A vendégtanulói jogviszony csak
+lezárulhat, más státuszba nem váltható.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/karbantartas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/karbantartas.txt
new file mode 100644
index 00000000..df62a463
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/karbantartas.txt
@@ -0,0 +1,78 @@
+====== Karbantartás ======
+
+A karbantartás főbb lépéseit próbáljuk itt összeszedni.
+
+===== A karbantartási feladatok előkészítése =====
+
+A MaYoR rendszer két fő karbantartási feladatát (mentés és frissítés) egy egyszerű szkript segítségével végezhetjük. Ez a szkript a ''/var/mayor/bin/mayor'' elérési
+úttal rendelkezik. Érdemes erre a parancsállományra szimbolikus linket készíteni egy olyan könyvtárból, ami benne van a rendszergazda keresési útvonalainak
+listájában (tipikusan erre való az ''/usr/local/sbin/''), illetve futtatási jogot kell rá adnunk - ha még nem lenne (a telepítő normál esetben ezt megteszi):
+
+ # chmod +x /var/mayor/bin/mayor
+ # ln -s /var/mayor/bin/mayor /usr/local/sbin/
+
+A telepítés tartalmaz egy egyszerű cron szkriptet is (''/var/mayor/bin/etc/cron.daily/mayor''). Ezt testreszabhatjuk és átmásolhatjuk az ''/etc/cron.daily'' kövtárba,
+vagy készíthetünk rá szimbolikus linket is, ha az alapbeállítások megfelelnek nekünk (napi mentés és heti frissítés).
+
+A karbantartó script bash (GNU Bourne-Again SHell) - ben íródott és fixen a ''/bin/bash'' útvonalon keresi a futtató programot. Amennyiben más (locate bash) elérési
+úton található rendszerünk bash programja:
+
+ # ln -s [ahol valójában van] /bin/bash
+
+===== Mentés =====
+
+Az egyik legfontosabb dolog a rendszeres, lehetőleg napi mentés biztosítása. Valódi biztonságot csak ez adhat. Akár program hibából, akár egy meggondolatlan kattintás
+következményeként, vagy egy rosszul kiadott SQL utasítás nyomán elveszhetnek, sérülhetnek adatok, az illetéktelen hozzáférés veszélyéről nem is beszélve. A napi mentés
+ilyen esetben rengeteg munkától és kellemetlenségtől kímélhet meg minket.
+
+A mentés elvégzésére a rendszer biztosít megfelelő szkriptet, de ennek használata csak megfelelő kitöltött konfigurációs állomány esetén működhet.
+A beállításokat a ''/var/mayor/config/main.conf'' állományba kell beírnunk, mintát találunk ugyanitt ''main.conf.example'' néven.
+
+A ''SAVELDAP'' opció a legtöbb telepítés esetén 0 értékű és az utána következő három bejegyzés így nem lesz figyelembe véve, hiszen a legtöbb helyen MySQL
+háttéradatbázist használunk.
+
+A mentés ezek után parancssorból indítható:
+
+ # mayor backup
+
+Természetesen, abban az esetben, ha a fent említett cron szkriptet bemásoltuk a megfelelő helyre, akkor ez a parancs minden reggel automatikusan le fog futni -
+ilyenkor nem, vagy csak speciális esetekben kell külön futtatni.
+
+===== Frissítés =====
+
+A frissítéshez szintén ugyanez a konfigurációs állomány tartozik: ''/var/mayor/config/main.conf''.
+
+Fontos, hogy az update folyamat hozzáférjen az adatbázisokhoz - hiszen esetenként ezeket is módosíthatja.
+A MODULES paraméterben adjuk meg, hogy mely modulokat szeretnénk frissíteni.
+
+Az update folyamat HTTP alapú (a wget programot használja).
+
+A ''parentDeny'' illetve ''publicDeny'' változók szorulnak magyarázatra. A legtöbb funkciót megvalósító oldal a private hozzáférési szinten van definiálva. Ha ezekre
+a public vagy parent szinten hivatkozunk, az update folyamat linkeket hoz létre. Ha az alapértelmezetten linkelt oldalakat le akarjuk tiltani valamelyik
+hozzáférési szinten, akkor ehhez az oldalt a rövid elérési útjával be kell írnunk pl a ''publicDeny'' változóba. Így
+
+ # publicDeny="naplo/tanev/orarend"
+
+(( Figyelem! A régebbi verziókban (1943-ig) használt ''parentSymlink'' és ''publicSymlink'' változókat a továbbiakban nem használjuk!))
+
+A frissítő szkriptnek valahonnan tudnia kell, hogy mi a program jelenlegi verzió-száma, hogy el tudja dönteni, szükség van-e frissítésre, és ha igen,
+akkor mely módosítások elvégzését jelenti a frissítés. A program aktuális verziószámát a ''/var/mayor/log/revision'' fájl tartalmazza. Ha ez az állomány valamiért
+hiányzik, megsérül, hibás adatot tartalmaz, akkor hozzuk létre és javítsuk ki a megfelelő revision beírásával.
+
+A frissítés ezek után parancssorból történhet:
+
+ # mayor update
+
+Feltéve, hogy korábban valamilyen módon elértük, hogy a /var/mayor/bin/mayor script futtatható legyen és benne legyen a PATH-ba. Például:
+
+ # ln -s /var/mayor/bin/mayor /usr/local/sbin
+ # chmod +x /var/mayor/bin/mayor
+
+===== A beállítások felügyelete =====
+
+A MaYoR rendszer összes beállítása a ''/var/mayor/config'' könyvtár alatt végezhető, beleértve a [[hogyan:menu_testreszabas|menük testreszabását]] az egyes skin-ek
+apróbb beállításait, a modulok konfigurációját és az egyes hozzáférési szintek beállításait. A konfigurációs állományokhoz mindig találunk ''.example'' kiterjesztésű
+mintát. Mivel a konfigurációs lehetőségek időnként változnak, ezért érdemes időszakonként átnézni őket, hogy lássuk, nincs-e szükség saját állományaink szerkesztésére.
+
+A ''/var/mayor/log/'' könyvtárban található az aktuális revision file valamint az update process logjai.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/kepesitesek.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/kepesitesek.txt
new file mode 100644
index 00000000..cc50ab38
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/kepesitesek.txt
@@ -0,0 +1,75 @@
+====== Képesítések adminisztrációja ======
+
+A képesítések tárolása elsősorban a tantárgyfelosztás elkészítése miatt szükséges, itt is alapvetően azért csak, mert a jogszabály
+szerint a tanárok képesítésének is szerepelnie kell a tantárgyfelosztásban. A képesítések felvételének további haszna lehet a tanárok
+tantűrgyakhoz való hozzárendelésének új lehetősége, ami a naplóban eddig ezt a célt szolgáló munkaközösségeket válthatja ki.
+
+===== A képesítésekről nyilvántartott adatok =====
+
+A képesítések rendszere meglehetősen szerteágazó, ennek következtében többféle jellemzőt kell velük kapcsolatban nyilvántartanunk.
+
+==== Végzettség, fokozat ====
+
+Bizonyos képzések jellemzője, hogy végzettséget adnak. A végzettségek rendszere három fokozatot és további fokozatokat tartalmaz.
+
+ - **alapfokú végzettség** szerezhető az általános iskola nyolc osztályának elvégzésével, vagy a 20 hónapos köznevelési Híd II. program befejeztével
+ - **középfokú végzettség** szakközépiskolában, vagy gimnáziumban lettett sikeres érettségivel nyerhető
+ - **felsőfokú végzettség** szerezhető felsőoktatási intézményekben többnyire a képzést lezárő államvizsga letételével.
+
+Fontos, hogy nem minden képzés ad végzettséget. Például a felsőfokú szakképzés csak szakképesítést, a szakirányú továbbképzések csak szakképzettséget, végzettséget
+nem adnak. Külön kategória a középfokú szakképzés szakmai végzettsége is - tehát a fenti értelemben ez sem ad középfokú végzettséget, csak szakképesítést.
+
+
+A felsőfokú végzettségek további három fokozatba sorolhatok:
+
+ - **alapfokozat** - szokásos jelölése BA, illetve BSc, mely az egyetemi/főiskolai alapképzés keretében szerezhető meg.
+ - **mesterfokozat** - szokásos jelölése MA, illetve MSc, mely az egyetemi/főiskolai alapképzést követő mesterképzésen, vagy az osztatlan mesterképzésen szerezhető meg.
+ - **tudományos fokozat** - szokásos jelölése PhD, illetve DLA, mely a mesterfokozat megszerzése után a doktori képzésben szerezhető meg.
+
+A bolognai rendszer bevezetése előtti felsőfokú végzettségeket az alapján különböztetjük meg, hogy egyetemen, vagy főiskolán szerezték őket. A legtöbb esetben a korbbi
+főiskolai végzettséget megfeleltetik a mai alapfokozatnak, míg az egyetemi végzettséget a mai mesterfokozatnak. Emiatt célszerűnek tűnt a programban a főiskolai/egyetemi
+jelzőket is a fokozatok körébe sorolni:
+
+ - **főiskolai** fokozat jelöli a bolognai renszer bevezetése előtti főiskolai felsőfokú végzettséget
+ - **egyetemi** fokozat jelöli a bolognai rendszer bevezetése előtti egyetemi felsőfokú végzettséget
+
+==== Specializáció: szakképesítés, szakképzettség ====
+
+Az oktatási jogszabályok megkülönböztetik a végzettség és a szakképzettség, valamint szakképesítés fogalmát. A végzettség egy általános szint, fokozat jelölésére
+szolgál, önmagában nem jelent semmifajta specializációt - azt a szakképzettség adja meg.
+
+ - **szakképzettség** a felsőfokú végzettséggel együtt, vagy felsőfokú végzettség bitokában szakirányú továbbképzéssel szerezhető.
+
+A szakképzés egyes szintjein szakképesítés szerezhető. A szakképesítések rendszere igen szerteágazó, több fokú, alap, ráépített és rész szakképesítéseket is tartalmaz.
+Az Országos Képzési Jegyzékben szereplő szakképesítés szintjét az OKJ azonosító első két számjegye mutatja.
+
+A programban egy egyszerűsített modellt használunk:
+
+ - **alapfokú szakképesítés** - befejezett iskolai végzettséget nem igénylő, speciális szakiskolai képzésben, Híd II. program keretében, vagy iskolarendszeren kívül megszerezhető szakképesítések. OKJ számuk 2-vel kezdődik.
+ - **középfokú szakképesítés** - alapfokú végzettséghez, esetenként középfokú végzettséghez kötött szakképesítések. OKJ számuk 3, 52, vagy 53 kezdetű.
+ - **emelt szintű szakképesítés** - érettségi végzettséghez kötött, elsősorban iskolai rendszerű szakképzésben szerezhető szakképesítés. OKJ száma 54-gyel kezdődik.
+ - **felsőfokú szakképesítés** a felsőoktatásban szerzett szakképesítés. 55-tel, 6-tal, vagy 7-tel kezdődő OKJ számmal rendelkeznek.
+
+(De lehet, hogy egyszerűen a kezdő 2-es jelenti az alapfokú, 3-as a középfokú, 5-ös az emelt szintű, 6-os a felsőfokú szakképesítést adő képzéseket.)
+
+==== Képesítés neve ====
+
+A jellemzők mellett természetesen meg kell adnunk a képesítés hivatalos nevét is, felsőfokú égzettség esetén például a diplomán szereplő megnevezést.
+
+===== Példák =====
+
+^ vegzettesg ^ fokozat ^ specializacio ^ kepesitesNev ^
+| alapfokú | | | általános iskola |
+| középfokú | | | érettségi |
+| | | alapfokú szakképesítés | Lakás-textil készítő |
+| | | középfokú szakképesítés | Számítógép-szerelő, karbantartó |
+| | | emelt szintű szakképesítés | Pénzügyi-számviteli ügyintéző |
+| | | felsőfokú szakképesítés | Rendszerinformatikus |
+| felsőfokú | főiskolai | szakképzettség | tanító |
+| felsőfokú | egyetemi | szakképzettség | matematika szakos középiskolai tanár |
+| felsőfokú | alapfokozat | szakképzettség | |
+| felsőfokú | mesterfokozat | szakképzettség | földrajz szakos középiskolai tanár |
+| felsőfokú | tudományos fokozat | szakképzettség | |
+| | | szakképzettség | közoktatási vezető és pedagógus szakvizsga szakirányú továbbképzés |
+
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/kozossegi_szolgalat.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/kozossegi_szolgalat.txt
new file mode 100644
index 00000000..4de9aea4
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/kozossegi_szolgalat.txt
@@ -0,0 +1,35 @@
+
+====== Közösségi szolgálat adminisztrálása ======
+
+===== Jogi háttér =====
+
+**20/2012 EMMI**
+
+1. § Az iskola által használt nyomtatvány
+w) a közösségi szolgálati jelentkezési lap,
+
+2. § (3) Az egyéni törzslap tartalmazza
+g) a közösségi szolgálat teljesítésével kapcsolatos adatokat,
+
+101. § (6) Az értékelő naplórész
+ ...
+d) a közösségi szolgálat teljesítésével kapcsolatos adatokat
+tartalmazza.
+
+===== Megvalósítás =====
+
+A 101. § d) pont könyvelését a tárgy/tankör struktúrában oldottuk meg (rev >= 2972).
+(A köszi-vel való összehangolás egyelőre függőben van).
+
+ * új munkaközösséget kell felvenni, majd beállítani a megfelelő új követelmény típust
+ * tárgy neve: tetszőleges (pl. szociális gyakorlat)
+ * tárgy jellege: közösségi szolgálat
+ * záró követelmény: teljesített óra
+{{http://content.screencast.com/users/konczy/folders/Jing/media/46e0d0bb-42ef-4af4-b07c-51f3cb1b7b8d/00000486.png?600}}
+ * új tankört kell felvenni a következő szerint:
+ * Tankörtípus: közösségi szolgálat
+ * Évközi követelmény: teljesített óra (opcionális - év közben nem szükséges folymatosan jegyezni a rész óraszámokat...)
+{{http://content.screencast.com/users/konczy/folders/Jing/media/c94d1803-3d7c-4fa7-bfcc-86b69d359f96/00000487.png?600}}
+ * célszerű a tárgysorrendet úgy állítani, hogy a "közösségi szolgálat" típusú tárgyak a nyomtatványok sorrendjében a végén legyenek. (opcionális)
+
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/mayor_szkript.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/mayor_szkript.txt
new file mode 100644
index 00000000..a5e3918d
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/mayor_szkript.txt
@@ -0,0 +1,40 @@
+====== mayor update ======
+
+A frissítésért felelős.
+
+Alapbeállításként minden vasárnap hajnalban fut le, a (Debian rendszeren) /var/mayor/config/main.conf állományban a HTTP_SERVER-ként megadott helyről tölti le (és telepíti) a frissítéseket.
+
+A frissítés idejére lock-olja a naplót, a beléptetett felhasználókat "kidobja".
+
+Futtatható kézzel is, root joggal.
+
+ # mayor update
+
+Sikertelen frissítés esetén:
+ * a /var/mayor/config/main.conf fájlban megadott HTTP_SERVER nem elérhető;
+ * a /etc/resolv.conf-ban helytelen a DNS-megadás, emiatt nem megy a névfeloldás;
+ * a /etc/network/interfaces-ben a dns-nameservers-ben beállított értékek rosszak / szerverek elérhetetlenek.
+
+Félbeszakadt frissítés esetén hiba jelenik meg a napló webes felületén, ilyenkor a /var/run/mayor_lock állományt kell tötölni.
+
+====== mayor backup ======
+
+A mentésért felelős.
+
+Alapbeállításként minden nap hajnalban fut le, a (Debian rendszeren) /var/mayor/config/main.conf állományban a BACKUPDIR-ként megadott helyre tömörítve (tar.gz) menti az adatbázisokat, konfigurációs beállításokat.
+
+Célszerű a fenti állományban a "Backup paraméterek" részben a DATE elől kiszedni a kommentet, így a keletkező backupfile kiegészül az aktuális dátummal (2013.03.27 06:25):
+
+ 201303270625.tgz
+
+Futtatható kézzel is, root joggal.
+
+ # mayor backup
+
+**Erősen javallott, hogy sql használata előtt feltétlen készítsünk mentést!**
+
+====== mayor restore ======
+
+Megfelelően paraméterezve a backupfile-ból visszaállítja a teljes adatbázist és a konfigurációs állományokat.
+
+Folyt. köv. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/menu_testreszabas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/menu_testreszabas.txt
new file mode 100644
index 00000000..5b6f1690
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/menu_testreszabas.txt
@@ -0,0 +1,25 @@
+====== A menü testreszabása ======
+
+A menü testreszabása a ''/var/mayor/config/menu'' könyvtár alatt történhet. Itt hozzáférési szintenként, azon belül nyelvenként módosíthatjuk a menü tartalmát.
+
+Ha például a magyar nyelvű publikus oldalak menürendszerét akarjuk állítani, akkor ezt a ''/var/mayor/config/menu/public/menu-hu_HU.php'' állomány létrehozásával és szerkesztésével tehetjük meg. A módosításhoz ismernünk kel a [[base:menue#a_menue_felepitese|menürendszert tároló adatszerkezetet]].
+
+A ''public'' könyvtárban egy egyszerű minta állományt találunk (''menu-hu_HU.php.example''). Ebben megtalálható, hogy hogyan kell egy-két menüpontot kiszedni a menüből, illetve külső hivatkozást új menüpontként hozzáadni.
+
+Több olyan menüpont is van amelyek megtekintéséhez bizonyos felhasználóknak joga van, de nem tudják megtenni, (alapértelmezettként) nem jelenik meg nekik a menüpont.
+
+A teljes menü felépítését a ''/var/mayor/www/include/menu/'' könyvtárban lévő könyvtárszerkezetben lehet fellelni. (pl. a magyar nyelvű szülőknek szóló menü: ''/var/mayor/www/include/menu/parent/hu_HU/*'' könyvtár) Innen kell kipuskázni a nekünk szükséges menüket.
+
+Példa: - a diákoknak szeretnénk megjeleníteni a "Felhasználói adatok" menüben három almenüt: "Felhasználó keresése", "Adataim", "Jelszóváltoztatás". A "Felhasználó keresése", és a "Jelszóváltoztatás" menük eleve ott vannak, az "Adataim" menü pedig a diáknak sehol sem jelenik meg. Ekkor a fent említett ''menu-hu_HU.php'' állományba a következő sorokat kell beírnunk:
+
+ if (__DIAK){
+ $MENU['modules']['session'] = array(
+ 'searchAccount' => array(array('txt' => 'Felhasználó keresése','url' => 'index.php?page=session&sub=search&f=searchAccount')),
+ 'diak' => array(array('txt' => 'Adataim', 'url' => 'index.php?page=naplo&sub=intezmeny&f=diak')),
+ 'changeMyPassword' => array(array('txt' => 'Jelszóváltoztatás','url' => 'index.php?page=password&sub=&f=changeMyPassword&userAccount='._USERACCOUNT.'&policy=public&toPolicy=private','get' => array('skin','lang','sessionID'))),
+ )
+ }
+
+Ha egy meglévő menüben szeretnénk új almenüket megjeleníteni/létrehozni, a régiek megtartása mellett, akkor nem csak az új sort kell hozzáadnunk a menühöz, a meglévőket is át kell másolnunk. (ezért van a fenti példában a ''searchAccount'' és a ''changeMyPassword'' kezdetű sor) Ha csak a ''diak'' kezdetű sort tettük volna bele, akkor a "Felhasználói adatok" menünek csak egyetlen almenüje lenne.
+
+Apró szépséghiba, hogy ha a diák az "Adataim" menüre kattint akkor ezek megjelenése után a Napló menüben találja magát. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/orarend.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/orarend.txt
new file mode 100644
index 00000000..4f780f0c
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/orarend.txt
@@ -0,0 +1,97 @@
+
+====== Az órarend ======
+
+===== Koncepció =====
+
+Az órarend alapvetően két táblát jelent a tanév adatbázisban: ''orarendiOra'' és ''orarendiOraTankor''.
+
+Az előbbi tartalmazza tulajdonképpen a lényeget, azt, hogy kinek mikor, kivel, hol van órája.
+De annak érdekében, hogy a rendszer kellőképpen rugalmas legyen külön táblában rögzítjük, hogy melyik óra melyik tankörhöz tartozik.
+
+Ez a szerkezet lehetővé teszi például azt, hogy az órarendet betöltsük úgy, hogy a tankörök listája még nem teljes. Majd az órarendi
+bejegyzések tankörökhöz való hozzárendelése során derül ki az, hogy esetleg hiányzik egy-két tankör - amit felvéve rendeződik minden.
+
+Praktikus lehet olyan esetben is ez a szerkezet, amikor az órarend készítése során egy tankör óráit különböző jelölésekkel látjuk el.
+Például a RoPaSoft órarend késtítő programban is kellett ilyen trükköket használni, ha adott esetben egy 5 órás matematika órái úgy álltak elő, hogy 3 órát egy
+fakultációs sávból vettünk, a másik kettőt meg külön.
+
+
+===== Az adattáblák =====
+
+A mese után akkor a táblák:
+
+==== orarendiOra ====
+
+ orarendiOra(het, nap, ora, tanarId, osztalyJel, targyJel, teremId, tolDt, igDt)
+
+Egy rekord egy órarendi órának az adatait tartalmazza. A hét mező akkor érdekes, ha több hetes az órarend, mondjuk van A-hét és B-hét. A
+táblában persze nem A és B, hanem egy sorszám, 1 és 2 fogja ilyenkor jelölni, hogy a bejegyzés melyik héthez tartozik.
+Egyhetes órarend esetén a ''het'' mező értéke konstans 1 lesz.
+
+A ''nap'' a hét napját jelöli: hétfő 1, ..., péntek 5, esetleg szombat 6.
+
+Az ''ora'' azt hiszem nem igényel magyarázatot - az adott napon hanyadik tanítási óra.
+
+A ''tanarId'' a tanár azonosítója a MaYoR rendszerben. Ez a szám sok helyen megjelenik a tanár neve mellett zárójelek között a felületen, illetve
+kiolvasható az intézményi adatbázis ''tanar'' táblájából. Akármilyen formában töltjük be az adatokat, mindenképp szükséges, hogy ezt az
+azonosító számot betöltés közben, vagy betöltés előtt kiderítsük, hisz a mező értéke csak létező szonosító lehet (külső kulcs a ''tanar'' tábla megfelelő mezőjére).
+
+''osztalyJel'' és ''targyJel'':
+Ezek a mezők lényegében kötetlen tartalmúak. Az adott órarendkészítő program sajátosságai szerint tölthetők ki, bár szerencsés, ha a
+tartalmukból könnyen lehet következtetni a jelölt tanulócsoportra. Ami fontos velük kapcsolatban: a (''tanarId'', ''osztalyJel'', ''targyJel'')
+hármas lesz az a kulcs, amihez egy-egy tankört hozzá lehet rendelni. Ez akkor lehet esetleg gond, ha egy tanár ugyanabban az osztályban két
+csoportra bontva tanít egy tárgyat, mert ilyenkor figyelni kell, hogy a jelölésben valahogy megkülönböztessük a két csoportot. Pl a
+''targyJel''-hez egy sorszámot illesztünk: ''mt1'', ''mt2''.
+
+Az nem okoz gondot, ha egy tankör óráit többféle jelöléssel is illetjük. Például a fakultációs sáv órái ''mtFakt'', az alapóra ''mt'' jelölést kap.
+Két különböző (''tanarId'', ''osztalyJel'', ''targyJel'') hármashoz rendelhetjük ugyanazt a tankört.
+
+''teremId'': értelemszerűen a terem azonosítója a MaYoR rendszeren belül - kiolvasható az intézményi adatbázis terem táblájából. Ha nem akarunk
+termet megadni, akkor ''NULL'' értékkel kell felvenni... (külső kulcs - csak létező id, vagy null lehet)
+
+''tolDt''-''igDt''.
+Az órarend a tanév során változhat, változik. Ezért az egyes órarendi bejegyzések érvényességét kell tudnunk szabályozni. Erre szolgál ez a
+két dátum. Ha például egy bejegyzés csak az első félében érvényes, akkor 2009-09-01-es ''tolDt''-t és 2010-01-19-es ''igDt'' kap
+
+Órarendváltoztatáskor tehát a korábbi bejegyzéseket nem töröljük, csak az érvényeségüket "zárjuk le", majd felvesszük az új bejegyzéseket.
+A gyakorlatban általában az órarendet kezdetben egész évre szoktuk betölteni, és év közben mikor szükséges, akkor módosítjuk.
+
+==== orarendiOraTankor ====
+
+A másik tábla az ''orarendiOra'' rekordjaihoz rendeli hozzá a tanköröket a már emlegetett (''tanarId'', ''osztalyJel'', ''targyJel'') hármas alapján. A tábla
+mezői ennek megfelelően:
+
+ orarendiOraTankor(tanarId, osztalyJel, targyJel, tankorId)
+
+Ahol a ''tankorId'' a tankör azonosítója a MaYoR rendszeren belül, a legtöbb helyen a tankör neve után zárójelben fel is tüntetjük, de
+kiolvasható az intézményi adatbázis tankor táblájából is. Pontosabban a ''tankorSzemeszter'' táblából - mert itt tárolódnak a tankörök nevei -
+amik ugye évente változnak az évfolyam jelölés miatt...
+
+Ezt a táblát nem kell feltölteni. Ennek a kitöltését a felületen az [[naplo:orarend:orarendTankor|Órarend/Órarend-tankör összerendező]] menüpontban lehet elvégezni -
+tanáronként.
+
+
+===== Órarendbetöltés =====
+
+==== CSV (TSV) állományból ====
+
+Az "Admin/Import" menüpont alatt közvetlenül tudunk adatokat betölteni az ''orarendiOra'' táblába.
+
+Néhány sor egy fiktív csv-ből (ami igaziból inkább tsv, mert tabulátorokkal tagolt szöveges állomány....)
+
+ 1 1 1 12 8.a mt1 201 2009-09-01 2010-06-20
+ 1 1 2 12 11.b fiz 225 2009-09-01 2010-06-20
+ 1 1 5 12 8.a mt2 201 2009-09-01 2010-06-20
+ 1 1 6 12 12.c mtFakt 131 2009-09-01 2010-06-20
+ 1 1 7 12 12.c mtFakt 131 2009-09-01 2010-06-20
+
+A fenti pár sor a 12-es id-jű tanár első heti hétfői óráit írja le. Látszik, hogy a 8.a-ban két csoportban tanít matematikát, 11.b-ben
+fizikát és 12.c-ben egy duplaórás matematika fakultációt.
+
+==== Óra felvétel a felületen ====
+
+Ha csak kevés órát kell felvennünk, akkor a legjobb megoldás az "Órarend/Órarend módosítás" menüpont használata. Itt lehetőség van új órák felvételére és korábbi bejegyzések lezárására is. Ezt a lehetőséget használva a bejegyzések rögtön tankörhöz rendelődnek és a program ellenőrzi az esetleges ütközéseket is (egy diáknak egy időben ne legyen több kötelező órája).
+
+==== Órarend betöltő ====
+
+A programnak van egy külön órarend-betöltő menüpontja (Órarend/Órarend betöltés). Itt különböző szöveges (CSV, TSV, XML) formátumokból lehet órarendi bejegyzéseket felvenni, szükség esetén a korább bejegyzések lezárásával. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/orarendi_hetek_atallitasa.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/orarendi_hetek_atallitasa.txt
new file mode 100644
index 00000000..6552c8de
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/orarendi_hetek_atallitasa.txt
@@ -0,0 +1,10 @@
+====== Hogyan állítsuk át az órarendi heteket ======
+
+Előfordul, hogy az év elején beállított órarendi hetek sorát egy adott dátumtól kezdve át kell állítani. Ezt a felületen elvégezhetjük, havi bontásban, minden nap órarendi hetének átállításával, de ez esetenként lehet túl fárasztó, hoszadalmas. Ilyenkor jöhet jól, ha közvetlenül SQL utasításokkal át tudjuk állítani az órarendi heteket
+
+Pl:
+Ha szeretnént 2008 január elsejétől a kéthetes órarendben az órarendi heteket megcserélni, akkor az adott tanév adatbázisában adjuk ki a következő parancsot:
+
+ UPDATE nap SET orarendiHet=IF(orarendiHet=0, 0, (orarendiHet MOD 2)+1) WHERE dt>'2008-01-01';
+
+És kész is vagyunk! \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/osztaly_heti_idokeret.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/osztaly_heti_idokeret.txt
new file mode 100644
index 00000000..161810ab
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/osztaly_heti_idokeret.txt
@@ -0,0 +1,53 @@
+
+====== Osztály heti időkeretének számítása ======
+
+A tantárgyfelosztás egyik fontos eleme, hogy tisztában legyünk azzal, mekkora időkerettel, óratömeggel dolgozhatunk.
+A tantárgyfelosztás statsztikai oldala éppen ezért erről is ad információt. Fontos azonban tudnunk, hogy hogyan és mi alapján számol a program.
+
+A legfontosabb jogforrás ezen a téren a NKT. 6. melléklete, illetve az NKT. pár további paragrafusa is figyelembe veendő.
+
+===== Engedélyezet időkeret =====
+
+A NKT. 6. melléklete tartalmazza évfolyamonkénti lebontásban az osztályok engedélyezett időkeretét. Ez általában lényegesen több, mint a szintén ebben
+a mellékletben megállapított heti maximális óraszám az adott évfolyamon, hiszen az órakeretbe bele kell férjenek a tanórán kívüli foglalkozások is (pl.
+napközi, tanulószoba), illetve a csoportbontásokból adódó óratöbblet.
+
+===== Tehetséggondozás, felzárkóztatás =====
+
+A NKT. 27. § (5) értelmében heti 2 órát kell számolni osztályonként tehetséggondozásra és felzárkóztatásra.
+
+===== Egyházi fenntartású intézmények hitoktatásra fordítható többlet óraszáma =====
+
+A 6. melléklet szerint az egyházi intézmények számára többlet órakeretet kell bizosítani a hittan tanítására, melynek óraszámát a táblázat tartalmazza.
+
+===== 6 és 8 évfolyamos gimnáziumok többlet óraszáma =====
+
+A 6 és 8 évfolyamos gimnáziumok számára is évfolyamonként előírt többlet órakeretet tartalmaz a 6. melléklet.
+
+===== Nemzetiségi oktatás-nevelés többlet órakerete =====
+
+A nemzetiségi oktatás-nevelésre fordítható többlet órakeret évfolyamonkénti óraszámát szintén a 6. melléklet tartalmazza.
+
+===== SNI habilitációs és rehabilitációs foglalkozások többlet órakerete =====
+
+Bár a 6. melléklet külön tartalmaz órakeretet értelmi fogyatékosok; gyengénlátok; nagyothallók, mozgás- és beszédfogyatékosok; siketek és autisták; valamint egyéb SNI-sek
+számára (személyenként, évfolyamonként 2-15 között), ezeket a program jelenleg még **nem számolja bele** az össz óratömegbe.
+
+===== SNI magántanuló egyéni foglalkozás keretében történő felkészítés ötbblet órakerete =====
+
+A NKT. 27. § (7) szerint:
+A beilleszkedési, tanulási, magatartási nehézség vagy a sajátos nevelési igény miatt a szakértői bizottság véleménye alapján, vagy súlyos betegség miatt
+magántanulóként tanulmányokat folytatók egyéni foglalkozás keretében történő felkészítésére az iskolának tanulónként az osztályok heti időkeretén felül
+átlag heti tíz óra áll a rendelkezésre.
+
+A program jelenleg ezzel sem számol.
+
+===== Összefoglalva =====
+
+A program a fentiek alapján tehát egy alsó közelítést ad az osztályok heti időkeretéről, hisz sok időkeretet növelő tényezővel nem számol.
+A képlet:
+
+ [osztály időkerete] = [engedélyezett időkeret] + [tehetséggondozás, felzárkóztatás] + [egyházi iskola hittan] + [gimnáziumi óratöbblet]
+
+A nemzetiségi és SNI többlet óraszámokkal a program jelenleg nem számol.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/specialis_tanitasinap.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/specialis_tanitasinap.txt
new file mode 100644
index 00000000..6d17bc8a
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/specialis_tanitasinap.txt
@@ -0,0 +1,25 @@
+====== Speciális tanításinap kezelése ======
+
+Hogyan tölthetünk be a haladási naplóba az órarendtől jelentősen eltérő órákat egy speciális tantervű tanításinap esetén?
+
+Alapvetően a rendszer biztosít egy alapszintű [[naplo:haladasi:specialis|speciális nap]] kezelő lehetőséget. Itt az órarend egyes órarebdi sávjaiból rakhatunk össze új tanrendet.
+
+Másik lehetőség lehet a [[naplo:haladasi:pluszora|plusz óra felvétel]]. Így elvben bármilyen órarend összeállítható, de elég fáradtságos úton.
+
+Mit tehetünk még?
+
+==== Órák közvetlen importálása ====
+
+Megpróbálhatjuk a haladási naplóba közvetlenül betölteni az adatokat. Ehhez először el kell készínetünk a betöltendő órák listáját a következő formátumban:
+
+| dt | ora | ki | tankorId | teremId | tipus | eredet |
+
+Ebből a teremId paraméter nem kötelező (ha nem adjuk meg, akkor legjobb, ha teljesen kihagyjuk az oszlopot, ha csak egyes helyeken hiányzik, akkor ott írjunk a terem azonosító helyére ''NULL'' értéket), a ki mező az órát tartó tanár azonosítója, a típus konstans 'normál', az eredet konstans 'plusz' érték lehet. A tanár és tankör azonosító számok kiolvashatók a rendszerből (a legtöbb helyen megjelennek a nevek mellett zárójelben).
+
+Ezek után mentsük el az állományt tabulátorokkal tagolt szöveges állományként, majd másoljuk fel a szerver ''/tmp'' könyvtárába.
+Ezek után adminisztrátorként belépve az adatokat be tudjuk tölteni [[naplo:admin:import|Napló/Admin/Import]] menüpont alatt.
+Ehhez válasszuk ki az sql táblák közül az adott tanévhez tartozó ''ora'' táblát, majd adjuk meg a feltöltött állomány elérési útját.
+A program ekkor beolvassa az állomány első öt sorát és megpróbálja felismerni az egyes mezőket az első sor alapján. Ha tehát az első sort a fentiek szerint írtuk be, akkor ezzel nem lesz dolgunk. Meg kell viszont jelölnünk a kulcsot alkotó mezőket. Erre általában a (dt, ora, ki) hármas a legmegfelelőbb - így a tanár szerinti ütközések lehetőségét kizárjuk. Ha biztosak vagyunk benne, hogy a megadott sorokat változtatás nélkül akarjuk betölteni, akár ütközéseket is megengedve, akkor több oszlopot kell kulcsként megjelölni, akár az összeset. Végül betöltjük az adartokat az ''OK'' gomb megnyomásával - és kész is! :o)
+
+**Megjegyzés:**
+Importálás előtt gondoskodjunk róla, hogy ne legyenek órák betöltve az adott napra! Ha vannak, akkor ezeket a [[naplo:haladasi:specialis|speciális nap]] belítását végző oldalon törölhetjük.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/sulix.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/sulix.txt
new file mode 100644
index 00000000..7dba5606
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/sulix.txt
@@ -0,0 +1,56 @@
+
+====== Együtműködés SuliXerver-rel ======
+
+===== Integráció SuliXerver-rel =====
+
+Az integráció lényegében annyit tesz, hogy a két rendszer közös felhasználói adatbázist használ a továbbiakban. Ehhez
+a SuliXerver LDAP alapú rendszere lesz a háttér-adatbázis. A korábbi MaYoR (tanár és diák) felhasználói adatokat - amennyiben eddig
+MySQL backend-et használtunk - importálhatjuk a SuliXerver alá.
+
+==== Exportálás a MaYoR rendszerből ====
+
+Ez a lépés egyszerű: válasszuk ki a Napló/Export/SuliX menüpontot, majd nyomjuk meg az 'Adatok exportálása" gombot, végül a
+letöltött tgz kiterjesztésű állományt másoljuk egy hordozható háttértárra (pl. pendrive).
+
+==== Importálás SuliXerverbe ====
+
+Adminisztrátorként lépjünk be és válasszuk a Segédeszközök/SuliX Napló/Külső MaYoR napló használata lehetőséget, majd kövessük az ott leírtakat...
+
+==== MaYoR beállítások módosítása ====
+
+Utolsó lépésként módosítsuk a ''config/private-conf.php'' állomány tartalmát (előtte készítsünk mentést róla!) az alábbiak szerint
+(a példánkban a SuliXerver LDAP base DN "dc=suli,dc=hu", a szerver host neve "sulix.suli.hu"):
+
+ $AUTH['private'] = array(
+ ...
+ 'categoryMap' => array(
+ 'tanar' => 'cn=teachers,ou=group,dc=suli,dc=hu',
+ 'diak' => 'cn=students,ou=group,dc=suli,dc=hu',
+ 'titkarsag' => 'cn=administration,ou=group,dc=suli,dc=hu',
+ 'egyeb' => 'cn=other,ou=group,dc=suli,dc=hu',
+
+ 'useradmin' => 'cn=useradmins,ou=group,dc=suli,dc=hu',
+ 'naploadmin' => 'cn=diaryadmins,ou=group,dc=suli,dc=hu',
+ 'diakadmin' => 'cn=studentadmins,ou=group,dc=suli,dc=hu',
+ 'uzenoadmin' => 'cn=msgadmins,ou=group,dc=suli,dc=hu',
+ 'hirekadmin' => 'cn=newsadmins,ou=group,dc=suli,dc=hu',
+ 'vezetoseg' => 'cn=management,ou=group,dc=suli,dc=hu',
+
+ ),
+ 'backend' => 'ldapng',
+ 'ldapHostname' => 'ldap://sulix.suli.hu',
+ 'ldapBaseDn' => 'dc=suli,dc=hu',
+ 'ldapUserObjectClass' => 'person', // Userek objectum osztálya (volt posixAccount)
+ 'ldapStudyIdAttr' => 'employeenumber', // Az oktatási azonosítót tároló attribútum (studyId)
+ 'ldapUserAccountAttr' => 'uid', // A felhasználói azonosítót tároló attribútum (uid)
+ 'ldapCnAttr' => 'cn', // A felhasználói teljes neve (cn)
+ 'ldapGroupObjectClass' => 'groupofnames', // Csoportok objectum osztálya (volt nayorGroup)
+ 'ldapGroupCnAttr' => 'cn', // A csoport teljes neve (cn)
+ 'ldapContainers' => array(
+ 'ou=People,dc=suli,dc=hu',
+ 'ou=group,dc=suli,dc=hu'
+ ),
+ 'cacheable' => true,
+ ...
+ )
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/szueloi_adatok_betoeltese.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/szueloi_adatok_betoeltese.txt
new file mode 100644
index 00000000..c804dc6f
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/szueloi_adatok_betoeltese.txt
@@ -0,0 +1,110 @@
+====== Szülői adatok betöltése ======
+
+A szülői adatok felvétele normál esetben - a diák többi adatával együtt - a beiratkozáskor történhet. De az is előfordulhat, hogy a szülői adatokat utólag, tömegesen szeretnénk betölteni valamilyen adatállományból - tipikusan ilyen eset a telepítés utáni első adatfeltöltés. Erről - illetve a szülők felhasználói azonosítóinak adatbázis szinten történő létrehozásáról (MySQL backend-et feltételezve) - szól ez a leírás.
+
+===== Szülők adatainak betöltése adatállományból a naplóba =====
+
+A szülők adatait általában a diákok adatival együtt kapjuk meg, egy táblázatban. A MaYoR rendszerben viszont a szülők adatai külön adattáblába kerülnek. Ez a használat során előnyös (pl. testvér gyerekek szülői adatai csak egy helyen lesznek eltárolva), de a betöltéskor nehézségeket okoz.
+
+Első lépésként a rendelkezésre álló adatokból olyan tabulátorokkal tagolt szöveges állományokat kell készítenünk, melyekben a diák oktatási azonosítója mellett szerepelnek a betöltendő szülői adatok. Ennek menete nagyban függ a rendelkezésre álló adatok formátumától, de használhatunk táblázatkezelőt, vagy ügyes parancssori alkalmazásokat (''cut'', ''grep'', ''awk'', ''sed'', stb). Külön állományba kerüljenek az anya, apa és más gondviselő adatai. Az állomány fejlécében érdemes az intézményi adatbázis ''szulo'' táblájának mezőneveit használni:
+
+ oId nem nevElotag csaladinev utonev cimOrszag cimHelyseg cimIrsz cimKozteruletNev cimKozteruletJelleg cimHazszam cimEmelet cimAjto
+
+
+A kész állományokat másoljuk a szerver ''/tmp'' könyvtárába.
+
+Majd módosítsuk a ''szulo'' táblát ideiglenesen egy ''oId'' mező hozzáadásával:
+
+ alter table szulo add column oId bigint(11) unsigned;
+
+Ezt a mezőt két dologra fogjuk használni: egyrészt ez alapján tudjuk majd megkülönböztetni az épp betöltött rekordokat a már korábban bekerültektől (azoknál ez a mező ''NULL'' értékű lesz), másrészt ez a mező lesz a kapcsolat a diák tábla fele. A betöltési folyamat végére ez a kapcsolat épp ellenkező irányú lesz: a ''diak'' tábla ''anyaId'', ''apaId'', ''gondviseloId'', illetve ''neveloId'' mezői fognak a megfelelő szülő ''szuliId'' attribútumára mutatni.
+
+Az adatokat betölthetjük MySQL parancssorból (LOAD DATA INFILE ...), vagy a felületről az "Admin/Import" menüpontban. Itt a ''szulo'' tábla kiválasztása után az adatállomány elérési útját kell megadnunk. Ezek után a program beolvassa az állomány első öt sorát és ha megfelelő mezőneveket használtunk, akkor elvégzi az oszlopok mezőkhöz rendelését is (egyébként et nekünk kell megtenni). A betöltés előtt még mindenképp meg kell adnunk egy (vagy több) kulcs mezőt - jelen esetben a diák oktatási azonosítója és a név megfelelő lehet.
+
+A felvett szülőket az oktatási azonosító alapján rendeljük a megfelelő diák megfelelő atribútumához. Például az ''anya'' adatok esetén az ''anyaId'' atribútumhoz:
+
+ update szulo left join diak using (oid) set anyaId=szuloId where szulo.oId is not null;
+
+(Csak a most betöltött adatok esetén lehet a szulo oId mezője nem null értékű)
+Hasonlóan járunk el az ''apa'', a ''gondviselo'', illletve a ''nevelo'' esetén is.
+
+A hozzárendeltek oId-jét NULL-ra állítjuk (hogy a következő betöltésnél megint csak az új rekordok esetén legyen ennek a mezőnek értéke):
+
+ update szulo set oId=null where oId is not null;
+
+===== Duplán adminisztrált szülők kiszűrése =====
+
+Most jön a neheze! Ki kell szűrjük a többszörös neveket - ezek lehet hogy testvérek miatti adat-többszöröződések. Hogy tényleg azok-e, az csak az egyéb adatok vizsgálatával, illetve utánajárással deríthető ki:
+
+ select concat_ws(' ',csaladinev,utonev) as nev, count(*) as db from szulo group by nev having db>1 order by nev;
+
+Ha például Vincs Eszter szerepel a többszörös nevek listájában, akkor lekérdezzük az adataikat:
+
+ select * from szulo where concat_ws(' ',csaladinev,utonev)='Vincs Eszter';
+
+A cím és egyéb adatok alapján már sejthetjük, hogy egy személyt reprezentáló két rekordról van-e szó, vagy két különböző, csak épp azonos nevű személyt találtunk.
+
+A szuloid-k alapján lekérdezhetjük a hozzájuk tartozó diákok adatait is (a szuloId-k pl. 28 és 293):
+
+ select * from diak where anyaId in (28,293);
+
+Ha úgy ítéljük meg, hogy a két rekord ugyanazt a szülőt jelöli, akkor módosítjuk a hozzárendelést és töröljük a felesleges szülőt:
+
+ update diak set anyaId=28 where anyaId=293;
+ delete from szulo where szuloId in (293);
+
+Valódi névütközés esetén a továbbiakban különböző ''userAccount''-okat kell beállítani a két rekordban...
+
+===== A szülők felhasználói azonosítói ======
+
+A naplóban szereplő szülők számára készíthetünk felhasználói azonosítókat, de lehetnek olyan szülő objektumaink is, melyekhez nem tartozik azonosító. Ilyenek az elballagott diákok szülei - adataik továbbra is szerepelnek a naplóban, de a rendszerhez már nem kell hozzáférniük, ezért felhasználói azonosítót nem kapnak.
+
+A szülői azonosítók létrehozása két adattáblát érint: egyrészt létre kell hoznunk magát az azonosítót a ''mayor_parent.accounts'' táblában, másrészt meg kell mondanunk, hogy ez a felhasználói azonosító mely naplóban szereplő szülőhöz tartozik - ezt a ''szulo'' tábla ''userAccount'' mezőjében adjuk meg.
+
+Első lépésként tehát a ''szulo'' táblában generáljunk ''userAccount''-ot a nevek alapján:
+
+ update szulo set userAccount=concat(substring_index(csaladinev,' ',-1),'.',substring_index(utonev,' ',1)) where userAccount is null;
+
+A fenti utasítás minden olyan rekordban kitölti a userAccount mezőt, amelyben az eddig üres volt. Ez egy első adatfeltöltés esetén megfelelő lehet, később azonban már nem, hiszen ezzel például az elballagott diákok szüleinek is újra azonosítót generálnánk. A problémára többféle megoldás is kínálkozik. Egyik lehetőség, hogy a felhasználói azonosítókat is az adatállományból töltjük be a többi szülői adattal együtt. A másik lehetőség, hogy a ''szulo'' táblát összekapcsoljuk a ''diak'' táblával, hogy csak a jogviszonyban lévő tanulók szüleinek adjunk ''userAccount''-ot:
+
+ update szulo left join diak
+ on szuloId in (anyaId, apaId, gondviseloId, neveloId)
+ and diak.statusz in ('jogviszonyban van','magántanuló','vendégtanuló')
+ set userAccount=concat(substring_index(csaladinev,' ',-1),'.',substring_index(utonev,' ',1)) where userAccount is null;
+
+Ezek után ellenőrizzük, hogy vannak-e ütköző felhasználói azonosítók:
+
+ select userAccount,count(*) as db from szulo group by userAccount having db>1;
+
+Sajnos előfordulhat, hogy újabb szülőket találunk, akik többször szerepelnek az adatbázisban, de az is lehet, hogy csak egyszerű név egyezés keseríti a dolgunkat. A javítás a korábbiakban leírt módon történik egészen addig, amíg sikerül elérni, hogy minden szülőnek egyedi azonosítója legyen.
+
+==== Szülői azonosítók felvétele (MySQL backend) ====
+
+Ha az összes ütközést kiküszöböltük, akkor felvehetjük a szülői azonosítókat a ''mayor_parent.accounts'' táblába.
+
+Ha kezdeti adatfelvitelről van szó, tehát az összes azonosítót most hozzuk létre, akkor a parancs a következő lehet:
+
+ insert into mayor_parent.accounts (policy,userAccount,userCn,userPassword)
+ select 'parent',userAccount,trim(concat_ws(' ',nevElotag,csaladinev,utonev)) as userCn,sha(crc32(csaladinev)) as userPassword from szulo;
+
+Ha vannak már azonosítók a ''mayor_parent.accounts'' táblában, akkor csak azokat az azonosítókat kell és lehet létrehozni, amelyek még nem szerepelnek a táblában:
+
+ insert into mayor_parent.accounts (policy,userAccount,userCn,userPassword)
+ select 'parent',userAccount,trim(concat_ws(' ',nevElotag,csaladinev,utonev)) as userCn,
+ sha(crc32(csaladinev)) as userPassword
+ from intezmeny_vmg.szulo left join mayor_parent.accounts using (userAccount)
+ where szulo.userAccount is not null and accounts.userCn is NULL;
+
+Ha még precízebbek akarunk lenni, akkor a ''diak'' táblával is össze kell kapcsolnunk a ''szulo'' táblát, hogy csak a jogviszonyban lévő diákok szüleinek adjunk azonosítót:
+
+ insert into mayor_parent.accounts (policy,userAccount,userCn,userPassword)
+ select distinct 'parent',userAccount,
+ trim(concat_ws(' ',nevElotag,csaladinev,utonev)) as userCn,
+ sha(crc32(csaladinev)) as userPassword
+ from intezmeny_vmg.szulo
+ left join mayor_parent.accounts using (userAccount)
+ left join intezmeny_vmg.diak
+ on szuloId in (anyaId, apaId, gondviseloId, neveloId)
+ and diak.statusz in ('jogviszonyban van','magántanuló','vendégtanuló')
+ where szulo.userAccount is not null and accounts.userCn is NULL;
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/szueloi_adatok_betoeltese_kiegeszitesekkel.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/szueloi_adatok_betoeltese_kiegeszitesekkel.txt
new file mode 100644
index 00000000..dc7969a0
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/szueloi_adatok_betoeltese_kiegeszitesekkel.txt
@@ -0,0 +1,92 @@
+====== Szülői adatok betöltése - kiegészítésekkel(!) ======
+
+A szülők adatait általában a diákok adatival együtt kapjuk meg, egy táblázatban. A MaYoR rendszerben viszont a szülők adatai külön adattáblába kerülnek. Ez a használat során előnyös (pl. testvér gyerekek szülői adatai csak egy helyen lesznek eltárolva), de a betöltéskor nehézségeket okoz.
+
+Első lépésként a rendelkezésre álló adatokból olyan tabulátorokkal tagolt szöveges állományokat kell készítenünk, melyekben a diák oktatási azonosítója mellett szerepelnek a betöltendő szülői adatok. Ennek menete nagyban függ a rendelkezésre álló adatok formátumától, de használhatunk táblázatkezelőt, vagy ügyes parancssori alkalmazásokat (''cut'', ''grep'', ''awk'', ''sed'', stb). Külön állományba kerüljenek az anya, apa és más gondviselő adatai.
+
+Módosítsuk a ''szulo'' táblát ideiglenesen egy ''oId'' (diák oktatási azonosítója) mező hozzáadásával (ezt csak a __legelső__ alkalommal kell elvégezni!):
+
+ ALTER TABLE szulo ADD COLUMN oId bigint(11) unsigned;
+
+Az szülői adatok fájl fejlécében érdemes az intézményi adatbázis ''szulo'' táblájának mezőneveit használni:
+
+ oId nem nevElotag csaladinev utonev cimOrszag cimHelyseg cimIrsz cimKozteruletNev cimKozteruletJelleg cimHazszam cimEmelet cimAjto telefon
+
+A kész állományokat másoljuk a szerver ''/tmp'' könyvtárába.
+
+
+A sokadik osztály után, sőt, a második tanévtől kezdve biztosan lesznek egyező nevű szülők. A kezdeti (vagyis az új adatok feltöltése __előtti__) állapotot listázzuk ki, később nagyon nehéz lesz kiszűrni, kik is az új, egyező nevű szülők!
+
+ SELECT concat_ws(' ',csaladinev,utonev) as nev, count(*) as db FROM szulo GROUP BY nev having db>1 ORDER BY nev;
+
+Ezt a listát mentsük/másoljuk - hasznos lesz később!
+
+Az adatokat betölthetjük MySQL parancssorból (LOAD DATA INFILE ...), vagy a felületről az "Admin/Import" menüpontban. Itt a ''szulo'' tábla kiválasztása után az adatállomány elérési útját kell megadnunk. Ezek után a program beolvassa az állomány első öt sorát és ha megfelelő mezőneveket használtunk, akkor elvégzi az oszlopok mezőkhöz rendelését is (egyébként et nekünk kell megtenni). A betöltés előtt még mindenképp meg kell adnunk egy (vagy több) kulcs mezőt - jelen esetben a diák oktatási azonosítója és a név megfelelő lehet.
+
+A felvett szülőket az oktatási azonosító alapján rendeljük a megfelelő diák megfelelő atribútumához. Például az ''anya'' adatok esetén az //anyaId// atribútumhoz:
+
+ UPDATE szulo LEFT JOIN diak using (oid) SET anyaId=szuloId WHERE szulo.oId IS NOT NULL;
+
+(Csak a most betöltött adatok esetén lehet a ''szulo'' //oId// mezője nem null értékű)
+
+Most jön a neheze! Ki kell szűrjük a többszörös neveket - ezek lehet, hogy testvérek miatti adat-többszöröződések. Hogy tényleg azok-e, az csak az egyéb adatok vizsgálatával, illetve utánajárással deríthető ki (itt lesz szerepe az elején mentett lekérdezésnek - hasonlítsuk össze ezt a listát a "nulladik" változattal!):
+
+ SELECT concat_ws(' ',csaladinev,utonev) as nev, count(*) as db FROM szulo GROUP BY nev having db>1 ORDER BY nev;
+
+Ha például Vincs Eszter szerepel a többszörös nevek listájában, akkor lekérdezzük az adataikat:
+
+ SELECT * FROM szulo WHERE concat_ws(' ',csaladinev,utonev)='Vincs Eszter';
+
+A cím és egyéb adatok alapján már sejthetjük, hogy egy személy két azonosítójáról, vagy két különböző, de azonos nevű személy azonosítóiról van-e szó.
+A szuloid-k alapján lekérdezhetjük a hozzájuk tartozó diákok adatait is (a szuloId-k pl. 28 és 293):
+
+ SELECT * FROM diak WHERE anyaId in (28,293);
+
+Ha úgy ítéljük meg, hogy a két rekord ugyanazt a szülőt jelöli, akkor módosítjuk a hozzárendelést és töröljük a felesleges szülőt:
+
+ UPDATE diak SET anyaId=28 WHERE anyaId=293;
+ DELETE FROM szulo WHERE szuloId in (293);
+
+Valódi névütközés esetén különböző //userAccount//-okat kell beállítani a két rekordban.
+
+A már távozott diákok (elballagottak) szülői adatai még szerepelnek a táblában, ezeknek a rekordoknak is üres a userAccont-ja, ezért a többi //userAccount//-ot a nevek és az //oId//-k alapján generáljuk:
+
+ UPDATE szulo SET userAccount=concat(csaladinev,'.',substring_index(utonev,' ',1)) WHERE userAccount IS NULL AND oId IS NOT NULL;
+
+Majd újabb ütközés ellenőrzés következik:
+
+ SELECT userAccount,count(*) as db FROM szulo GROUP BY userAccount having db>1;
+
+Sajnos előfordulhat, hogy újabb szülőket találunk, akik többször szerepelnek az adatbázisban. A javítás a korábbiakban leírt módon történhet.
+Ha az összes ütközést kiküszöböltük, akkor felvehetjük a szulői azonosítókat, ehhez vegyünk fel ideiglenesen egy táblát:
+
+ CREATE TEMPORARY TABLE _szulo SELECT * FROM szulo LEFT JOIN
+ mayor_parent.accounts USING (userAccount) WHERE userCn IS NULL AND szulo.oId IS NOT NULL;
+
+majd a továbbiakban dolgozzunk ezzel!
+
+ INSERT INTO mayor_parent.accounts (policy,userAccount,userCn,userPassword)
+ SELECT 'parent',userAccount,trim(concat_ws(' ',nevElotag,csaladinev,utonev))
+ as userCn,sha(crc32(csaladinev)) as userPassword FROM _szulo;
+
+Ha kész vagyunk, az ideiglenes táblát eldobhatjuk:
+
+ DROP TABLE _szulo;
+
+Végül a hozzárendeltek //oId//-jét a ''szulo'' táblában NULL-ra állítjuk:
+
+ UPDATE szulo SET oId=null WHERE oId IS NOT NULL;
+
+Végezzük el ezeket a lépéseket az apa, és esetleg a más gondviselő adataival is!
+
+A szülői account-ok lekérdezéséhez válasszuk ki az osztály táblából a keresett osztály //osztályId//-jét (pl.24), majd:
+
+ SELECT szuloId,csaladinev,utonev,useraccount,crc32(csaladinev) FROM intezmeny_szag.osztalyDiak
+ LEFT JOIN intezmeny_szag.diak using (diakId) LEFT JOIN intezmeny_szag.szulo on szuloId in
+ (anyaId,apaId,gondviseloId,neveloId) WHERE osztalyId=24 AND beDt<=curdate() AND (kiDt is null or kiDt>=curdate());
+
+Az //osztályId//-t az osztaly táblából leshetjük ki, vagy kikeresünk egy ebbe az osztályba járó diákot (Intézményi adatok/Diákok), feljegyezzük a //diakId//-jét (pl. 134), és az osztalyDiak táblából kikeressük:
+
+ SELECT * FROM osztalyDiak WHERE diakId=134;
+
+__Megjegyzés:__ a beDt<=curdate() helyett az aktuális tanév kezdődátumát írhatjuk, ha pl. az osztálybakerülés dátuma szeptember 1., és az account-okat még e dátum előtt szeretnénk elkészíteni!
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/szueloi_azonositok_generalasa.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/szueloi_azonositok_generalasa.txt
new file mode 100644
index 00000000..35d27cad
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/szueloi_azonositok_generalasa.txt
@@ -0,0 +1,149 @@
+
+====== Szülői azonosítók generálása ======
+
+A meglévő szülői adatokból (intézményi adatbázis ''szulo'' tábla) SQL utasításokkal könnyen generálhatunk azonosítókat a szülők számára.
+
+Az első lépés, hogy kiválogassuk azon szulők körét, akiknek azonosítót kívánunk generálni. Célszerű ehhez az osztályok felöl közelíteni.
+Válasszuk ki az osztályt, vagy osztűlyokat, majd kérdezzük le az osztály(ok) tagjait. Ezek után szelektáljuk az adott diákok szuleit.
+Az így kiválasztott szülők számára generálunk azonosítókat (persze közben ellenőrizzük, hogy ne legyen azonosító ütközés).
+
+===== A kiindulási állapot ellenőrzése =====
+
+Mielőtt még nekikezdenénk a szülői azonosítók generálásának érdemes ellenőrizni, hogy a kiindulási adatok rendben vannak-e.
+Pár dolog amit érdemes ellenőrizni, szükség esetén javítani:
+
+==== Bevezető/lezáró szóközök törlése a név mezőkből ====
+
+Az adatbevitelkor sajnos gyakori, hogy szóközök tapadnak az egyes név mezőkhöz, különösen akkor, ha a neveket programmal, vagy "kézzel" mi
+vágtuk szét családi- és utónévre. Ilyenkor gyakran az utónév végén ott marad a két nevet elválasztó szóköz. Ellenőrizzük, van-e ilyen rekordunk:
+
+ select count(*) from szulo where (csaladinev<>trim(csaladinev) or utonev<>trim(utonev));
+
+Ha van, rögtön javíthatjuk:
+
+ update szulo set csaladinev = trim(csaladinev), utonev = trim(utonev);
+
+==== Ütköző azonosítók kiszűrése ====
+
+Az ütközéseket fogjuk szűrni és javítani az új azonosítók generálása kapcsán is. Épp ezért érdemes az azonosító generálás előtt is
+megnézni, hogy van-e ütközés:
+
+ select userAccount,count(*) as db from szulo group by userAccount having db>1;
+
+Ha van ütközés, javítsuk a hibát (lásd alább).
+
+==== Szóközök az azonosítóban ====
+
+A hibás, szóközökkel határolt nevek miatt előfordulhat, hogy keletkeztek hibás, szóközöket is tartalmazó azonosítók is. Szűrjük ki ezeket:
+
+ select * from szulo where userAccount is not null and locate(' ',userAccount) <> 0;
+
+A hibás account-okat javítsuk (a ''szulo'' és a ''mayor_parent.accounts'' táblában is!).
+
+===== Az osztály azonosítójának lekérdezése =====
+
+Ha egy osztály szülői azonosítóit szeretnénk megtudni, akkor először meg kell tudnunk az osztály azonosítóját (''osztalyId'').
+
+Példánkban a Városmajori Gimnázium (vmg) 2011-es 7.a osztályának azonosítóját kérdezzük le:
+
+ select * from naplo_vmg_2011.osztalyNaplo where osztalyJel='7.a';
+ +-----------+------------+
+ | osztalyId | osztalyJel |
+ +-----------+------------+
+ | 64 | 7.a |
+
+Ellenőrizhetjük az ''osztaly'' táblában is, hogy helyes adatokat kaptunk-e:
+
+ select * from osztaly where osztalyId=64;
+ +-----------+--------+------------+------------+------+---------------+-------------+
+ | osztalyId | leiras | kezdoTanev | vegzoTanev | jel | kezdoEvfolyam | telephelyId |
+ +-----------+--------+------------+------------+------+---------------+-------------+
+ | 64 | angol | 2011 | 2016 | a | 7 | 1 |
+
+
+===== Az osztály(ok) tagjainak lekérdezése =====
+
+Először töröljük az esetleg már létező segédtáblát:
+
+ drop table if exists _diakIds;
+
+Majd kérdezzük le a kiválasztott osztály jelenlegi tagjait:
+ create temporary table _diakIds
+ select diakId from osztalyDiak where osztalyId = 64 and beDt <= curdate() and (kiDt is null or kiDt >= curdate());
+
+De lekérdezhetjük egy lépésben az összes 2011-ben érvéenyes osztály tagjait is:
+ create temporary table _diakIds
+ select distinct diakId from osztalyDiak
+ where beDt <= curdate() and (kiDt is null or kiDt >= curdate()) and
+ osztalyId in (select osztalyId from naplo_vmg_2011.osztalyNaplo);
+
+
+===== A diákok szüleinek lekérdezése =====
+
+A diák azonosítók alapján most a szülők azonosítóit kérdezzük le. Először az anya, majd az apa adatokat rakjuk be az ideiglenes táblába.
+
+==== Anya ====
+
+ drop table if exists _szuloIds;
+ create temporary table _szuloIds
+ select distinct anyaId as szuloId from diak where anyaId is not null
+ and diakId in (select diakId from _diakIds);
+
+==== Apa ====
+
+ insert into _szuloIds
+ select distinct apaId as szuloId from diak where apaId is not null
+ and diakId in (select diakId from _diakIds);
+
+===== userAccount-ok generálása a szulo táblában =====
+
+A kiválasztott szülők számára generáljunk ''userAccount''-okat. Vigyázzunk, hogy a keletkező ''userAccount'' ne tartalmazzon szóközt.
+Az alábbi frissítő lekérdezés "Dr. Alsóné Felső Anett Beáta" számára a "Felső.Beáta" azonosítót fogja beállítani. Vigyázunk arra is
+hogy csak azoknak módosítsuk a felhasználói azonosítóját, akiknek még nincs beállítva (''userAccount is null''):
+
+ update szulo set userAccount=concat(substring_index(csaladinev,' ',-1),'.',substring_index(utonev,' ',1))
+ where userAccount is null and szuloId in (select szuloId from _szuloIds);
+
+A gond az, hogy a fenti művelettel előidézhettünk account ütközést. Lássuk, mi a helyzet ezen a téren!
+
+ select userAccount,count(*) as db from szulo group by userAccount having db>1;
+ +-------------------+------+
+ | userAccount | db |
+ +-------------------+------+
+ | Székely.László | 2 |
+
+Példánkban a "Székely.László" azonosító két szülőhöz is hozzá lett rendelve. Találjunk ki egy új azonosítót - legyen ez esetünkben "László.Székely" -,
+és ellenőrizzük, hogy használatban van-e már:
+
+ select * from szulo where userAccount = 'László.Székely';
+ Empty set (0.01 sec)
+
+Amennyiben sikerült olyan azonosítót kitalálnunk, ami még nincs használatban (ahogy az a fenti példában is látszik), akkor módosítsuk az általunk felvett
+"Székely.László" azonosítót:
+
+ update szulo set userAccount='László.Székely'
+ where userAccount = 'Székely.László' and szuloId in (select szuloId from _szuloIds);
+
+===== Account-ok létrehozása =====
+
+Ha nincs már ütközés, akkor egy ideiglenes táblába hozzuk létre az account-okat:
+
+ drop table if exists _accounts;
+ create temporary table _accounts
+ select 'parent' as policy, szulo.userAccount,
+ trim(concat_ws(' ',nevElotag,csaladinev,utonev)) as userCn,sha(crc32(csaladinev)) as userPassword
+ from szulo left join mayor_parent.accounts using (userAccount)
+ where accounts.userAccount is null and szuloId in (select szuloId from _szuloIds);
+
+===== Account-ok felvétele =====
+
+Ha minden rendbenlévőnek tűnik, akkor átmásolhatjuk az ideiglenes táblából az új account-okat a helyükre:
+
+ insert into mayor_parent.accounts (policy,userAccount,userCn,userPassword) select * from _accounts;
+
+===== Új account adatok eltárolása =====
+
+Az ideiglenes táblák (''_diakIds'',''_szuloIds'', ''_accounts'') automatikusan törlődnek, ha kilépünk az SQL parancssorból. Ha valamiért szükségünk van a generált account-okra,
+akkor másoljuk át őket egy rendes táblába (vagy az ''_accounts'' táblát eleve a ''temporary'' módosító nálkül hozzuk létre):
+
+ create table _ujSzuloAccount select * from _accounts;
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/tantargyfelosztas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/tantargyfelosztas.txt
new file mode 100644
index 00000000..c4fe9593
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/tantargyfelosztas.txt
@@ -0,0 +1,189 @@
+
+====== Tantárgyfelosztás ======
+
+===== A tantárgyfelosztás előkészítése =====
+
+Ahhoz, hogy elkezdhessük a tantárgyfelosztást elkészíteni előzetesen fel kell vinnünk az ehhez szükséges alapvető adatokat:
+
+ * Legyen felvéve minden osztály
+ * Legyen felvéve minden tanár
+ * Legyenek felvéve a munkaközösségek (amik valójában inkább végzettség szerinti tanárcsoportok)
+ * Legyenek felvéve a munkaközösségek alá a tárgyak
+ * Legyenek felvéve a képzések
+ * Legyenek felvéve a képzések óratervei
+ * Legyenek egymáshoz rendelve a megfelelő képzések és osztályok
+
+===== A bontások =====
+
+A tantárgyfelosztás első lépése a tárgyi bontások megadása. A **bontás** tehát az adott képzési évfolyam adott tantárgyához rendelt
+tanulócsoportot jelöli konkrét névsor és egyéb jellemzők nélkül.
+A tankör kicsit más fogalom: egy adott tárgyat tanuló diákok csoportja konkrét névsorral, tanárral, és egyéb jellemzőkkel megadva.
+
+Fontos különbség, hogy a bontás egy tanévhez kapcsolódó fogalom, minden évben újra meghatározandó, míg a tankör több éven át használatban lesz.
+
+Sok esetben egy bontásnak egy tankör felel majd meg egy adott évben. Ilyenek lesznek pl. az egész osztályt érintő tárgyak (osztályfőnöki, földrajz...), vagy az egyszerű
+csoportbontások, amikor két-három kisebb csoportban tanulnak egy tárgyat a tanulók (pl. informatikát a gépterem befogadóképessége miatt két csoportban tanulnak a diákok).
+
+Lehetnek ugyanakkor olyan esetek is, amikor egy bontást több tankör fed le. Ha például egy nyelvi előkészítő évfolyamon a heti 15 órát négy tanár tanítja a
+csoportnak, akkor a négy tankör együtt fedi le az egy bontást.
+
+Előfordulhat olyan is, hogy egy tankör több bontást is lefed. Ha például a kémiát egy egész osztályos elméleti óra mellett két kisebb csoportban folyó labor óra keretében
+tanulják a tanulók, akkor ez egy két bontott csoportot és három tankört jelent: az elméleti óra tanköre mindkét bontáshoz hozzá lesz rendelve, mígy a labor órák tankörei
+csak a megfelelő bontáshoz.
+
+Az is előfordulhat, hogy egy tankör két különböző tárgy bontásához lesz hozzárendelve. Ebben az esetben persze a //tárgy// tágan értendő: a képzés óratervében szereplő
+lehetséges tárgyakra, sávokra gondolunk, beleértve olyan speciális tárgyakat, mint "első idegen nyelv", "második idegen nyelv" vagy "kötelezően választott tárgy".
+Ha például az emelt szintű matematika érettségi előkészítőt úgy szervezzük, hogy az adott csoport együtt van alapórán és fakultációs órán is, tehát lényegében a csoport
+megnövelt óraszámban (pl. 4+2, azaz 6 órában) tanulja a matematikát, nem különül el a kétféle órájuk, akkor ehhez nyilván egy tankört fogunk felvenni, amit hozzárendelünk
+a matematika tárgy bontásához és a "kötelezően választott tárgy" bontásához is.
+
+===== Adatbázis =====
+
+A ''kepzesOraterv'' tábla minden évfolyam esetén félévenként tartalmazza az adott tárgy/típus óraszámát. A folyamat másik végén a tankör esetében is hasonló a
+helyzet: a ''tankorSzemeszter'' tábla félévenként tartalmazza a tankör óraszámát.
+
+A kettő között helyezkedik el a ''kepzesTargyBontas'', ami ebből adódóan szintén félévenként rögzíti a bontásokat és azok tárgyait (pl. első idegen nyelv esetén), pontosabban a bontások szerkezetét, s a
+''kepzesOratervId'' mezővel kapcsolódik a ''kepzesOraterv'' táblához.
+
+A bontások tankörökhöz rendelése a ''bontasTankor'' táblával történik, ami a két azonosító mellett egy-egy óraszám adatot is tartalmaz. Az óraszámokat bontásonként
+összegezve képzés óraterv megfelelő óraszámát kell megkapnunk. Tankörönként nehezebb az óraszámok ellenőrzése, mert egy tankör egy tárgy különböző bontásait is lefedheti,
+de ezeket az óraszámokat csak egyszer kell számolni. Viszont ha különböző tárgyakat/típusokat fed le a tankör, akkor össze kell adni az óraszámokat. (Ez megoldható
+a MAX() értékek SUM()-jával.)
+
+===== Lépések =====
+
+ - Inicializálás - a program az előző év adatai alapján automatikusan átveszi az átvehető bontásokat a tankörhozzárendelésekkel együtt, a fennmaradó konkrét tárgyhoz
+tartozó bejegyzésekhez pedig egy-egy bontást vesz fel
+ - Bontás megadás
+ - Bontás-tankör hozzárendelés
+ - tankör tanár hozzárendelés
+ - óraszámok ellenőrzése (tanár, bontások, tankörök, intézmény...)
+
+===== Bontások, tankör-hozzárendelés =====
+
+A funkció a ''Tanév adatok/Tantárgyfelosztás, bontás-tankör'' menüpont alatt érhető el.
+
+==== Szűrés ====
+
+A szűrés során először évfolyamot (pontosabban évfolyam jelet) kell választanunk, utána szűkíthetjük a megjelenő osztályok körét, s a kiválasztott osztályok képzéseinek
+körét.
+
+Ha már megjelentek a kiválasztott osztályok, képzések óratervi bejegyzései, akkor a jobb felső sarokban lehetőségünk van ezek közül eltűntetni azokat, melyek
+már kész vannak, tehát minden bontásuk teljes óraszáma tankörökkel lekötött.
+
+==== Bontások felvétele - törlése ====
+
+Ha kiválasztottunk osztályt és képzést (legalább egyet-egyet), akkor megjelennek a hozzájuk tartozó (az osztály aktuális évfolyamára vonatkozó) óratervi bejegyzések.
+
+Ezek mindegyikéhez a rendszer az oldal betöltéskor hozzárendel legalább egy bontást (csoportot) - ha még nincs hozzá rendelve egy sem -, kivéve azokat az
+óratervi bejegyzéseket, melyek tárgy típust tartalmaznak csak, tárgyat nem (pl: első idegen nyelv, kötelezően választható...).
+
+A program alaphelyzetben az egymásnak megfeleltethető bejegyzéseket egymás alá csúsztatva jeleníti meg. Az így egybefogott bejegyzések együtt kezelhetők: egy lépésben
+vehető fel hozzájuk új bontás, vagy törölhető korábbi. A csoportosítás bármikor felbontható, a baloldali lefele mutató nyílra kattintva. Lenyitott állapotból az egyes
+sorok elején levő felfele mutató nyílra kattintva a sorok ismét öszevonhatók.
+
+Új bontást a sorok jobb oldalán található plusz jelre kattintva vehetünk fel. Ha tárgy típushoz tartozó sorról van szó, akkor egy megjelenő listából tárgyat is kell
+választanunk a bontás rögzítéséhez.
+
+Bontás törlése a bontást szimbolizáló világos színű mező jobb szélén található X ikonra kattintva történhet. Fontos, hogy a törlés is minden összevont sorra
+vonatkozik.
+
+Mivel a képzési óraterv félévekre lebontva tartalmazza az óraszámokat, így a bontások megadása is mindkét félévre szükséges - ezt a csoportosíthatóság segíti.
+
+==== Tankör hozzárendelés ====
+
+Egy bontásra kattintva jobbról beúszva megjelennek az adott bontás tantárgyának megfelelő tankörök, elől, külön csoportban a megadott osztályok valamelyikéhez
+hozzárendeltek. A tankör bontáshoz rendelése - amennyiben lehetséges - egyszerűen a tankör nevére való kattintással történik.
+
+Előfordulhat azonban, hogy egy-egy tankör nem rendelhető az adott bontáshoz - ezt piros "❌" és szürke betűszín jelöli. E letiltás okozhatja például, ha a tankör
+összes óraszámát felhasználtuk már más típusú bontásokban. Ha például egy matematika tankör összes óráját hozzárendeltük egy matematika bontáshoz, akkor a
+"kötelezően választott" tárgy típusú bontáshoz már nem fogjuk tudni hozzárendelni.
+
+Akkor is egyfajta letiltott állapotba kerül a tankör, ha azonos típusú bontásban használtuk fel az óráit. Ezt narancssárga "▚" szimbólum és szürke betűszín jelöli.
+Az ilyen állapotú egyet tankörre kattintva annak állapota megváltozik, sárga "▐" jelölést kap, ami azt jelzi, hogy a tankör most már hozzárendelhető a kijelölt
+bontáshoz. Így lehet tehát egy tankört két azonos tárgyhoz tartozó bontáshoz is hozzárendelni. Szükség lehet erre olyan esetben, ha egy tárgyat bontott és
+összevont csoportban is tanulnak a tanulók, például az osztálynak van egy közös elméleti kémia órája, s emellett két csoportban kémia labor foglalkozáson is részt vesznek.
+Ebben az esetben a kémia tárgy kétfele bomlik, s a közös óra tankörét mindkét bontáshoz hozzá kell rendelnünk.
+
+Letiltott állapotban van az a tankör is, amit már hozzárendeltünk a kiválasztott bontásokhoz. Ezt zöld pipa (✔) és szürke betűszín jelöli.
+
+A program alap helyzetben a tankört a lehető legnagyobb óraszámmal rendeli a bontáshoz. Ha ezen változtatni szeretnénk, akkor az egeret a tankör neve mellett jobb oldalon
+elhelyezkedő óraszám fölé pozícionálva a megjelenő módosító gombokkal csökkenthetjük az óraszámot.
+
+Ha a listában szereplő egyik tankör sem felel meg, akkor lehetőségünk van arra, hogy új tankört vegyün fel a bontáshoz. Ehhez csak rá kell kattintanunk az erre szolgáló
+"Új tankör" feliratra. Ekkor a program létrehozza és a rendelkezésre álló adatok alapján beállítja az új tankört, de a beállításokon a megnyíló módosító felületen rögtön
+változtathatunk is.
+
+==== Tankör adatok módosítása ====
+
+Egy új tankör létrehozásakor, vagy egy hozzárendelt tankör nevére kattintva jobbról beúszva megjelennek a tankör legfontosabb adatai, melyeken lehetőségünk van változtatni
+is. Ha valamit módosítunk, megjelenik a fejléc alatt egy sárga "Módosít" felirat - erre kattintva véglegesíthetjük a módosításainkat.
+
+A felületen a tankör név jelölésére kattintva módosíthatjuk a tankör nevét, az hozzárendelt osztályokra kattintva az hozzárendeléseken váltztathatunk, s módosíthatjuk a
+az egyes félévekben tervezett óraszámokat is.
+
+A többi módosítás elvégzésére használjuk az Intézményi adatok/Tankörök oldalt.
+
+===== Tankör-tanár hozzárendelés =====
+
+A funkció az ''Intézményi adadatok/Tantárgyfelosztás, tankör-tanár'' menüpont alatt érhető el.
+
+==== Szűrés ====
+
+A ''Szűrés'' feliratra kattintva állíthatjuk be a szűrési feltételeket. A szűrési paraméterek határozzák meg, hogy mely tankörök és tanárok jelennek meg a tankör-tanár táblázatban.
+
+Alapvetően négyféle szűrési szempont adható meg:
+ - Osztályok
+ - Munkaközösségek
+ - Tárgyak
+ - Tanárok
+
+=== Tankörök szűrése ===
+
+A kiválasztott tanárok összes tanköre minden esetben megjelenik a lekérdezett tankörök között. A másik három szűrési paraméter a következő képpen működik:
+
+Amennyiben osztályokat kiválasztunk, de tárgyat és munkaközösséget egyet sem, akkor a program az adott osztály össszes tankörét le fogja kérdezni. Ha van munkaközösség vagy
+tárgy is megadva, akkor az ezek által meghatározott tárgyak szerint leszűkül a megjelenő tankörök köre. Ha nincs osztály megadva, akkor az összes érintett tárgyhoz tartozó
+tankör meg fog jelenni.
+
+=== Tanárok szűrése ===
+
+A kiválaszott tanárok minden esetben meg fognak jelenni a lekérdezett tanárok között. Ha ezen kívül csak osztály van kiválasztva, akkor az összes tanár megjelenik a
+táblázatban, adott tárgy vagy munkaközösség esetén viszont csak az érintett tárgyakat tanító tanárok fognak megjelenni a kiválasztottakon kívül.
+
+==== Tankör-tanár hozzárendelés ====
+
+A tankör-tanár hozzárendelést megjelenő táblázat egy-egy cellájára, vagy a cellában megjelenő jelölőnégyzetre kattintva végezhetjük el. A hozzárendelés minden esetben az
+adott év szorgalmi időszakára fog csak vonatkozni. Egy hozzárendelés rögzítésekor vagy megszűntetésekor a program újra számolja az érintett tanár lekötött óraszámát, így
+folyamatosan nyomonkövetjetjük az óraszámok alakulását.
+
+=== A tankörök állapota ===
+
+Egy tankör háromnféle állapotban lehet, s ezt a nevét tartalmazó cella alsó szegélyének színe jelzi:
+ - a **piros** jelzi, ha a tankörnek még nincs kijelölt tanára
+ - a **zöld** jelzi, ha a tankörhöz //pontosan egy// tanár van hozzárendelve
+ - végül **sárga** jelzést kap az a tankör, amelyhez több tanárt is hozzárendeltünk.
+
+A program megengedi, hogy egy tankörnek több tanára is legyen, ez tehát nem hiba, hanem lehetőség, amit gyakorlatban csak igen ritkán célszerű használni.
+Ilyen esetben a program a tankör óraszámát elosztja a megjelölt tanárok között. Több tanáros tankör felvételére kizárólag olyan esetben lehet szükség, ha a tanév
+során az órarendbe előre nem rögzíthető időpontokban váltják egymást a tanárok - pl. egy ha egy nyelvi lektor több csoportot látogat, hol egyikbe, hol másikba megy be
+órát tartani az igényeknek megfelelően.
+
+=== A tanár állapota ===
+
+A tanárok a lekötött és kötelező óraszámuk viszonányt tekintve szintén háromféle állapotban lehetnek, melyet ez esetben is különbözű színű és elhelyezkedésű szegélyek
+jelölnek. A program egy állítható (alapértelmezetten 2-2 óra) - a kötelező óraszámtól számított - "türelmi sávban" zölddel jelöli a tanárt, a megadott alsó határ alatt
+kékkel, felette pirossal szegélyezi az óraszám celláját.
+
+A sávhatárokat a státusz soron lehet állítani.
+
+
+====== TODO ======
+
+T-T hozzárendelés
+ - előző éviek felvétele (init) ~ ok
+ - szűrés - több mk/osztály...
+ - szűrés - ami már kész eltűnik (tanár/tankör)
+ - látszódjon, hogy hány/hány van meg (óraszám tankör/tanár)
+ - th-k rögzítése
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/tanusitvany.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/tanusitvany.txt
new file mode 100644
index 00000000..50674c5f
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/tanusitvany.txt
@@ -0,0 +1,48 @@
+==== Valid cert létrehozása ====
+A napló a https kapcsolathoz saját certificate-et készít, de azt a böngészők nem fogadják el. (A Firefox-szal ugyan meg lehet jegyeztetni, de hosszú távon mindenképp érdemes "zöld" tanúsítványra váltani.)
+Ilyen tanúsítványokat lehet venni is, most az ingyenesek közül mutatunk be egyet. Ennek hátránya, hogy 90 naponta újítani kell, de erre van automata megoldás... :-)
+Kérdezzük le a naplót futtató gépen a disztribúciót!
+ # cat /etc/issue
+És biztos, ami biztos, a hostnevet is:
+ # hostname
+A kapott eredmények alapján [[https://letsencrypt.org/|ezen]] az oldalon leírtak alapján kell eljárni.
+Válasszuk a **Get Started** gombot, ami átvisz a [[https://certbot.eff.org/|certbot]] oldalra. Célszerű itt a **With Shell Access** (Certbot ACME client) részt választani. A szoftver (példánkban apache) disztribúció (példánkban Debian jessie) választása után (angol nyelven) részletes leírásra jutunk.
+
+**FIGYELEM! 2018. szeptemberben a Let'sEncrypt már nem támogatja a Debian Jessie-t, így a leírás egyes részei elavultak lehetnek! Az elvi megoldás a Sterch (és más) verziók esetén azonban ugyanez!**
+
+A telepítés, beállítás viszonylag egyszerű, ám naná, hogy van trükközés benne...! :-)
+
+Elsőként szerkesszük meg a ///etc/apt/sourses.list// állományt (mert a kíván backports repo alapból senkinek sincs benne)!
+ # nano /etc/apt/sources.list
+Adjuk hozzá:
+ deb http://ftp.debian.org/debian jessie-backports main
+Mentsük, és frissítsük a listát:
+ # apt-get update
+Most már lehet telepíteni:
+ # apt-get install python-certbot-apache -t jessie-backports
+Jöhet a tényleges munka:
+ # certbot --apache
+A parancs kiadása után az értelmes kérdésekre adjunk értelmes válaszokat (hostname, email, stb.)!
+
+A futás során egy piros hibaüzenetet látunk, nem is fog működni még a tanúsítvány:
+ Cannot find a cert or key directive in /files/etc/apache2/sites-available/mayor.conf/VirtualHost. VirtualHost was not modified!
+Nem kell megrémülni, a létrehozott **pem** állományok helyét kell csak megmagyarázni a MaYoR-nak, és kész is vagyunk! A **pem**-ek a ///etc/letsencrypt/archive/yeti.szag.hu// könyvtárba kerültek (mert yeti.szag.hu a példa-hostnév), de a ///etc/letsencrypt/live/yeti.szag.hu// alatt mindig van rá symlink... (Ennek később látjuk hasznát!)
+Szerkesszük a webszerver mayor.conf állományát!
+ # nano /etc/apache2/sites-available/mayor.conf
+Kommentezzük ki az eredeti apache.pem-et tartalmazó sort (az elejére tett #-kal):
+ SSLCertificateFile /etc/apache2/ssl/apache.pem
+helyett
+ # # SSLCertificateFile /etc/apache2/ssl/apache.pem
+legyen és értelemszerűen ebbe a szekcióba vegyünk fel két sort:
+ SSLCertificateFile /etc/letsencrypt/live/yeti.szag.hu/fullchain.pem
+ SSLCertificateKeyFile /etc/letsencrypt/live/yeti.szag.hu/privkey.pem
+Mentsük az állományt, majd indítsuk újra a webszervert!
+ # service apache2 restart
+Minden böngészőben zöld lakatnak kell fogadnia minket!
+
+**FONTOS!** A tanúsítvány csak erre a hostnévre érvényes, ha a (külső vagy belső) IP-címmel próbálkozunk (esetleg a belső hálózatból másik hostnévvel), ugyanúgy nem biztonságos kapcsolatot kapunk!
+Ez a tanúsítvány 90 napig érvényes, a megadott email-címre kapunk majd figyelmeztető üzenetet a lejárat előtt. Ilyenkor kell futtatni a megújításhoz szükséges parancsokat:
+ # certbot renew --dry-run
+Ha ez megfelelően működik, akkor lehet automatizálni cron vagy systemd segítségével:
+ # certbot renew
+Ha sikeresen megkaptuk az újabb 90 napra szóló tanúsítványt, akkor csak a webszervert kell újraindítani, és minden megy tovább...
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/targy_atnevezes.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/targy_atnevezes.txt
new file mode 100644
index 00000000..9d2c6bfd
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/targy_atnevezes.txt
@@ -0,0 +1,102 @@
+
+====== Tárgyak átnevezése ======
+
+Előfordul néha, hogy az év során kiderül, hogy az eredetileg felvett tárgynevek nem jók, módosítani kell őket. Például nyomtatáskor kiderül, hogy
+túl hosszúra sikerültek és nem férnek be a megfelelő cellákba, vagy az adott tárgy hivatalos megnevezése más, mint amit mi felvettünk.
+
+Erre a feladatra a felületen nincs lehetőség - nem támogatjuk a tárgyak utólagos átnevezését. Ha mindenképp szükség van rá, akkor SQL szinten kell
+megoldanunk a feladatot.
+
+**Figyelem!**
+Már kinyomtatott, hitelesített napló esetén nem szabad visszamenőleg módosítani a tankörök neveit! A tárgy átnevezése sem szerencsés, helyette felvehetünk új
+tárgyat és módosíthatjuk az érintett tankörök tárgyhoz rendelését. Mindenesetre gondoljuk meg mit csinálunk, mielőtt nekiesünk.
+
+===== Tárgy átnevezés =====
+
+Az intézményi adatbázisban található tárgy táblában vannak a tárgyak adatai. Ha például a ''számítástechnika'' tárgyat ''informatika'' névre szeretnénk cserélni,
+a következő SQL utasítást használhatjuk:
+
+ mysql> UPDATE targy SET targyNev = 'informatika' WHERE targyNev = 'számítástechnika';
+
+Ezzel azonban nem vagyunk kész, hisz a tárgyhoz tartozó tankörök nevei ettől még nem változnak meg.
+
+===== Tankörök átnevezése =====
+
+A tankörök átnevezésének egyik módja, ha a felületen a ''Napló/Intézményi adatok/Tankörök'' menüpont alatt kiválasztjuk az imént módosított tárgyat, majd
+végigmegyünk a hozzá tartozó tankörökön és módosítás nélkül megnyomjuk az ''OK'' gombot. Ekkor a tankör adatai, paraméterei nem változnak meg, de a nevét
+újragenerálja a redszer - immár az új tárgynevet használja.
+
+Másik lehetőség, hogy SQL szinten oldjuk meg a feladatot - jóval hatékonyabb módszer, de könnyebb hibázni is vele. Az előző példát folytatva szeretnénk tehát
+átnevezni a számítástechnika tanköröket informatikára, de csak a 2008-as tanévhez tartozókat (visszamenőleg nem módosítunk). Ehhez a megfelelő tanév
+adatbázisában a következő SQL parancsot adjuk ki:
+
+ mysql> UPDATE tankorSzemeszter SET targyNev = REPLACE(targyNev,'számítástechnika','informatika') WHERE tanev = 2008;
+
+Így egy lépésben végeztünk is a módosítással.
+
+====== Egy összetettebb példa ======
+
+Az életből merített példa szerin év elején túl hosszú tárgyneveket adtunk meg, amik nyomtatáskor nem férnek el rendesen. Például:
+
+ - ''Tehetséggondozás - Szakkör - Környezetvédelmi és természetjáró'', vagy
+ - ''Egyéni fejlesztés - Felzárkóztatás - Tantárgyi alapkészség fejlesztés - Digitális informatikai alapismeretek '', stb.
+
+Úgy szeretnénk rövidíteni a neveken, hogy bizonyos ismétlődő részeket (pl. Tehetséggondozás, vagy
+Egyéni fejlesztés - Felzárkóztatás - Tantárgyi alapkészség fejlesztés) megfelelő rövidítésekre szeretnénk cserélni (pl. TG, illetve EF-F-TAF).
+Lássuk ennek egy lehetséges módját:
+
+1. Létrehozok egy ideiglenes táblát, amibe előkészítem, hogy melyik tárgynevet mire fogom javítani:
+
+ CREATE TABLE _atnevez (targyId SMALLINT UNSIGNED, targyNev VARCHAR(128), ujNev VARCHAR(128)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+
+2. Feltöltöm ezt a táblát.
+
+2.a Ennek sok módja lehet.
+
+Lekérdezhetem az összes targyId, targyNev párost a targy táblából
+
+ SELECT targyId,targyNev FROM targy INTO OUTFILE '/tmp/atnevez.txt';
+
+majd szövegszerkesztőben/táblázatkezelőben mellé írhatom az ujNev oszlopot, végül betölthetem a táblába az elkészült állományt:
+
+ LOAD DATA INFILE '/tmp/atnevez.txt' INTO TABLE _atnevez;
+
+Az adatbetöltéshez használhatom a ''Napló/Admin/Import'' menüpontot is.
+
+2.b Közvetlenül a ''targy'' táblából is lehet lekérdezéssel feltölteni lépésenként a táblát. Például, ha a ''Tehetséggondozás''-t ''TG''-re akarom minden érintett
+névben cserélni, akkor:
+
+ INSERT INTO _atnevez SELECT targyId,targyNev,replace(targyNev,'Tehetséggondozás','TG') AS ujNev FROM targy WHERE targyNev LIKE 'Tehetséggondozás%';
+
+illetve az ''Egyéni fejlesztés - Felzárkóztatás - Tantárgyi alapkészség fejlesztés'' lecserélendő ''EF-F-TAF''-re:
+
+ INSERT INTO _atnevez SELECT targyId,targyNev,replace(targyNev,'Egyéni fejlesztés - Felzárkóztatás - Tantárgyi alapkészség fejlesztés','EF-F-TAF') AS ujNev FROM targy
+ WHERE targyNev LIKE 'Egyéni fejlesztés - Felzárkóztatás - Tantárgyi alapkészség fejlesztés%';
+
+És így tovább, ha van több módosítandó név. Ilyen módszerrel akkor lehet gond, ha egy névre két átalakítás is vonatkozik.
+
+3. Ellenőrzöm, hogy minden hosszú targyNev-hez van-e ujNev beírva a táblába. Ha például 50 karakter feletti tárgyneveket nem akarok meghagyni, akkor így listázhatom ki, hogy miknek __nincs__ még új neve:
+
+ SELECT * FROM targy LEFT JOIN _atnevez USING (targyId) WHERE ujNev IS NULL AND LENGTH(targy.targyNev) > 50;
+
+4. Konvertáljuk először a tankörök neveitT Első körben lekérdezhetem, hogy mi lesz az új név - nem lehet elégszer ellenőrizni:
+
+ SELECT tankorId,tankorNev,REPLACE(tankorNev,targyNev,ujNev) AS ujTankorNev FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) LEFT JOIN _atnevez USING (targyId) WHERE ujNev IS NOT NULL;
+
+Ha jónak tűnik, akkor mehet a módosítás:
+
+ UPDATE tankor LEFT JOIN tankorSzemeszter USING (tankorId) LEFT JOIN _atnevez USING (targyId) SET tankorNev = REPLACE(tankorNev,targyNev,ujNev) WHERE ujNev IS NOT NULL;
+
+5. Ez után jöhet a tantárgy nevek konvertálása. Itt is először lekérdezzük a tervezett módosításokat:
+
+ SELECT * FROM targy LEFT JOIN _atnevez USING (targyId) WHERE ujNev IS NOT NULL;
+
+Ha jónak tűnik, mehet a módosítás:
+
+ UPDATE targy LEFT JOIN _atnevez USING (targyId) SET targy.targyNev = ujNev WHERE ujNev IS NOT NULL;
+
+6. Ha minden jó, akkor az ideiglenesen létrehozott táblát törölhetjük:
+
+ DROP TABLE _atnevez;
+
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites-debian.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites-debian.txt
new file mode 100644
index 00000000..1dcc7fe9
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites-debian.txt
@@ -0,0 +1,33 @@
+====== Telepítés ======
+
+A továbbiakban a Debian rendszerre való telepítés lépéseit követjük.
+
+==== Telepítőkészlet ====
+
+Ha olyan helyen telepítjük a rendszert, ahol lehetőségünk van a hálózat elérésére, akkor a rendszerünknek megfelelő Debian
+netinst-* telepítőt válasszuk.
+
+Ez letölthető, majd CD-re írás után indíthatjuk is róla a rendszert. Más linux terjesztések esetén is hasonló lehetőségeink
+vannak a telepítő készletek beszerzésére.
+
+==== Partíciók ====
+
+A nyelv és billentyűzet beállítása után az első igazán komoly - talán legfontosabb - lépés a partíciók kialakítása. A partíciók kialakításához pár szempont:
+ * A ''swap'' terület legyen legalább a fizikai memóriával megegyező méretű
+ * A ''/usr'' számára nem kell túl sok hely, hisz igyekszünk majd csak a ténylegesen szükséges csomagokat telepíteni.
+ * A ''/var'' tartalmazza majd a MaYoR rendszer állományait. Ez nem túl nagy, de hosszabb távon például a generált PDF állomáőnyok, illetve az egyre növekvő adatbázisok számára kell hely.
+ * Valamelyik partíción (pl. ''/home'', vagy külön erre a célra létrehozott ''/backup'') legyen elég hely a rendszeres (lehetőleg napi) menések tárolására. A biztonságot növelhetjük azzal, ha egy másik helyi meghajtóra is mentjük az állományokat, vagy egy másik munkaállomásra is átmásoljuk őket.
+
+
+==== Az alaprendszer telepítése ====
+
+Mikor a telepítő eljut a telepítendő szoftver-komponensek kiválasztásához, akkor AZ ÖSSZES KIJELÖLÉST SZÜNTESSÜK MEG! Csak az alaprendszerre lesz szükség, meg arra a néhány csomagra, amit alább felsorolunk. Minden további csomag felesleges, csak egy esetleges biztonsági rés lehetőségét hordozza magában.
+
+==== A /etc/apt/sources.list kiegészítése ====
+
+A szükséges csomagok telepítéséhez fel kell vennünk a ''contrib'' és ''non-free'' tárolókat is a ''/etc/apt/sources.list'' állományba:
+
+ deb http://ftp.debian.org/debian/ wheezy main contrib non-free
+ deb-src http://ftp.debian.org/debian/ wheezy main contrib non-free
+
+Ezek után indulhat a telepítés. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites-hw.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites-hw.txt
new file mode 100644
index 00000000..4f92e967
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites-hw.txt
@@ -0,0 +1,15 @@
+====== Telepítés ======
+
+===== Hardver =====
+
+A rendszernek nincs különösebben nagy hardverigénye, inkább azt érdemes szem előtt tartani, hogy stabil, megbízható gépet válasszunk. Mindenképp javasoljuk, hogy a MaYoR elektronikus adminisztrációs rendszert külön szerverre kerüljön - így könnyebb biztosítani az adatok védelmét.
+
+Példaként néhány már telepített konfiguráció:
+
+ * HP Proliant ML110, Pentium 4 (3.2GHz), 2 GB RAM, 2x80 GB SATA HDD, Intel Gbit + Realtek Gbit ethernet\\
+Partíciók: swap/2x1GB, / 1GB/single, /tmp 1 GB/single, /usr 10GB/1, /var 10GB/1, /home/58GB/1
+ * HP Proliant ML115, Dual-Core AMD Opteron (1800MHz), 1 GB RAM, 160 GB HDD\\
+Partíciók: / 265MB, /home/143GB, /tmp 400MB, /usr 5GB, /var 3 GB
+ * DELL PowerEdge SC440, Intel Core2 Duo (2.2GHz), 2x160GB HDD, 1 GB, Gbit ethernet\\
+Partíciók: 40MB DELL utility, 2GB swap, 1GB /boot, 2GB /, 2GB /tmp, 10 GB /usr, 20GB /var, 123GB /home
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites-man.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites-man.txt
new file mode 100644
index 00000000..542f3ba2
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites-man.txt
@@ -0,0 +1,521 @@
+====== Manuális telepítés ======
+
+==== Az első indítás után ====
+
+A telepítendő szoftverek listája (vagy ezek megfelelői):
+ - ''apache2'' - a web szerver (más webszerver is szóbajöhet természetesen)
+ - ''php5'', ''php5-mysql'', ''php5-ldap'' (ez utóbbi csak akkor, ha ''ldap'' háttéradatbázist használunk a felhasználók azonosítására)
+ - ''mysql-server-5.0'' - A keretrendszer és a napló adatait tároló adatbázis szerver
+ - ''recode'' - a nyomtatványok előállításakor használjuk a különböző kódolások közötti konverzióra
+ - ''texlive'', ''texlive-plain-extra'', ''texlive-fonts-extra'', ''texlive-fonts-recommended'', ''texlive-lang-hungarian'', ''texlive-latex-extra'', ''cm-super'' - TeX keretrendszer, fontok, makro csomagok
+ - ''texlive-xetex'', ''ttf-mscorefonts-installer'' - opcionális (ha a haladási napló nyomtatásához a XeTeX rendszert akarjuk használni)
+ - ''gs-common''/''ghostscript'' - a nyomtatáshoz szükséges ps2pdf programot tartalmazzó csomag
+ - ''ntp'' - a pontos idő karbantartásához, a munkamenetek lejárati idejének kezeléséhez
+ - ''wget'' - a frissítések letöltéséhez
+ - ''ssl-cert'' - ha saját tanúsítványt akarunk készíteni a web-szerver számára
+ - ''ssh'' - a távoli adminisztráció lehetőségét biztosító szolgáltatás
+
+=== Debian/Ubuntu ===
+
+Belépés után szerkesszük a csomag-források listáját és kommentezzük ki a telepítő CD-re és a forrásokra (src) vonatkozó sorokat:
+
+ editor /etc/apt/sources.list
+
+Majd frissítsük a csomaglistát (ezzel egyúttal ellenőrizzük, hogy nem rontottunk-e el valamit ''sources.list'' állományban)
+
+ apt-get update
+
+És telepítsük a szükséges csomagokat:
+
+ apt-get install apache2 php5 php5-mysql php5-ldap mysql-server-5.0 recode texlive ... ssh ssl-cert ntp
+
+Ez 3-400MB letöltését jelenti, majd a csomagkezelő telepíti a szoftvereket.
+
+=== SuSE ===
+
+A csomagok telepítésére itt a ''yast'' használatos:
+
+ yast2 -i mc gpm apache2 php5 php5-mysql php5-ldap mysql-server-5.0 recode texlive subversion less ssh php5-mbscript
+
+Az ''ssl-cert'' helyett a ''gensslcert'' programot kell használnunk - a működése lényegében teljesen megegyezik a "debianos" ''ssl-cert''-el.
+
+=== freeBSD ===
+
+A telepítés után tegyünk fel GNU bash-t, mert a frissítő szkriptek ezt igénylik majd, ráadásul a ''/bin/bash'' útvonalon, így ha nem ott lenne, akkor készítsűnk
+szimolikus linket!
+
+Szintén a frissítésekhez szükség lesz egy ''md5sum'' nevű szkriptre, ami a linux-ok alatt használatos hasonló nevű alkalmazást helyettesíti
+(pontosabban az ''md5sum -c --status'' alakú hívását):
+
+ #!/bin/bash
+
+ read inputline
+
+ md5sum=`(echo $inputline | cut -d" " -f1)`
+ filename=`(echo $inputline | cut -d" " -f2)`
+ md5sum_new=`(md5 $filename | tr -d " " | cut -f2 -d=)`
+
+ if [ $md5sum = $md5sum_new ]; then
+ exit 0
+ else
+ exit 1
+ fi
+
+Ezt a szkriptet helyezzük el valahova a keresési útvolaban lévő könyvtárba.
+
+Utána tegyük fel a felsoroltaknak megfelelő csomagokat... Legnagyobb gondot várhatóan a texlive kiváltása fogja okozni, mert freeBSD-re
+csak a korábbi tetex rendszer létezik.
+
+(Aki tud pontosabb leírást, az bátran küldje le a support-ra)
+
+===== MaYoR rendszer telepítése =====
+
+Szedjük le a MaYoR keretrendszer és napló forrását:
+
+ cd /tmp
+ wget http://www.mayor.hu/download/current/mayor-base-current.tgz
+ wget http://www.mayor.hu/download/current/mayor-naplo-current.tgz
+
+Majd csomagoljuk ki őket közös könyvtárba (pl ''/var/mayor'')
+
+ mkdir /var/mayor
+ cd /var/mayor/
+ tar xvfz /tmp/mayor-base-current.tgz
+ tar xvfz /tmp/mayor-naplo-current.tgz
+
+Végül ellenőrizzük, hogy a ''/var/mayor/log/mayor-base.rev'' állományba az aktuális revision szám található-e! Ha valamilyen okból nem, akkor kérj segítséget a support@mayor.hu-n!
+
+
+==== Konfigurációs állományok ====
+
+A MaYoR rendszer konfigurációs állományait a ''/var/mayor/config'' könyvtárban lévő ''*.example'' állományok átnevezésével és szerkesztésével kapjuk.
+
+ mv /var/mayor/config/main-config.php.example /var/mayor/config/main-config.php
+ editor /var/mayor/config/main-config.php
+
+Ebben az állományban adhatjuk meg a ''_SITE'' stringet, ami a HTML oldalak ''title'' mezőjében fog megjelenni (általában az intézmény neve), érdemes megváltoztatni a ''_MYSQL_ENCODE_STR'' konstanst, amit a jelszavak kódolásához használunk, valamint a keretrendszer adatbázisának eléréséhez szükséges jelszót - ezt csak a program használja, így bátran adjunk meg akármilyen össze-vissza karaktersort!
+
+ define('_SITE','MaYoR Használó Gimnázium');
+
+ define('_MAYOR_DIR','/var/mayor');
+ define('_BASEDIR',_MAYOR_DIR.'/www');
+ define('_CONFIGDIR',_MAYOR_DIR.'/config');
+ define('_LOGDIR',_MAYOR_DIR.'/log');
+ define('_LOCKFILE','/var/run/mayor.lock');
+ define('_DATADIR',_MAYOR_DIR.'/data');
+ define('_DOWNLOADDIR',_MAYOR_DIR.'/download');
+
+ // --- Jelszó kódolt tárolásához ----------------------------------------//
+ define('_MYSQL_ENCODE_STR','___________');
+
+ $MYSQL_DATA['login']['db'] ='mayor_login';
+ $MYSQL_DATA['login']['user']='mayor_login';
+ $MYSQL_DATA['login']['pw'] ='___________';
+ ...
+
+Következnek az egyes hozzáférési szintek (policy) beállításai. A "parent" és "public" policy beállításaiban elég csak a jelszavakat módosítani (az előzőekhez hasonlóan), míg a "private" hozzáférési szint esetén - hacsak nem LDAP alapú azonosítást szeretnénk - még néhány paramétert módosítunk:
+
+''parent-conf.php'', ''public-conf.php'' - csak a jelszavakat írjuk át
+
+ mv /var/mayor/config/parent-conf.php.example /var/mayor/config/parent-conf.php
+ editor /var/mayor/config/parent-conf.php
+ ...
+ mv /var/mayor/config/public-conf.php.example /var/mayor/config/public-conf.php
+ editor /var/mayor/config/public-conf.php
+ ...
+ mv /var/mayor/config/private-conf.php.example /var/mayor/config/private-conf.php
+ editor /var/mayor/config/private-conf.php
+
+ ...
+ //'backend' => 'ldap',
+ 'backend' => 'mysql',
+ ...
+
+ //'ldap hostname' => 'localhost',
+ //'ldap protocol version' => 3,
+ //'ldap base dn' => 'o=mayor,c=hu',
+ //'createAccountScript' => 'accounts.sh'
+
+ 'mysql db' => 'mayor_private',
+ 'mysql user' => 'mayor_private',
+ 'mysql pw' => '________'
+ ...
+
+=== A napló modul konfigurációja ===
+
+Készítsük el a minta alaján saját konfigurációs állományunkat:
+
+ mv /var/mayor/config/module-naplo/config.php.example /var/mayor/config/module-naplo/config.php
+ editor /var/mayor/config/module-naplo/config.php
+
+Szerkesztéskor a legfontosabb itt is a jelszavak megváltoztatása.
+
+Majd szintén a minták alapján készítsük el saját intézmény konfigurációs állományunkat ''config-[intézmény rövid neve].php'' néven
+(itt az ''[intézmény rövid neve]'' meg kell egyezzen a felületen később megadandó rövid névvel - lásd:
+[[hogyan:telepites#uj_intezmeny_felvetele|Új intézmény felvétele]] - például: ''vmg'', ''illyes'', ''toldy''...):
+
+ mv /var/mayor/config/module-naplo/config-pl.php.example /var/mayor/config/module-naplo/config-[intézmény rövid neve].php
+ editor /var/mayor/config/module-naplo/config-[intézmény rövid neve].php
+
+Ebben az állományban hangolhatjuk a rendszert határidőkkel és egyéb korlátozásokkal...
+
+Van még egy konfigurációs állomány, ami a javascript függvénykönyvtárak betöltését szabályozza, ezen szerkesztenünk nem szükséges:
+
+ mv /var/mayor/config/skin-classic/naplo-config.php.example /var/mayor/config/skin-classic/naplo-config.php
+
+==== MySQL beállítása ====
+
+=== SuSE ===
+SuSE alatt a szolgáltatások indítását és a fontosabb beállításokat célszerű a ''yast'' segítségével végezni. Az adatbázisok létrehozása már nem rendszerfüggő, az a Debin/Ubuntu leírás szerint történhet.
+
+=== Debian/Ubuntu ===
+A telepítés után ne felejtsük el a MySQL root jelszavát megváltoztatni!
+
+ # mysql
+ Welcome to the MySQL monitor. Commands end with ; or \g.
+ Your MySQL connection id is 8
+ Server version: 5.0.32-Debian_7etch5-log Debian etch distribution
+
+ Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
+
+ mysql> SET PASSWORD=PASSWORD('*****');
+ Query OK, 0 rows affected (0.00 sec)
+
+Majd az UTF-8 kódolás beállítása következik:
+
+ cp /var/mayor/install/base/mysql/utf8.cnf /etc/mysql/conf.d/utf8.cnf
+
+Az ''utf8.cnf'' állomány a következőket tartalmazza:
+
+ [client]
+ default-character-set = utf8
+
+ [mysqld]
+ default-character-set = utf8
+ default-collation = utf8_hungarian_ci
+
+Ne felejtsük el a szervert újraindítani a beállítások mósosítása után!
+
+ /etc/init.d/mysql restart
+
+=== A keretrendszer adatbázisainak létrehozása ===
+
+Az adatbázisok létrehozásához a MaYoR rendszer könyvtárában találunk minta állományokat. Ezekben legfeljebb az adatbázisok nevét és a jelszavakat kell majd módosítani.
+
+A ''mayor-login.sql''-ben ''%MYSQL_LOGIN_DB%''-t, ''%MYSQL_LOGIN_USER%''-t és ''%MYSQL_LOGIN_PW%''-t cseréljük
+a ''/var/mayor/config/main-config.php''-ban megadott adatbázis, user, jelszó hármasra.
+
+A ''mayor-auth.sql''-ből készítsünk ''mayor-parent.sql'' néven másolatot, melyben a
+''%MYSQL_AUTH_DB%''-t, ''%MYSQL_AUTH_USER%''-t és ''%MYSQL_AUTH_PW%''-t cseréljük
+a ''/var/mayor/config/parent-conf.php''-ben megadottakra.
+
+Végül hasonlóan készítsünk a ''mayor-auth.sql''-ből ''mayor-private'' néven másolatot, melyben a
+''%MYSQL_AUTH_DB%''-t, ''%MYSQL_AUTH_USER%''-t és ''%MYSQL_AUTH_PW%''-t cseréljük
+a ''/var/mayor/config/private-conf.php''-ben megadottakra.
+
+Lehet simán editorral végezni a szerkesztéseket, de aki jobban szereti a shell parancsokat, így is eljárhat:
+
+ mkdir /tmp/mysql
+ cd /tmp/mysql
+ DB=`grep db /var/mayor/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+ USER=`grep user /var/mayor/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+ PW=`grep pw /var/mayor/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+ cat /var/mayor/install/base/mysql/mayor-login.sql | sed -e "s/%MYSQL_LOGIN_DB%/$DB/g" -e "s/%MYSQL_LOGIN_USER%/$USER/g" \
+ -e "s/%MYSQL_LOGIN_PW%/$PW/g" > mayor-login.sql
+
+ DB=`grep db /var/mayor/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+ USER=`grep user /var/mayor/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+ PW=`grep pw /var/mayor/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+ cat /var/mayor/install/base/mysql/mayor-auth.sql | sed -e "s/%MYSQL_AUTH_DB%/$DB/g" -e "s/%MYSQL_AUTH_USER%/$USER/g" \
+ -e "s/%MYSQL_AUTH_PW%/$PW/g" > mayor-parent.sql
+
+ DB=`grep db /var/mayor/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+ USER=`grep 'mysql user' /var/mayor/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+ PW=`grep pw /var/mayor/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+ cat /var/mayor/install/base/mysql/mayor-auth.sql | sed -e "s/%MYSQL_AUTH_DB%/$DB/g" -e "s/%MYSQL_AUTH_USER%/$USER/g" \
+ -e "s/%MYSQL_AUTH_PW%/$PW/g" > mayor-private.sql
+
+Mindenképp ellenőrizzük, hogy a keletkezett állományok jók lettek-e, a jelszavak, azonosítók, adatbázis nevek megfelelők-e.
+Ezek után létrehozzuk az adatbázisokat:
+
+ cat /tmp/mysql/mayor-login.sql | mysql -p
+ cat /tmp/mysql/mayor-parent.sql | mysql -p
+ cat /tmp/mysql/mayor-private.sql | mysql -p
+
+=== A napló modul adatbázisának létrehozása ===
+
+Az előzőekhez hasonlóan itt is egy meglévő minta állomány segítségével hozzuk létre az adatbázist, melyben kicseréljük a
+''%MYSQL_NAPLO_DB%'', ''%MYSQL_NAPLO_USER%'', ''%MYSQL_NAPLO_PW%'', ''%MYSQL_NAPLO_USER_READ%'', %MYSQL_NAPLO_PW_READ%
+paramétereket a ''/var/mayor/config/module-naplo/config.php'' megfelelő értékeire - editorral, vagy valahogy így:
+
+ DB=`grep db /var/mayor/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+ USER=`egrep 'userWrite.*=' /var/mayor/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+ USERREAD=`egrep 'userRead.*=' /var/mayor/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+ PW=`egrep 'pwWrite.*=' /var/mayor/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+ PWREAD=`egrep 'pwRead.*=' /var/mayor/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+
+ cat /var/mayor/install/module-naplo/mysql/base.sql | sed -e "s/%MYSQL_NAPLO_DB%/$DB/g" -e "s/%MYSQL_NAPLO_USER%/$USER/g" \
+ -e "s/%MYSQL_NAPLO_PW%/$PW/g" -e "s/%MYSQL_NAPLO_USER_READ%/$USERREAD/g" \
+ -e "s/%MYSQL_NAPLO_PW_READ%/$PWREAD/g" > /tmp/mysql/base.sql
+
+Ellenőrizzük az elkészült állományt, majd hozzuk léttre az adatábázist:
+
+ cat /tmp/mysql/base.sql | mysql -p
+
+
+==== A szükséges csoportok és a mayoradmin account létrehozása ====
+
+Ehhez a lépéshez is tartoznak előkészített sql állományok. Először létrehozzuk a mayoradmin felhasználót (induló jelszava 'jelszo') és az
+alaprendszer csoportjait, majd a naplóhoz tartozó csoportokat. Az állományoban a ''%MYSQL_PRIVATE_DB%'' sztringet cseréljük ki a
+''/var/mayor/config/private-conf.php'' állományban megadott adatbázis névre.
+
+ DB=`grep db /var/mayor/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+ cat /var/mayor/install/base/mysql/private-users.sql | sed -e "s/%MYSQL_PRIVATE_DB%/$DB/g" > /tmp/mysql/private-users.sql
+ cat /tmp/mysql/private-users.sql | mysql -p
+
+ cat /var/mayor/install/module-naplo/mysql/naplo-users.sql | sed -e "s/%MYSQL_PRIVATE_DB%/$DB/g" > /tmp/mysql/naplo-users.sql
+ cat /tmp/mysql/naplo-users.sql | mysql -p
+
+==== Az Apache Web-szerver beállításai ====
+
+=== SuSE ===
+
+Az Apache2 alapvető konfigurálása és a szolgáltatás elindítása továbbra is a ''yast''-al történik, sőt a megfelelő virtual host létrehozására is van lehetőség, de a megfelelő konfigurációs állományok szerkesztése is jó, univerzális megoldás, mindegyik rendszeren működnie kell.
+
+=== Debian/Ubuntu ===
+
+Először az Apache2 ssl támogatását kell beállítanunk:
+
+ mkdir /etc/apache2/ssl
+ make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
+ a2enmod ssl
+ a2enmod rewrite
+
+A make-ssl-cert feltesz majd néhány egyszrű kérdést - de ettől ne hátráljunk meg...
+A MaYoR-t használó intézmények számára kérésre mi is készítünk [[gyik:mayorCA|általunk (MaYoR Hungary) hitelesített]] tanúsítványt.
+
+Ezek után a MaYoR rendszer site információit állítsuk be - a letöltött minta másolatának értelemszerű szerkesztésével:
+
+ cp /var/mayor/install/base/apache2/mayor /etc/apache2/sites-available
+ editor /etc/apache2/sites-available/mayor
+
+Itt a szerver nevére, a portra (alapértelmezett: 443) és az előbb generált SSLCertificateFile elérési útjára kell különösen figyelni.
+
+Majd a default site-ban állítsuk be, hogy csak a 80 porton legyen érvényes (de akár le is tilthatjuk):
+
+ editor /etc/apache2/sites-available/default
+
+ NameVirtualHost *:80
+ <virtualhost *:80>
+
+Esetleg irányítsuk át a 80-as port forgalmát a 443-as portra:
+
+ RedirectMatch ^.*$ https://your.mayor.server.hu/
+
+Beállítjuk, hogy a web-szerver a 443-as (https) porton is figyeljen:
+
+ editor /etc/apache2/ports.conf
+
+ Listen 443
+
+Végül engedélyezzük a mayor site-ot és indítsuk újra a web szervert:
+
+ a2ensite mayor
+ /etc/init.d/apache2 restart
+
+Ide tartozik még a php5 modul konfigurációja. Az alapbeállításokhoz képest elég egy helyen módosítani a ''/etc/php5/apache2/php.ini'' állományt:
+
+ editor /etc/php5/apache2/php.ini
+
+ memory_limit = 128M ; Maximum amount of memory a script may consume (16MB)
+
+ /etc/init.d/apache2 reload
+
+A memória limitet a nagyobb lekérdezések miatt kell megnövelni - ilyen például a haladási vagy osztályozó naplók nyomtatása.
+
+
+==== Karbantartást segítő szkriptek ====
+
+Egy egyszerű shell scriptet használhatunk a rendszer frissítésére (''update'') és mentésére (''backup''). Készítsünk először szimbólikus linket, hogy parancssorból könnyen elérhető legyen a szkript:
+
+ ln -s /var/mayor/bin/mayor /usr/local/sbin
+
+Majd készítsünk saját konfigurációs állományokat a mentési és frissítési feladatokhoz:
+
+ cp /var/mayor/config/main.conf.example /var/mayor/config/main.conf
+ chmod 600 /var/mayor/config/main.conf
+ editor /var/mayor/config/main.conf
+ ...
+
+Itt adhatjuk meg a mentési könyvtárat, illetve a MySQL adatbázisok mentéséhez és az adatbázis frissítések elvégzéséhez szükséges
+felhasználói azonosítót és jelszót (dump készítéshez legyen joga és a frissítendő adatbázisokon teljes jogosultságú felhasználó legyen!).
+A frissítéssel kapcsolatban beállíthatjuk, hogy mely modulokat frissítsen a parancs (alapértelmezés szerint: mayor-base, mayor-naplo).
+
+A frissítés a ''/var/mayor/log/revision'' állományból tudja, hogy a rendszer épp melyik változaton áll, így ennek kezdeti értékét is be kell állítani.
+Erre a célra tökéletesen megfelel, ha a ''/var/mayor/log/mayor-base.rev'' állományt másoljuk le ''revision'' néven:
+
+ cp /var/mayor/log/mayor-base.rev /var/mayor/log/revision
+
+A mentést, frissítést rendszeressé tehetjük, ha egy erre szolgáló szkriptet ''cron''-ból hívunk meg:
+
+ ln -s /var/mayor/bin/etc/cron.daily/mayor /etc/cron.daily
+
+Ez a script alapértelmezés szerint napi mentést és vasárnaponként frissítést végez, de szükség szerint átalakítható (akkor persze a szimbolikus link helyett a skript másolatával érdemes dolgozni).
+
+Tovább növelhetjük a biztonságot, ha a mentést rögtön egy másik számítógépre is átmásoljuk (pl scp-vel).
+
+==== Szimbolikus linkek és jogosultságok ====
+
+A webszerver számára hozzáférhetővé kell tenni bizonyos könyvtárakat:
+
+ chown -R www-data /var/mayor/download
+ chown -R www-data /var/mayor/www/wiki/conf
+ chown -R www-data /var/mayor/www/wiki/data
+
+A publikus és szülői oldalakon úgy tudjuk elérhetővé tenni az egyes oldalakat, ha szimbolikus linket készítünk a private-on
+belüli megfelelőjükre. Például, ha szeretnénk elérhetővé tenni az Órarendet a publikus oldalakon, akkor két szimbolikus linkre
+is szükség lesz:
+
+ ln -s /var/mayor/www/policy/private/naplo/tanev/orarend-pre.php /var/mayor/www/policy/public/naplo/tanev/
+ ln -s /var/mayor/www/policy/private/naplo/tanev/orarend.php /var/mayor/www/policy/public/naplo/tanev/
+
+Alapértelmezett telepítés esetén elég sok ilyen oldal lesz. A szükséges könyvtárak és linkek elkészítését az alábbi szkript végezheti:
+
+ parentSymlink="naplo/hibabejelento/hibabejelento naplo//szulinap naplo/haladasi/haladasi naplo/haladasi/stat naplo/osztalyozo/diak
+ naplo/osztalyozo/jegy naplo/osztalyozo/dolgozat naplo/osztalyozo/bizonyitvany naplo/osztalyozo/stat
+ naplo/bejegyzesek/bejegyzesek naplo/tanev/fogadoOra naplo/tanev/helyettesites naplo/tanev/munkaterv naplo/tanev/orarend
+ naplo/intezmeny/valtas naplo/hianyzas/diak naplo/hianyzas/diakLista naplo/hianyzas/nap naplo/uzeno/uzeno naplo/ertekeles/ertekeles
+ portal/hirek/egyhir"
+
+ publicSymlink="naplo/tanev/orarend naplo/tanev/szabadTerem naplo/tanev/helyettesites"
+ BASEDIR="/var/mayor"
+ POLICIES="parent public"
+
+ for POLICY in $POLICIES; do
+ eval "LIST=\$${POLICY}Symlink"
+ for f in $LIST; do
+ DIR=`echo $f | cut -d / -f 1-2`
+ if [ ! -d $BASEDIR/www/policy/$POLICY/$DIR ]; then
+ echo " Könyvtár: $BASEDIR/www/policy/$POLICY/$DIR"
+ mkdir -p $BASEDIR/www/policy/$POLICY/$DIR
+ fi
+ FILES="$f-pre.php $f.php"
+ for file in $FILES; do
+ if [ ! -e $BASEDIR/www/policy/$POLICY/$file ]; then
+ if [ -f $BASEDIR/www/policy/private/$file ]; then
+ echo " $BASEDIR/www/policy/private/$file --> $BASEDIR/www/policy/$POLICY/$file"
+ ln -s $BASEDIR/www/policy/private/$file $BASEDIR/www/policy/$POLICY/$file
+ else
+ echo " Hiányzó file: $BASEDIR/www/policy/private/$file"
+ fi
+ fi
+ done
+ done
+ done
+
+A fenti szkript lépéseit az update folyamat is elvégzi a main.conf-ban rögzített paraméterek alapján. Így, ha kényelmesebb megvárni az első
+frissítést (mayor update), akkor azzal is elvégeztethető a feladat.
+
+===== Belépés a MaYoR rendszerbe =====
+
+Ezek után beléphetünk a korábban létrehozott ''mayoradmin'' azonosítóval. A rendszer kötelező jelszóváltoztatást ír elő. Írjuk be a régi, majd kétszer az új jelszót. A sikeres jelszóváltoztatás után végre valóban beléphetünk.
+
+==== Új intézmény felvétele ====
+
+A ''Napló'' menüpontra kattintva a program arra figyelmeztet minket, hogy nincs intézmény felvéve, és rögtön az intézmény felvétel elvégzésére szolgáló oldalra rak.
+
+Adjuk meg az intézmény OM kódját, rövid nevét (egy kisbetűs, ékezet nélküli szó, 3-6 betű), hivatalos nevét, címét (később a napló nyomtatásakor szükség lesz rá), valamint a MySQL rendszergazda jelszavát - hogy létrehozhassa a program az intézményi adatbázist.
+
+Az intézmény felvétele után újabb hibaüzenetet kapunk: nincs érvényes tanév felvéve.
+
+
+==== Tanévek, szemeszterek felvétele ====
+
+A hibaüzenet után a program az új tanév felvételére szolgáló oldalra továbbít minket. A feladatot itt is elvégezhetjük, de - a betöltendő adatok mennyisége miatt - kényelmesebb lehet egy sql dump állományból betölteni a szemeszterek adatait. A dump állomány például:
+
+ $ cat szemeszter.dump
+ LOCK TABLES `szemeszter` WRITE;
+ INSERT INTO `szemeszter` VALUES
+ (1997,1,1,'tervezett','1997-09-01','1998-01-31'),(1997,2,2,'tervezett','1998-02-01','1998-06-30'),(1998,1,3,'tervezett','1998-09-01','1999-01-31'),
+ (1998,2,4,'tervezett','1999-02-01','1999-06-30'),(1999,1,5,'tervezett','1999-09-01','2000-01-31'),(1999,2,6,'tervezett','2000-02-01','2000-06-30'),
+ (2000,1,7,'tervezett','2000-09-01','2001-01-31'),(2000,2,8,'tervezett','2001-02-01','2001-06-30'),(2001,1,9,'tervezett','2001-09-01','2002-01-31'),
+ (2001,2,10,'tervezett','2002-02-01','2002-06-30'),(2002,1,11,'tervezett','2002-09-01','2003-01-31'),(2002,2,12,'tervezett','2003-02-01','2003-06-30'),
+ (2003,1,13,'tervezett','2003-09-01','2004-01-31'),(2003,2,14,'tervezett','2004-02-01','2004-06-30'),(2004,1,15,'tervezett','2004-09-01','2005-01-31'),
+ (2004,2,16,'tervezett','2005-02-01','2005-06-30'),(2005,1,17,'tervezett','2005-09-01','2006-01-31'),(2005,2,18,'tervezett','2006-02-01','2006-06-30'),
+ (2006,1,19,'tervezett','2006-09-01','2007-01-19'),(2006,2,20,'tervezett','2007-01-20','2007-06-15'),(2007,1,21,'tervezett','2007-09-03','2008-01-18'),
+ (2007,2,22,'tervezett','2008-01-19','2008-06-13'),(2008,1,23,'tervezett','2008-09-01','2009-01-31'),(2008,2,24,'tervezett','2009-02-01','2009-06-30'),
+ (2009,1,25,'tervezett','2009-09-01','2010-01-31'),(2009,2,26,'tervezett','2010-02-01','2010-06-30'),(2010,1,27,'tervezett','2010-09-01','2011-01-31'),
+ (2010,2,28,'tervezett','2011-02-01','2011-06-30'),(2011,1,29,'tervezett','2011-09-01','2012-01-31'),(2011,2,30,'tervezett','2012-02-01','2012-06-30'),
+ (2012,1,31,'tervezett','2012-09-01','2013-01-31'),(2012,2,32,'tervezett','2013-02-01','2013-06-30'),(2013,1,33,'tervezett','2013-09-01','2014-01-31'),
+ (2013,2,34,'tervezett','2014-02-01','2014-06-30');
+ UNLOCK TABLES;
+
+Fontos, hogy mindegyik 'tervezett' státuszú. Ennek betöltése:
+
+ cat szemeszter.dump | mysql -p intezmeny_[rovid]
+
+Ahol '[rovid]' az intézmény rövid neve.
+
+A szemeszterek betöltése után aktivvá tehetünk tanéveket (tanév megnyitása) - ekkor jönnek létre a tanév adatait tároló adatbázisok. Ehhez a tanév kiválasztása után a MySQL rendszergazdai jelszót kell csak megadnunk.
+
+Ha van aktív tanév, akkor a korábbi hibaüzenet eltűnik és helyette egy kék keretes figyelmeztető üzenetet kapunk, ami arra hívja fel a figyelmet, hogy a tanév adatai nincsenek felvéve (éves munkaterv, órarend, tankörök).
+
+
+===== Adatok felvitele =====
+
+Az adatok betöltése a munka legnagyobb része. Fontos, hogy az adatfelvitelnek van egy logikus sorrendje, hiszen az egyes adatok egymásra épülhetnek. Órarendet betölteni például csak akkor van értelme, csak akkor lehet, ha már fent van az összes tanár adata, munkaközösségekbe sorolva, renden vannak a tárgyak, a termek, és ki vannak alakítva a tankörök is.
+
+==== Tanárok felvétele ====
+
+A tanárokat [[naplo:intezmeny:tanar#Tanárok felvétele adatállományból|adatállományból érdemes betölteni]], bár felvehetjük őket egyesével is a felületről.
+
+==== Osztályok felvétele ====
+
+Az új osztályokat (esetleg osztályfőnökkel, de tagok nélkül egyelőre) a felületről vehetjük fel legkönnyebben: [[naplo:intezmeny:osztaly|Napló/Intézményi adatok/Osztályok]].
+
+==== Diákok felvétele ====
+
+A diákokat rögtön osztályokba sorolva vehetjük fel adatállományból: [[naplo:intezmeny:osztaly#Osztály tagjainak felvétele/frissítése adatállományból|Napló/Intézményi adatok/Osztályok]]
+
+==== Munkaközösségek/Tárgyak felvétele ====
+
+A munkaközösség elnevezés kissé félrevezető. Valójában inkább a tanárok végzettségéről van szó, ez határozza meg, hogy ki milyen tárgyat taníthat, milyen órát helyettesíthet szakszerűen. Egy tanár természetesen több munkaközösségbe is beletartozhat.
+
+Az új tárgyakat a felületről vehetjük legkönnyebben: [[naplo:intezmeny:munkakozosseg|Napló/Intézményi adatok/Munkaközösségek]] (munkaközösség vezetőkkel,tagokkal, tárgyakkal).
+
+==== Éves munkaterv betöltése ====
+
+Az éves munkaterv lényege, hogy rögzítse a tanév tanítási napjainak, speciális tanítási napjainak, tanításnélküli munkanapjainak és tanítási szünetek dátumát, valamint több hetes órarend esetén ezek beosztását.
+
+Az éves munkaterv felvétele a [[naplo:tanev:munkaterv|Tanév adatok/Éves munkaterv]] menüpont alatt történhet.
+
+==== Termek adatainak felvétele ====
+
+A temek adatait közvetlenül az intézményi adatbázis ''terem'' táblájába tölthetjük SQL szinten, vagy az [[naplo:admin:import|Admin/Import]] menüpont alatt. A tábla mezői:
+
+ teremId | smallint(5) unsigned
+ leiras | varchar(64)
+ ferohely | tinyint(3) unsigned
+ tipus | set('tanterem','szaktanterem','osztályterem','labor','gépterem','tornaterem','tornaszoba','fejlesztőszoba','tanműhely','előadó','könyvtár','díszterem','tanári','templom','egyéb')
+
+==== Tankörök felvétele ====
+
+Az egyik legnagyobb feladat - különösen egy épp induló intézmény esetén - a [naplo:intezmeny:tankor|tankörök felvétele]]. Ugyanakkor a tankörök alkotják a rendszer alapját, így ezek felvétele és karbantartása kiemelten fontos feladat.
+
+==== Órarend betöltése ====
+
+Az órarend betöltés talán a másik egnehezebb feladat. Külön nehézsége, hogy általában nem lehet vele előre elkészülni, viszonylag szűk határidő van a betöltésre.
+Az órarendet nem a MaYoR rendszerben készyítjük, hanem valamilyen erre a célra készült szoftverrel. A további lépések nagyban függenek a használt programtól.
+
+Alapvetően három lehetőségünk van:
+ * Betöltjük az adatokat közvetlenül az ''orarendiOra'' táblába az [[naplo:admin:import|Admin/Import]] menüpont alatt, majd elvégezzük az [[naplo:orarend:orarendTankor|órarend-tankör összerendelést]]
+ * Használjuk a prgram által biztosított [[naplo:orarend:orarendbetolto|órarend betöltő]] funkciót, valamelyik import modullal
+ * Felvesszük az órarendet "kézzel", tanáronként az [[naplo:orarend:orarendmodositas|Órarend módosítás]] menüpont alatt.
+
+==== Tanári és diák azonosítók generálása ====
+
+Szükség esetén a ''tanar'' és ''diak'' tábla adatait felhasználva generálhatunk felhasználói azonosítókat: [[hogyan:Felhasználói azonosítók generálása]]
+
+==== Szülői adatok felvétele ====
+
+A szülők adatait általában a diákok adatival együtt kapjuk meg, egy táblázatban. A MaYoR rendszerben viszont a szülők adatai külön adattáblába kerülnek. Ez az használat során előnyös (pl. testvér gyerekek szülői adatai csak egy helyen lesznek eltárolva), de a betöltéskor nehézségeket okoz: [[hogyan:Szülői adatok betöltése]]. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites.txt
new file mode 100644
index 00000000..a9c1931c
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/telepites.txt
@@ -0,0 +1,105 @@
+====== Telepítés ======
+
+===== Hardver =====
+
+A rendszernek nincs különösebben nagy hardverigénye, inkább azt érdemes szem előtt tartani, hogy stabil, megbízható gépet válasszunk.
+Mindenképp javasoljuk, hogy a MaYoR elektronikus adminisztrációs rendszert külön szerverre kerüljön - így könnyebb biztosítani az
+adatok védelmét. (A megfelelően védett host operációs rendszeren tetszőleges virtualizált környezet nagyrészén is teljesítmény gond nélkül
+futtatható.)
+
+===== Operációs rendszer telepítése =====
+
+Operációs rendszerként elsősorban Debian Linux rendszert javaslunk - már többször bevált. De telepítettük a rendszert Ubuntura is és
+minden bizonnyal más Linux terjesztésekkel is működésre bírható a rendszer, mi még ugyan nem próbálkoztunk ezekkel, de
+Kiss Antal Gábor (Felsőbüki Nagy Pál Gimnázium - Kapuvár) például telepítette SuSE alá - az ő erre vonatkozó megjegyzéseivel
+ki is egészítettük a leírást (mástól is szívesen veszünk hasonlót!). Az extrém sportokat kedvelők megpróbálhatják a rendszert
+Windows alá is telepíteni, hiszen a szükséges szoftverek legnagyobb része (MySQL, Apache, PHP, stb) erre az operációs rendszerre is
+fellelhető (talán a TeX, LaTeX környezet okozná a legnagyobb gondot).
+
+A továbbiakban a Debian rendszerre való telepítés lépéseit követjük.
+(Az alap Debian telepítéséhez [[hogyan:telepites-debian|egy kis segítség]]).
+
+==== MaYoR Installer (ß) használata ====
+
+Ha megfelelnek számunkra az alapbeállítások, a szokásos telepítés, akkor használjuk a mayor-installer-t. Ez egy telepítő szkript "csokor", ami lényegében
+az alább részletezett lépéseket hajtja végre minimális felhasználói közbeavatkozással. A folyamat végén egy működő rendszert kapunk egy intézménnyel, melyhez
+meg kell nyitnunk egy tanévet és fel kell vennünk az alapadatokat (tanárok, diákok, osztályok, tárgyak, termek, tankörök, órarend, stb).
+
+Használatához szedjük le a csomagot:
+
+ cd /tmp && mkdir mayorinstall && cd mayorinstall
+ wget http://www.mayor.hu/download/current/mayor-installer-current.tgz
+
+Majd csomagoljuk ki:
+
+ tar xfz mayor-installer-current.tgz
+
+Végül futtassuk a setup szkriptet:
+
+ ./setup
+
+Aki nem bízik a shell-scriptek erejében, kézzel is nekivághat a korántsem rövid folyamatnak:
+[[hogyan:telepites-man|manuális telepítés]]
+
+===== Belépés a MaYoR rendszerbe =====
+
+Ezek után kedvenc böngészőnkkel beléphetünk a rendszerbe a korábban létrehozott ''mayoradmin'' azonosítóval. A rendszer kötelező jelszóváltoztatást ír elő.
+Írjuk be a régi, majd kétszer az új jelszót. A sikeres jelszóváltoztatás után végre valóban beléphetünk.
+
+===== Adatok felvitele =====
+
+Az adatok betöltése a munka legnagyobb része. Fontos, hogy az adatfelvitelnek van egy logikus sorrendje, hiszen az egyes adatok egymásra épülhetnek. Órarendet betölteni például csak akkor van értelme, csak akkor lehet, ha már fent van az összes tanár adata, munkaközösségekbe sorolva, renden vannak a tárgyak, a termek, és ki vannak alakítva a tankörök is.
+
+==== Tanárok felvétele ====
+
+A tanárokat [[naplo:intezmeny:tanar#Tanárok felvétele adatállományból|adatállományból érdemes betölteni]], bár felvehetjük őket egyesével is a felületről.
+
+==== Osztályok felvétele ====
+
+Az új osztályokat (esetleg osztályfőnökkel, de tagok nélkül egyelőre) a felületről vehetjük fel legkönnyebben: [[naplo:intezmeny:osztaly|Napló/Intézményi adatok/Osztályok]].
+
+==== Diákok felvétele ====
+
+A diákokat rögtön osztályokba sorolva vehetjük fel adatállományból: [[naplo:intezmeny:osztaly#Osztály tagjainak felvétele/frissítése adatállományból|Napló/Intézményi adatok/Osztályok]]
+
+==== Munkaközösségek/Tárgyak felvétele ====
+
+A munkaközösség elnevezés kissé félrevezető. Valójában inkább a tanárok végzettségéről van szó, ez határozza meg, hogy ki milyen tárgyat taníthat, milyen órát helyettesíthet szakszerűen. Egy tanár természetesen több munkaközösségbe is beletartozhat.
+
+Az új tárgyakat a felületről vehetjük legkönnyebben: [[naplo:intezmeny:munkakozosseg|Napló/Intézményi adatok/Munkaközösségek]] (munkaközösség vezetőkkel,tagokkal, tárgyakkal).
+
+==== Éves munkaterv betöltése ====
+
+Az éves munkaterv lényege, hogy rögzítse a tanév tanítási napjainak, speciális tanítási napjainak, tanításnélküli munkanapjainak és tanítási szünetek dátumát, valamint több hetes órarend esetén ezek beosztását.
+
+Az éves munkaterv felvétele a [[naplo:tanev:munkaterv|Tanév adatok/Éves munkaterv]] menüpont alatt történhet.
+
+==== Termek adatainak felvétele ====
+
+A temek adatait közvetlenül az intézményi adatbázis ''terem'' táblájába tölthetjük SQL szinten, vagy az [[naplo:admin:import|Admin/Import]] menüpont alatt. A tábla mezői:
+
+ teremId | smallint(5) unsigned
+ leiras | varchar(64)
+ ferohely | tinyint(3) unsigned
+ tipus | set('tanterem','szaktanterem','osztályterem','labor','gépterem','tornaterem','tornaszoba','fejlesztőszoba','tanműhely','előadó','könyvtár','díszterem','tanári','templom','egyéb')
+
+==== Tankörök felvétele ====
+
+Az egyik legnagyobb feladat - különösen egy épp induló intézmény esetén - a [naplo:intezmeny:tankor|tankörök felvétele]]. Ugyanakkor a tankörök alkotják a rendszer alapját, így ezek felvétele és karbantartása kiemelten fontos feladat.
+
+==== Órarend betöltése ====
+
+Az órarend betöltés talán a másik egnehezebb feladat. Külön nehézsége, hogy általában nem lehet vele előre elkészülni, viszonylag szűk határidő van a betöltésre.
+Az órarendet nem a MaYoR rendszerben készyítjük, hanem valamilyen erre a célra készült szoftverrel. A további lépések nagyban függenek a használt programtól.
+
+Alapvetően két lehetőségünk van:
+ * Betöltjük az adatokat közvetlenül az ''orarendiOra'' táblába az [[naplo:admin:import|Admin/Import]] menüpont alatt, majd elvégezzük az [[naplo:orarend:orarendTankor|órarend-tankör összerendelést]]
+ * Használjuk a prgram által biztosított [[naplo:orarend:orarendbetolto|órarend betöltő]] funkciót, valamelyik import modullal.
+
+==== Tanári és diák azonosítók generálása ====
+
+Szükség esetén a ''tanar'' és ''diak'' tábla adatait felhasználva generálhatunk felhasználói azonosítókat: [[hogyan:Felhasználói azonosítók generálása]]
+
+==== Szülői adatok felvétele ====
+
+A szülők adatait általában a diákok adatival együtt kapjuk meg, egy táblázatban. A MaYoR rendszerben viszont a szülők adatai külön adattáblába kerülnek. Ez az használat során előnyös (pl. testvér gyerekek szülői adatai csak egy helyen lesznek eltárolva), de a betöltéskor nehézségeket okoz: [[hogyan:Szülői adatok betöltése]]. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/uj_diak.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/uj_diak.txt
new file mode 100644
index 00000000..bdd9c74e
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/uj_diak.txt
@@ -0,0 +1,27 @@
+
+===== Új diák felvétele =====
+
+Így járjunk el a tanév közben érkezett diák(ok) manuális felvételekor.
+
+==== Diák, szülők adatai, azonosítók ====
+
+A **Napló/Intézményi adatok/Diákok** menüben értelemszerűen vegyük fel a diák és a szülők, gondviselő adatait, annyira részletesen (szociális helyzet, fogyatékosság, stb.), amennyire az intézményi adattárolás előírja. Az oktatási azonosítót jegyezzük fel, másoljuk ki, erre még szükség lesz!
+A **Bekerülés módja** legördülő menüből válasszuk ki a belépés okát! Ha itt először osztályt választunk ki, a "Bekerülés módja"-ként pedig a "felvétel osztályba" lehetőséget, akkor rögtön osztályba is sorolhatjuk az új diákot.
+
+Ha használjuk a napló [[naplo:small_faces|Arcok a naplóban]] lehetőségét, ne halasztgassuk, készítsünk fotót az új diákról, később nehéz lesz előkeríteni...! :-o
+
+A felvétel tényéről készül egy záradék-bejegyzés is (ezt ellenőrizhetjük a **Napló/Intézményi adatok/Záradékok** menüben, a diák nevére keresve).
+
+Célszerű azonnal felvenni az accountokat is a **Felhasználói adatok/Új felhasználó** menüben. A mezők értelemszerűen töltődnek, itt lesz szükség az oktatási azonosítóra. Diákot a //private// szintre, szükőket, gondviselőket a //parent// szintre vegyük fel!
+
+==== Osztálybaléptetés ====
+
+Az új diák immár az iskola tagja, de hontalan... :-) (már, ha az előző lépsében nem soroltuk rögtön osztályba)
+
+Lépjünk a **Napló/Intézményi adatok/Osztályok** menübe, keressük ki az új diák osztályát, majd az **Új tag felvétele** résznél keressük ki a diákot a névsorból, állítsuk be a dátumot, és kattintsunk az **OK**-ra! Az osztály listájában immár szerepelni fog.
+
+==== Tankörbeléptetés ====
+
+Már csak annyi van hátra, hogy az új diákot tankörökbe soroljuk. Ehhez válasszuk a **Napló/Intézményi adatok/Diák tankörei** menüjét! A dátumot és a diákot kiválasztva láthatóvá válnak azok a tankörök, amelyek az osztály által érintettek. A nevek előtti checkbox-ba pipát téve lép be a diák az adott dátummal a tankörbe. Az **OK** gomb megnyomása után zöld hátterűre változnak a választott tankörök (ezt egyébként külön kigyűjtve meg is tekinthetjük a lap alján), kék hátterűek maradnak a ki nem választott tankörök.
+
+A diák és/vagy a szülő saját account-jával belépve ezek után látja a diák haladási naplóját, osztályzó naplóját, órarendjét, stb. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/uj_skin.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/uj_skin.txt
new file mode 100644
index 00000000..9a89acd4
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/uj_skin.txt
@@ -0,0 +1,43 @@
+===== Hogyan telepítsünk új skin-t? =====
+
+A MaYoR rendszerhez könnyen készíthetünk saját skin-eket, kisebb-nagyobb mértékben testreszabhatjuk az oldalak kinézetét. Ezáltal saját
+intézményünk arculatához vagy valamilyen alkalomhoz igazíthatjuk a program kinézetét. Ezt a lehetőséget használjuk ki a PDA-k számára készített
+megjelenés megvalósításához is.
+
+==== Hogy lehet elérhetővé tenni egy skin-t? ====
+
+Szerkesszük a /var/mayor/config/main-config.php-t! Ebben találunk két sort, melybe fel kell vennünk az új elemet:
+
+ $SKINS = array('classic','ajax','xml','pda','rpc','blue','vakbarat');
+ $SKINSSHOW = array('classic','blue','vakbarat');
+
+Az előbbi a mayor rendszer által elérhető, elfogadott skin-ek listája, az utóbbi - a classic skinben - az oldal bal felső sarkában megjelenő, kiválasztható skin-ek listája.
+
+==== Hogyan tehetünk alapértelmezetté egy skin-t? ====
+
+A skin-ek hozzáférési szintenként (policy) állíthatók be. Ha például a publikus oldalak megjelenését szeretnénk a blue nevű skin-re változtatni,
+akkor ehhez a /var/mayor/config/public-conf.php-t kell szerkesztenünk:
+
+ $AUTH['public'] = array(
+
+ 'skin' => 'blue',
+ ...
+
+ );
+
+==== Hogyan készíthetünk saját skin-t? ====
+
+Lehetőség szerint ne csináljunk ilyet :)
+
+Először is adjuk egy egyszerű nevet az új skin-nek. Példánkban ez a név: winter.
+A skinhez tartozó file-ok ezek után a /var/mayor/www/skin/winter alá fognak kerülni, illetve még egy konfigurációs állomány tartozhat hozzá a
+/var/mayor/config/skin-winter könyvtár alatt.
+
+Fontos tudnunk, hogy a program egy skin használata során, ha nem talál az adott skin könyvtára alatt egy (css vagy phtml) állományt, akkor a
+hiányzó fájlt az alapértelmezett classic skin-ből veszi. Ez a mechanizmus nagyon hasznos, mert így elegendő a classic skin-től való eltéréseket
+megadnunk.
+
+A legtöbb esetben egy új skin nem több néhány képnél és css állománynál. Érdemes is ezen a szinten megmeradni, hisz a html kód módosítása
+a működésre is befolyással lehet.
+
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/visszatoltes_mentesbol.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/visszatoltes_mentesbol.txt
new file mode 100644
index 00000000..ae8765c4
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/visszatoltes_mentesbol.txt
@@ -0,0 +1,176 @@
+
+[color=red][size=40px]**Ez az oldal még félkész!**[/size][/color]
+
+====== Adatok visszatöltés mentésből ======
+
+**Feltétlenül olvassuk végig az eljárást, és csak után kezdjünk neki a munkának!**
+
+Bármennyire is gondosan üzemeljük, felügyeljük a MaYoR-t, előfordulhat, hogy adataink sérülnek, elvesznek, ilyenkor - viszonylag - kevés munkával visszaállítható valamelyik (célszerűen az utolsó ép) mentéskori állapot.
+Hasznos lehet, ha gyakorlás, próbálgatás, kísérletezés vagy éppen egy előadás, bemutató céljából az éles rendszer adatait egy fizikailag más gépre, vagy épp egy virtuális gépre átemeljük, ezeket aztán következmények nélkül lehet használni. Ez esetben a teljes visszatöltés metódusát kövessük!
+
+A napló új gépre költöztetésekor, vagy új telepítés esetén, tesztrendszer kialakításakor a teljes rendszert kell visszaállítani/áttölteni, míg egy elírás, rosszul kiadott sql-parancs következtében általában elég csak az egyik adatbázis kérdéses tábláját beemelni.
+
+Mindegyik esetben a jelszó: **don't panic!!!** :-)
+
+(Az alábbi leírások Debian/MySQL-alapú rendszerhez passzolnak.)
+
+Célszerű a visszatöltés idejére a webszervert leállítani, részint, hogy a Felhasználók ne kapjanak töménytelen mennyiségű hibaüzenettel teletűzdelt felületet, részint, hogy megakadályozzuk a Felhasználók visszatöltés közbeni üzeneteit, jegybeírásait, és egyéb - számunkra épp ekkor nemkívánatos - tevékenységeit (adódhat olyan, hogy az egyik, épp visszatöltött táblába már beír a Felhasználó, miközben a többi, esetleg ehhez kapcsolódó tábla még a backup-adattárolón vár a sorára...)
+
+===== Visszatöltés új telepítésre (másik hardware, op.rendszer újratelepítés, tesztrendszer) =====
+Tesztrendszer kialakítása, új gép vásárlása a MaYoR napló számára, nagyobb merevlemez beszerzés, hardware-hiba, netán illetéktelen hozzáférés után - számtalan oka lehet annak, hogy vadonatúj rendszer alá kell visszatöltenünk régi adatainkat.
+Ebben az esetben is (de minden más esetben) roppant fontos a rendszeres, biztonságos helyen tárolt [[hogyan:karbantartas#mentes|mentés]])!
+
+==== Mielőtt nekifogunk... ====
+
+Első és legfontosabb, hogy az [[hogyan:telepites#operacios_rendszer_telepitese|operációs rendszer]], a MaYoR és a szükséges csomagok [[hogyan:telepites#mayor_installer_ss_hasznalata|telepítése]] megtörténjen (esetleg [[hogyan:telepites-man|kézi]] telepítéssel).
+
+Állítsuk le a webszervert:
+
+ /etc/init.d/apache2 stop
+
+Lépjünk be az MySQL-be:
+
+ # mysql -p
+ Password:
+
+Liztázzuk ki az adatbázisokat:
+
+ mysql> SHOW DATABASES;
+
+Az aktuális tanév (és esetleg a régebbiek) kivételével ott kell szerepelnie a(z) //information_schema, intezmeny_[iskolarovidneve], mayor_login, mayor_naplo, mayor_parent, mayor_private// és //mysql// adatbázisoknak.
+
+==== Az első komoly buktató ====
+
+Itt következik az egyik olyan lépés, amelybe könnyen beletörik a bicska, és melyen kétféleképp is átléphetünk, mindkét módszer jó, használható.
+
+----
+
+**a)** Ha áll a webszerver, erre a rövid időre indítsuk el! Lépjünk be a friss MaYoR-ba (mayoradmin és jelszo az első belépés, a jelszavunkat rögtön meg is kell változtatni. Célszerű arra változtatni, ami a betöltendő naplóhoz passzoló jelszó, így egy lépést spórolunk...)!
+
+Hozzuk létre az(oka)t a tanév(ek)et, amit be kívánunk tölteni! Ezzel a lépéssel lefutnak azok a jogosukltság-beállítások, amik a használathoz a későbbiek során szükségesek.
+
+Lépjünk ki, állítsuk le a webszervert!
+
+----
+
+**b)** A MaYoR-ba történő belépés nélkül hozzuk létre az aktuális tanév (és szükség esetén a visszatöltendő többi tanév) adatbázisát:
+
+ mysql> CREATE DATABASE naplo_[iskolarovidneve]_[aktualistanev];
+
+vagyis például //naplo_szag_2010// (a 2010/2011-es tanév adatbázisa), majd biztos, ami biztos, ellenőrizzük:
+
+ mysql> SHOW DATABASES;
+
+Immár szerepelnie kell a többi mellett a //naplo_[iskolarovidneve]_[aktualistanev]// adatbázisnak is.
+
+Ez a lépés azonban nem állítja be a mysql-usereknek a használathoz szükséges hozzáférést. Ezt kézzel kell megtennünk:
+
+A //mayor_naplo// user számára az //intezmeny_[iskolarovidneve] és a naplo_[iskolarovidneve]_[tanev]// adatbázisok tábláihoz állítsuk be a hozzáférést:
+
+ mysql> GRANT ALL ON intezmeny_szag.* TO 'mayor_naplo'@'localhost' IDENTIFIED BY "jelszo";
+ mysql> GRANT ALL ON naplo_szag_2010.* TO 'mayor_naplo'@'localhost' IDENTIFIED BY "jelszo";
+
+A jelszo helyére a ///var/mayor/config/module-naplo/config.php// állományban találjuk a //mayor_naplo// user jelszavát, amit a legegyszerűbben talán a
+
+ # cat /var/mayor/config/module-naplo/config.php | grep -a2 mayor_naplo
+
+paranccsal kapunk meg (a jelszó egy véletlenszerűen, a mayor telepítésekor generált karaktersor).
+
+Ehhez hasonló módon kell beállítani a //mayor_naplo_read// user jogosultságait is:
+
+ mysql> GRANT SELECT,EXECUTE ON intezmeny_szag.* TO 'mayor_naplo_read'@'localhost' IDENTIFIED BY "jelszo";
+ mysql> GRANT SELECT,EXECUTE ON naplo_szag_2010.* TO 'mayor_naplo_read'@'localhost' IDENTIFIED BY "jelszo";
+
+A jelszo helyére a ///var/mayor/config/module-naplo/config.php// állományban találjuk a //mayor_naplo_read// user jelszavát, amit a legegyszerűbben talán a
+
+ # cat /var/mayor/config/module-naplo/config.php | grep -a2 mayor_naplo_read
+
+paranccsal kapunk meg (a jelszó egy véletlenszerűen, a mayor telepítésekor generált karaktersor).
+
+Szükség esetén a többi tanévvel is így kell eljárni!
+
+A végén a
+
+ mysql> FLUSH PRIVILEGES;
+
+paranccsal aktualizáljuk az előbb beállított jogokat!
+
+==== Adatbetöltés ====
+
+Keressük meg a betölteni kívánt mentést! A MaYoR a ///home/backup// könyvtárba ment, de természetesen egy új telepítésnél, másik gépre költöztetésnél itt nem lesz semmi. Példánkban a másik adathordozón levő mentés átmásolásával nem foglalkozunk, (ha gond van ezzel, a support segít), és onnan indulunk, hogy a ///tmp// könyvtárban ott van az //ééééhhnn.tgz// mentés!
+
+Csomagoljuk ki a mentést:
+
+ # cd /tmp && tar xfz 20100815.tgz
+
+A visszatöltés adatbázisonként külön-külön történik, vagyis sorban az összessel végig kell csinálni:
+
+ # cat /tmp/intezmeny_[iskolarovidneve].sql | mysql -p intezmeny_[iskolarovidneve]
+ Enter password:
+
+A MySQL root-jelszó megadása után a fenti adatbázis a teli tábláival együtt már a helyén van, ugyanígy kell eljárni //mayor_login, mayor_naplo, mayor_private, mayor_parent// és a //naplo_[iskolarovidneve]_2010// (meg esetleg a régebbi) adatbázisokkal.
+
+==== A második komoly buktató... ====
+
+Amennyiben a különböző config-állományainkat is szerentnénk (és miért ne...?) az új, áttelepített rendszeren használni, ismét két lehetőségünk van:
+
+----
+
+**a)** A régi config-állományok beállításait egyenként, kézzel átírjuk az új config-állományokba. Ez a módszer is jó lehet, ha egy-két különbségről van csupán szó, nagyobb léptékben azonban ez a módszer lassú, nehézkes, és sok hibalehetőséggel jár.
+
+----
+
+**b)** A másik módszer egyszerűbb, gyorsabb, de veszélyei ennek is vannak.
+
+Első lépésként az új config (ez tartalmazza a telepítéskor létrejövő véletlenszerű jelszavakat...) könyvtárat másoljuk át biztonságos helyre, például a ///home/backup//-ba:
+
+ # cp -R /var/mayor/config /home/backup
+
+Gyűjtsük ki sorra a /home/backup állományaiból a jelszavakat:
+ * mayor_private - config/private-conf.php
+ * mayor_parent - config/parent-conf.php
+ * mayor_portal - config/module-portal/config.php
+ * mayor_naplo - config/module-naplo/config.php
+ * mayor_naplo_read - config/module-naplo/config.php
+ * mayor_login - config/main-config.php
+ * mysql root -config/main.conf
+
+Ezek után érdemes a config-állományokat, skin-eket és egyéb - már jól bevált, régi állományokat - is visszamásolni a helyére, felülírva az ott levőket. Például:
+
+ # cp /tmp/config/module-naplo/config-[iskolarovidneve].php /var/mayor/config/module-naplo/
+
+A ///home/backup//-beli jelszavakat szépen sorban, konzekvensen, a kis- és nagybetűkre különös figyelemmel írjuk át a ///var/mayor/config//-beliekre.
+
+Amennyiben nem szeretnénk így eljárni (ez esetben is mentsük a friss //config// könyvtárat, biztos, ami biztos!), arra is van lehetőség, hogy a visszatöltött adatbázisban kicseréljük a mysql-felhasználók jelszavait. Ekkor is ki kell keresni a ///var/mayor/config// könyvtárban az egyes jelszvakat, majd egyesével lecserélni a mysql-ben:
+
+ mysql> UPDATE mysql.user SET Password=PASSWORD('kikeresett-jelszo') WHERE user='mayor_private';
+
+... és sorban az összes többit.
+
+==== Befejezés ====
+
+Nincs más hátra, mint elindítani a webszervert:
+
+ # /etc/init.d/apache2 start
+
+Ha jól csináltunk mindent, az eredetivel megegyező naplót kapunk.
+
+==== Vissza lehet-e tölteni régebbi adatbázist újabb revision-számú MaYoR-ra? ====
+
+Technikaligag igen, azonban a működésben szinte biztos, hogy gubancok lesznek: esetleg hiányzó, átírt mezőnevek, értékek, a függvények pedig biztos, hogy nem a régi adatbázishoz passzolnak... :-(
+Ahhoz, hogy egy régi verziót az akkori állapotok szerint tesztelni lehessen (egyezzen az adatbázis-szerkezet a revision-nel) szinte semmi esély. :-(
+
+Ha azonban a csak régi adatbázist tudunk visszatölteni (pl. adatvesztés okán), a problémák __valószínűleg__ áthidalhatók egy csellel: keressük meg a ///var/mayor/log/revision// állományt, írjuk vissza a benne szereplő számot a visszatöltendő rendszer revision-számára, majd mentés után frissítsük a MaYoR-t:
+
+ # mayor update
+
+Jó eséllyel hibátlanul működő rendszert kapunk.
+
+===== Visszatöltés régi op.rendszerre újratelepített MaYoR esetében =====
+
+
+Átalakítás alatt...
+
+===== Részleges visszatöltés (csak egy - vagy néhány - tábla sérülése esetén) =====
+
+Átalakítás alatt... \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/wiki_sajat_gepre.txt b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/wiki_sajat_gepre.txt
new file mode 100644
index 00000000..6ca357cf
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/hogyan/wiki_sajat_gepre.txt
@@ -0,0 +1,36 @@
+===== Wiki saját gépre =====
+
+Telepítés lépései:
+
+1. A ''main.conf'' állítsuk be a ''mayor-wiki'' csomag letöltését:
+
+ MODULES="mayor-base mayor-naplo mayor-portal mayor-wiki"
+
+2. A ''http://www.dokuwiki.org/dokuwiki'' oldalról töltsük le a [[http://www.dokuwiki.org/dokuwiki|dokuWiki]-t és csomagoljuk ki a ''/var/mayor/www/wiki'' könyvtárba.
+
+3. Ideiglenesen adjuk meg az írás jogokat a webszerver felhasználójának a conf és data könyvárakra:
+
+Például:
+
+ chown 777 -R /var/mayor/www/wiki/conf
+ chown 777 -R /var/mayor/www/wiki/data
+
+4. A böngészőbe gépeljük be a ''http://sajat_url/wiki/install.php'' címet és saját belátásunk szerint telepítsük a dokuWiki-t
+
+5. Vegyük vissza a ''conf'' és a ''data'' könyvtárakról a jogokat.
+
+Például:
+ chown 755 -R /var/mayor/www/wiki/conf
+ chown 755 -R /var/mayor/www/wiki/data
+
+6. Készítsünk szimbolikus linkeket a ''mayor-wiki'' fájlaira:
+ ln -s /var/mayor/wiki/dok.php /var/mayor/www/wiki/dok.php
+ ln -s /var/mayor/wiki/data/pages /var/mayor/www/wiki/data/pages
+ ln -s /var/mayor/wiki/lib/plugins/bbcode /var/mayor/www/wiki/lib/plugins/bbcode
+ ln -s /var/mayor/wiki/lib/tpl/mayor /var/mayor/www/wiki/lib/tpl/mayor
+
+7. Ha kedvünk tartja. akkor a ''/var/mayor/www/wiki/conf/dokuwiki.php'' fájlban állítsuk be a ''mayor'' skint:
+
+ $conf['template'] ='mayor';
+
+Ezt követően a ''http://sajat_url/wiki'' címen (illteve a digitális naplóból) bejön a wiki saját gépről.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/adatkezeles.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/adatkezeles.txt
new file mode 100644
index 00000000..37954aa7
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/adatkezeles.txt
@@ -0,0 +1,355 @@
+====== 2. számú melléklet az 1993. évi LXXIX. törvényhez ======
+===== (A törvény 40. §-ához) =====
+
+==== Az alkalmazottak adatai ====
+
+1. E törvény alapján nyilvántartott adatok:
+
+a) név, születési hely és idő, állampolgárság;
+
+b) lakóhely, tartózkodási hely, telefonszám, azonosító szám;
+
+c) munkaviszonyra, közalkalmazotti jogviszonyra vonatkozó adatok
+
+- iskolai végzettség, szakképesítés, alkalmazási feltételek igazolása,
+
+- munkában töltött idő, közalkalmazotti jogviszonyba beszámítható idő, besorolással kapcsolatos adatok,
+
+- alkalmazott által kapott kitüntetések, díjak és más elismerések, címek,
+
+- munkakör, munkakörbe nem tartozó feladatra történő megbízás, munkavégzésre irányuló további jogviszony, fegyelmi büntetés, kártérítésre kötelezés,
+
+- munkavégzés ideje, túlmunka ideje, munkabér, illetmény, továbbá az azokat terhelő tartozás és annak jogosultja,
+
+- szabadság, kiadott szabadság,
+
+- alkalmazott részére történő kifizetések és azok jogcímei,
+
+- az alkalmazott részére adott juttatások és azok jogcímei,
+
+- az alkalmazott munkáltatóval szemben fennálló tartozásai, azok jogcímei,
+
+- a többi adat az érintett hozzájárulásával.
+
+2. Az 1. pontban felsorolt adatokat a magasabb vezető tekintetében a munkáltatói jog gyakorlója kezeli.
+
+3. Az 1. pontban felsorolt adatok továbbíthatók a fenntartónak, a kifizetőhelynek, bíróságnak, rendőrségnek, ügyészségnek, helyi önkormányzatnak, közigazgatási szervnek, a munkavégzésre vonatkozó rendelkezések ellenőrzésére jogosultaknak, a nemzetbiztonsági szolgálatnak.
+
+==== A gyermekek, tanulók adatai ====
+
+1. E törvény alapján nyilvántartott adatok:
+
+a) gyermek, tanuló neve, születési helye és ideje, állampolgársága, lakóhelyének, tartózkodási helyének címe, telefonszáma, nem magyar állampolgár esetén a Magyar Köztársaság területén való tartózkodás jogcíme és a tartózkodásra jogosító okirat megnevezése, száma;
+
+b) szülő neve, lakóhelye, tartózkodási helye, telefonszáma;
+
+c) a gyermek óvodai fejlődésével kapcsolatos adatok;
+
+d) a tanulói jogviszonnyal kapcsolatos adatok
+
+- felvételivel kapcsolatos adatok,
+
+- a tanuló magatartásának, szorgalmának és tudásának értékelése és minősítése, vizsgaadatok,
+
+- a tanulói fegyelmi és kártérítési ügyekkel kapcsolatos adatok,
+
+- a sajátos nevelési igényre vonatkozó adatok,
+
+- beilleszkedési, tanulási, magatartási nehézséggel küzdő gyermek, tanuló rendellenességére vonatkozó adatok,
+
+- a tanuló- és gyermekbalesetre vonatkozó adatok,
+
+- a tanuló diákigazolványának sorszáma,
+
+- a tanuló azonosító száma,
+
+- a tankönyvellátással kapcsolatos adatok,
+
+- a többi adat az érintett hozzájárulásával.
+
+2. Az adatok - az e törvényben meghatározott célból, a személyes adatok védelmére vonatkozó célhoz kötöttség megtartásával - továbbíthatók
+
+- fenntartó, bíróság, rendőrség, ügyészség, önkormányzat, közigazgatási szerv, nemzetbiztonsági szolgálat részére valamennyi adat,
+
+- sajátos nevelési igényre, a beilleszkedési zavarra, tanulási nehézségre, magatartási rendellenességre vonatkozó adatok a pedagógiai szakszolgálat intézményeitől a nevelési-oktatási intézménynek, illetve vissza,
+
+- az óvodai fejlődéssel, iskolába lépéshez szükséges fejlettséggel kapcsolatos adatok a szülőnek, a pedagógiai szakszolgálat intézményeinek, az iskolának,
+
+- a magatartás, szorgalom és tudás értékelésével kapcsolatos adatok az érintett osztályon belül, a nevelőtestületen belül, a szülőnek, a vizsgabizottságnak, a gyakorlati képzés szervezőjének, a tanulószerződés kötőjének, illetve, ha az értékelés nem az iskolában történik, az iskolának, iskolaváltás esetén az új iskolának, a szakmai ellenőrzés végzőjének,
+
+- a diákigazolvány - jogszabályban meghatározott - kezelője részére a diákigazolvány kiállításához szükséges valamennyi adat,
+
+- a gyermek óvodai felvételével, átvételével kapcsolatosan az érintett óvodához, iskolai felvételével, átvételével kapcsolatosan az érintett iskolához, felsőoktatási intézménybe történő felvétellel kapcsolatosan az érintett felsőoktatási intézményhez és vissza,
+
+- az egészségügyi, iskola-egészségügyi feladatot ellátó intézménynek a gyermek, tanuló egészségügyi állapotának megállapítása céljából,
+
+- a családvédelemmel foglalkozó intézménynek, szervezetnek, gyermek- és ifjúságvédelemmel foglalkozó szervezetnek, intézménynek a gyermek, tanuló veszélyeztetettségének feltárása, megszüntetése céljából,
+
+- az állami vizsgák alapján kiadott bizonyítványokat nyilvántartó szervezetnek a bizonyítványok nyilvántartása céljából, továbbá a nyilvántartó szervezettől a felsőfokú felvételi kérelmeket nyilvántartó szervezethez,
+
+- a tankönyvforgalmazókhoz, a külön törvényben meghatározott körben és célból.
+
+3. A nevelési-oktatási intézmény nyilvántartja azokat az adatokat, amelyek a jogszabályokban biztosított kedvezményekre való igényjogosultság elbírálásához és igazolásához szükségesek. E célból azok az adatok kezelhetők, amelyekből megállapítható a jogosult személye és a kedvezményre való jogosultsága.
+
+===== Adatvédelmi szabályzat =====
+
+Minta a A Csepel Sziget Műszaki Szakközépiskolából
+
+[[http://www.csepel-muszaki.hu/adatvedelem]]
+
+==== Adatvédelem ====
+
+A Csepel-Sziget Műszaki Szakközépiskola, Szakiskola és Kollégium Számítógépes Naplójának Adatvédelmi Szabályzata
+
+=== 1. Bevezető ===
+
+A Csepel-Sziget Műszaki Szakközépiskola, Szakiskola és Kollégium a Számítógépes Napló rendszerében nyilvántartott személyes adatok kezelésének jogszerűsége, az adatkezelés célhoz kötöttségének biztosítása, valamint az érintettek jogainak érvényesíthetősége érdekében, az Adatvédelmi, a Közoktatási, az SzJA, a TB törvény, valamint a diákigazolványról szóló kormányrendelet rendelkezései alapján az alábbi szabályzatot alkotja:
+
+=== 2. A szabályzat hatálya ===
+
+A jelen szabályzat hatálya kiterjed a Csepel-Sziget Műszaki Szakközépiskola, Szakiskola és Kollégium-ban közalkalmazotti jogviszonyban álló valamennyi személyre, továbbá mindazokra, akik valamely egyedi vagy általános engedély vagy felhatalmazás alapján jogosultak a Számítógépes Napló használatára, a rendszerbe való belépésre, az abban fellelhető adatok megtekintésére, adatok bevitelére, feldolgozására vagy továbbítására, illetőleg a rendszer műszaki-technikai üzemeltetésére, karbantartására.
+
+A jelen szabályzat hatálya alá tartozó személyek kötelesek a szabályzat rendelkezéseinek maradéktalan betartására.
+
+=== 3. A Számítógépes Napló adatbázisába bekerülő adatok köre ===
+
+Az adatbázisba az alábbi adatalanyok következő adatai kerülnek be:
+
+ * Az Intézménnyel közalkalmazotti vagy egyéb jogviszony alapján tanári, oktatói, nevelői tevékenységet végző személyek
+ * Az Intézménnyel közalkalmazotti jogviszonyban álló azon személyek, akiknek feladatkörébe tartozik a Számítógépes Napló bármilyen formájú használata, karbantartása.
+ * Az Intézménnyel tanulói jogviszonyban állók.
+
+Az adatbázisba a fentebb felsorolt adatalanyok következő adatai kerülnek be:
+
+ * Az Intézménnyel nem tanulói jogviszonnyal rendelkező személyek esetében:
+ * név / leánykori név
+ * személyre szóló kód
+ * belépési jelszó
+
+Egyéb adatok csak az érintett hozzájárulásával rögzíthetők az elektronikus rendszerben.
+
+Az Intézménnyel tanulói jogviszonyban álló személyek esetében:
+
+ * Tanuló neve
+ * Tanuló tanügyi azonosító száma
+ * Tanuló iskolája - kollégiumi tanuló esetén
+ * Iskolatípus
+ * Osztály / csoport
+ * Születési hely
+ * Születési idő
+ * Állampolgársága
+ * Anyja neve:
+ * Anyja foglalkozása
+ * Anyja telefonszáma
+ * Lakóhely
+ * Lakcím
+ * Megye
+ * Irányítószám
+ * Apa / Gondviselő neve
+ * Apa / Gondviselő foglalkozása
+ * Apa / Gondviselő telefonszáma
+ * Apa / Gondviselő értesítési címe
+ * Beiratkozás dátuma
+ * Diákigazolvány száma
+ * Diákigazolvány kiadási dátuma
+ * Személyi igazolvány száma / külföldinél útlevélszám
+ * Tartózkodási okirat / külföldinél /
+ * Társadalombiztosítási Azonosító Jel
+ * Adóazonosító
+ * Beírási napló száma
+ * Tanuló előző iskolája
+ * Tanult szakma
+ * Tanuló fényképe
+ * Tanuló tantárgyai
+ * Tanuló tantárgyak szerinti osztályzatai
+ * Tanuló tantárgyak és dátum szerinti hiányzásai
+ * Tanuló dicséretei, fegyelmi fokozatai
+
+Jelölt állapotok a tanuló-nyilvántartásban, közvetlen adatokat nem tartalmaz:
+
+ * Elvált szülők
+ * Magántanuló
+ * Vendégtanuló
+ * Térítési díjat fizető
+ * Tandíjat fizető
+ * Jogviszonyt szüneteltet
+ * Kollégista
+ * Évismétlő
+ * 3, v. több gyerekes család
+ * Rendszeres gyermekvédelmi támogatás
+ * Tartósan beteg
+ * Állami gondozott
+ * Veszélyeztetett
+ * Mozgássérült
+ * Beszédfogyatékos
+ * Hallássérült
+ * Diszlexia
+ * Diszkalkúlia
+ * Diszgráfia
+
+A fenti felsorolásban nem szereplő adatok csak az érintett írásbeli hozzájárulása alapján kerülhetnek be az adatbázisba. Ennek jelenleg indoka nincs.
+
+Az adatbázisba bekerülő adatok kezelésének jogalapja:
+
+ * Az Intézménnyel nem tanulói jogviszonyban álló személyek adatai közül:
+ * A név adata a Közoktatási törvény 2. sz. melléklete alapján
+ * A tanulói jogviszonyban álló személyek adatai közül a felsoroltak:
+ * a Közoktatási törvény 2. sz. melléklete alapján kerülhetnek be az adatbázisba. (Ezen belül a hivatkozott törvényhely alapján a tanulók jövedelmi és szociális helyzetét igazoló, illetve az egyes juttatások megállapításához szükséges adatoknak minősülnek a fentebb megjelölt adatok.)
+ * a diákigazolványról szóló 30/1999 (II. 15.) Kormányrendelet 6. 5.bek-ben foglalt rendelkezés alapján kerülhetnek az adatbázisba
+ * a személyi jövedelemadóról szóló 1995.évi CXVII. tv.36.-ban, valamint Az adózás rendjéről szóló1990.évi XCI. Tv. 45. (2) - (5) bek.-ben foglalt rendelkezés alapján kerülnek be az adatbázisba
+ * a társadalombiztosítási ellátásokról szóló 1997.évi LXXX. tv. végrehajtására kiadott 195/1997 (XI. 5.) Kormányrendelet 24. -ban foglalt rendelkezés alapján kerülhetnek be az adatbázisba
+
+=== 4. Az adatbázisba bekerülő adatok felvételének formája, az adatok forrása, az adatbevitelre jogosultak köre, az adatbevitel módja ===
+
+4.1. Az adatfelvétel formája
+
+Az adatbázisba bekerülő adatok felvétele minden esetben írásbeli formában történik. Szóbeli közlés alapján az adatbázisba semmilyen adat nem kerülhet be.
+4.2. Az adatok forrása
+
+A nem tanulói jogviszonyban álló személyek adatainak forrása minden esetben a Csepel-Sziget Műszaki Szakközépiskola, Szakiskola és Kollégium által kezelt nyilvántartás.
+
+A tanulói jogviszonyban álló személyek esetén:
+
+ * A Felvételi Jelentkezési Lap
+ * Az Intézményi Adatközlő Lap
+ * Adatváltozás jelentő Lap
+ * Haladási Napló
+ * Csoportnapló
+
+4.3. Az adatbevitelre jogosultak köre
+
+Azon adatok bevitele, amelyek forrása az alkalmazotti nyilvántartás, az adatok bevitele a tanügyi-koordinációs gyakorlati oktatásvezető, illetve az általa megbízott feladata.
+
+Azon adatok bevitele, amelyek forrása a Felvételi Jelentkezési Lap, az Intézményi Adatközlő Lap, és az Adatváltozás jelentő Lap, az adatok bevitele a tanulmányi csoport, a tanügyi-koordinációs gyakorlati oktatásvezető, illetve az általa megbízott feladata.
+
+Azon adatok bevitele, amelyeknek forrása a Haladási Napló, vagy Csoportnapló, az adatok bevitele az osztályfőnök, illetve az igazgató, és a tanügyi-koordinációs gyakorlati oktatásvezető által megbízott személyek feladata.
+
+4.4. Az adatbevitel módja
+
+Az adatbázisba bevitt adatok nem térhetnek el az adat forrásául szolgáló iratban szereplő adattól. Az adatok egyezőségéért az adatbevitelt végző személy felelősséggel tartozik.
+
+Amennyiben az adatok forrásául szolgáló iratban szereplő adat értelmezhetetlen, olvashatatlan, ellentmondásos vagy hiányos, abban az esetben az adat nem vihető be az adatbázisba. Ilyen esetben az adat forrásául szolgáló irat kijavítását illetve kiegészítését kell kérni az adatalanytól.
+
+A kijavítás minden esetben Adatváltozás jelentő Lap kitöltésével történik.
+
+Az adatbázis adatainak kiegészítése az eredeti Adatközlő Lap kiegészítésével történik azzal, hogy a kiegészítést csak az adatalany (vagy az eredeti irat kiállítója) végezheti el és a kiegészítés tényét és időpontját sajátkezű aláírásával igazolja.
+
+Az adatok kijavítása, illetve kiegészítése szóbeli közlés alapján nem történhet.
+
+Az adatok bevitele során olyan körülményeket kell biztosítani, hogy az adatokhoz illetéktelen személyek ne férhessenek hozzá.
+
+Az adatok bevitele után az adat forrásául szolgáló iratokat az Iratkezelési Szabályzatnak megfelelően kell tárolni és megőrizni.
+
+A fentiekben leírt körülmények és feltételek biztosítása az adatbevitelt végző személy közvetlen felettesének kötelezettsége.
+
+=== 5. Adathelyesbítés, adatváltozás ===
+
+Tekintettel az adatok pontosságának, teljességének, időszerűségének és valódiságának követelményére, az adatbázisban szereplő adatok helyesbítésére, illetve az adatok változásának átvezetésére az adatkezelés időtartama alatt bármikor mód van.
+
+5.1. Az adatok helyesbítése
+
+Az adatok helyesbítése történhet az adatalany kérésére, illetve akkor, ha az adatkezelő hivatalból észleli, hogy az adatbázisban nem valós adat szerepel.
+
+Az adatalany kérésére történő helyesbítés esetén a helytelen adat törlésére és a valós adat bevitelére csak az adatalany írásbeli bejelentése alapján kerülhet sor.
+
+Az adatalany bejelentéséhez köteles csatolni az általa bejegyezni kért adat valódiságát alátámasztó dokumentumot.
+
+Az Intézmény által kezdeményezett adathelyesbítés esetén a valótlan adat törlésére és a valós adat bevitelére csak akkor kerülhet sor, ha a törölni kívánt adat valótlansága minden kétséget kizáró módon megállapítható és a bevinni kívánt adat valódiságát igazoló dokumentum az adatkezelő rendelkezésére áll.
+
+5.2. Az adatok változása
+
+Az adatbázisban szereplő adatok megváltozása esetén a változás tényét és a megváltozott adat pontos tartalmát az osztályfőnökök havonta az Adatváltozás jelentő Lap-on kötelesek írásban bejelenteni tanulmányi csoport részére.
+
+A bejelentés elmulasztásával, kapcsolatos jogkövetkezmények az adatalanyt terhelik.
+
+=== 6. Adatbiztonság ===
+
+A rendszer adatbiztonsági követelményeinek betartásáért az Intézményi Rendszergazda felelős.
+
+Ezen tevékenysége során köteles biztosítani azt, hogy a rendszer az alábbi adatbiztonsági követelményeknek folyamatosan megfeleljen.
+A rendszergazda
+
+ * kizárólagosan engedélyezi bármely személy számára a hozzáférési jogosultságot
+ * gondoskodik a szükséges, rendszeres karbantartásról
+ * gondoskodik arról, hogy az adatbázis-szerver megfelelő fizikai védelemmel ellátott zárt helyiségben kerüljön elhelyezésre
+ * biztosítja, hogy az adatbázis-szerver közvetlen hálózati úton ne legyen elérhető és a rendszer feltörése hálózati hozzáféréssel ne legyen lehetséges
+ * biztosítja, hogy minden felhasználó csak egyéni azonosítás után léphessen a rendszerbe
+ * gondoskodik arról, hogy a legutóbbi adatmódosítás tényét, időpontját és elvégzőjét a rendszer naplózza ( a naplózási bejegyzés rögzítése 3 hónap után törölhető)
+ * biztosítja, hogy az adatokról naponta biztonsági mentés készüljön
+
+=== 7. Hozzáférési jogosultságok ===
+
+7.1. Célhozkötöttség
+
+A Számítógépes Naplóban kezelt személyes adatokhoz való hozzáférés a célhozkötöttség és az önrendelkezés elvén, valamint a hivatkozott jogszabályok rendelkezésein alapul. Minden felhasználó a meghatározott adatkezelési célhoz szükséges mértékben és ideig férhet hozzá a személyes adatokhoz.
+
+Minden adatalany jogosult közvetlen számítógépes hozzáféréssel megismerni a rendszerben kezelt adatainak teljes körét, továbbá felvilágosítást kérni az adatkezelés céljáról, az adatok továbbításáról, az adattovábbítás címzettjéről és időpontjáról, s e joga csak törvényben szabályozott esetekben korlátozható.
+
+Az Intézmény közalkalmazottainak és munkavégzésre irányuló egyéb jogviszonyban foglalkoztatottainak neve, beosztása, feladatköre, illetőleg az általuk oktatott tárgyak az Intézmény honlapján bárki által korlátozás nélkül megismerhetők.
+
+7.2. A hozzáférés gyakorlása
+
+A rendszer felhasználói - jogosultsági szintjük alapján - az egyes adatfajtákhoz csak olvasási, vagy írás és olvasási jogosultsággal férhetnek hozzá.
+
+A megismert adatokról az adott adattal kapcsolatban hozzáférési jogosultsággal rendelkező személy nyomtatványt készíthet.
+
+A nyomtatást végző személy köteles gondoskodni a kinyomtatott adatok célhoz-kötöttségen alapuló felhasználásáról, továbbá arról, hogy a kinyomtatott adatok ne kerülhessenek illetéktelenek tudomására.
+
+A hozzáférési jogosultságok gyakorlása a Számítógépes Naplóban személyre szóló kód és jelszó alkalmazásával történik.
+
+7.3. Személyre szóló jogosultság kérése, megadása
+
+A felhasználók személyre szóló jogosultságukat, illetve személyes kódjukat a tanügyi-koordinációs gyakorlati oktatásvezetőtől kapják.
+
+A tanulók hozzáférési jogosultságának megállapítása, illetve kódjuk generálása adataiknak a rendszerbe való bevitelét követően, külön kérés nélkül történik.
+
+A kódot az Intézmény a tanuló gondviselőjével, illetve nagykorúság esetén a tanulóval írásban közli.
+
+A tanulók kivételével a felhasználók jogosultságuk megadásával egyidejűleg nyilatkozatban vállalják hozzáférési jogosultságuk jogszerű felhasználását. A nyilatkozat szövege a jelen szabályzat Mellékletét képezi.
+
+7.4. Jogosultsági szintek
+
+A számítógépes tanulmányi rendszerben tárolt adatokhoz való hozzáférés az alábbi jogosultsági szintek alapján történik:
+
+7.4.1. Az adatkezelés törvényességéért és a jelen szabályzat betartásáért felelős tanügyi-koordinációs gyakorlati oktatásvezető, valamint a rendszer számítástechnikai üzemeltetését végző Rendszergazda a rendszerben tárolt összes adathoz, írás és olvasási jogosultsággal hozzáférhet, a Rendszergazda azonban e hozzáférési jogosultságát csak a tanügyi-koordinációs gyakorlati oktatásvezető eseti engedélyével használhatja.
+
+7.4.2. Az Intézmény minőségügyi csoportvezetője, tanügyi adminisztrátora olvasási joggal hozzáférhet az összes tanulói adathoz, a tanügyi adminisztrátor írási joggal a beiratkozási adatokhoz.
+
+7.4.3. Az Intézmény igazgatója, igazgatóhelyettesei a felvett tanulók összes adatához olvasási jogosultsággal hozzáférhetnek, a tantárgyi érdemjegyek téves bejegyzéseinek javítására írási jogosultsággal rendelkezek.
+
+7.4.4. Az Intézmény tanárai, oktatói olvasási joggal hozzáférhetnek az összes tanuló adataihoz, írási joggal az általuk oktatott tantárgy érdemjegyeihez, hiányzásaihoz. Tantárgyak felvételére csak az osztályfőnök jogosult. Tantárgyak érdemjegyeinek módosítása csak az igazgatóhelyettesek hozzáférési jogosultságán keresztül lehetséges.
+
+7.4.5. A tanuló és gondviselője olvasási joggal hozzáférhet saját adataihoz, valamint tantárgyi érdemjegyeihez és hiányzásaihoz.
+
+=== 8. Adattovábbítás ===
+
+A számítógépes tanulmányi rendszerből egyedi adatok személyazonosításra alkalmas módon az alábbi adatkezelőknek továbbíthatók:
+
+ * a TB törvény felhatalmazása alapján a társadalombiztosítási jogviszonnyal összefüggő adatok az Országos Egészségbiztosítási Pénztárnak, illetve a Budapesti Társadalombiztosítási Igazgatóságnak;
+ * az SzJA törvény felhatalmazása alapján az adózással összefüggő adatok az APEH Budapesti Igazgatóságának;
+ * a Közoktatási törvény felhatalmazása alapján a tanulók nevét, születési helyét és idejét tartalmazó nyilvántartás adatai az Oktatási Minisztérium nyilvántartása számára;
+ * a normatív finanszírozásához szükséges adatok a fenntartó Fővárosi Önkormányzat számára a Közoktatási törvény felhatalmazása alapján
+ * a diákigazolványról szóló kormányrendelet felhatalmazása alapján a rendeletben megjelölt adatokat a diákigazolvány kibocsátójának,
+
+A rendszerben tárolt adatok statisztikai felhasználás céljára személyazonosításra alkalmatlan módon más adatkezelőnek továbbíthatók.
+
+=== 9. Záró rendelkezések ===
+
+A Számítógépes Napló koordinációjáról, a rendszer működtetésében, fejlesztésében, karbantartásában közreműködő szervezetek munkájának összehangolásáról a tanügyi-koordinációs gyakorlati oktatásvezető, és a minőségügyi csoportvezető gondoskodik.
+
+A Intézményi Rendszergazda gondoskodik a Számítógépes Napló adatvédelmének rendszeres ellenőrzéséről, a műszaki, illetőleg a jogi környezet változásai által szükségessé tett változtatások végrehajtásáról és dokumentálásáról.
+
+=== Melléklet: ===
+
+Adatkezelői nyilatkozat:
+
+A tárolt adatokat a Csepel-Sziget Műszaki Szakközépiskola, Szakiskola és Kollégium az Adatvédelmi Törvény és a Közoktatási Törvény rendelkezései és a "Csepel-Sziget Műszaki Szakközépiskola, Szakiskola és Kollégium Számítógépes Naplójának Adatvédelmi Szabályzata" szerint kezeli.
+
+A jogszabályban foglaltak szerint az adatkezeléssel megbízott személyek csak a munkakörük szerint előírt adatokat kezelhetik. Azt a számítógépet, amelyre a fenti jogosultság érvényes, biztosan zárható helyiségben kell elhelyezni, a számítógépet belépési védelemmel kell ellátni és biztosítani kell, hogy csak a feljogosított személy férhessen hozzá az adatokhoz.
+
+Gondoskodni kell arról, hogy a belépési jelszavak ne kerülhessenek illetéktelen kezekbe. Gondoskodni kell arról, hogy amikor a számítógépen az adatbázissal dolgoznak, illetéktelenek ne olvashassák le a képernyőről az adatokat.
+
+Az adatbázisból nyomtatni csak olyan adatokat szabad, amire a munka végzéséhez közvetlenül szükség van. A kinyomtatott adatokat kizárólag az Intézmény használhatja fel, más intézménynek vagy magánszemélynek továbbadni nem szabad.
+
+Amint az a munkafolyamat befejeződött, amelyhez a nyomtatványra szükség volt, a nyomtatványt meg kell semmisíteni. Bármilyen adat harmadik személynek való átadása csak az Intézmény igazgatójának írásos engedélye alapján lehetséges.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/adatszolgaltatas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/adatszolgaltatas.txt
new file mode 100644
index 00000000..ec754a53
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/adatszolgaltatas.txt
@@ -0,0 +1,64 @@
+====== Adatszolgáltatási kötelezettségek ======
+
+===== Az általános iskolák fele =====
+
+==== 1993. évi LXXIX. törvény a közoktatásról ====
+
+40. § (4) E törvény alapján a közoktatási intézményben a 2. számú
+mellékletben meghatározott adatokat kell nyilvántartani és kezelni.
+
+==== 2. számú melléklet az 1993. évi LXXIX. törvényhez ====
+
+A tanuló fejlődésének nyomon követése
+
+2. A középiskola és a szakiskola minden év október 31-éig értesíti
+az általános iskolát arról, hogy az ott végzett tanulók - a
+középiskola, illetve a szakiskola első két évfolyamán - a tanítási
+év végén milyen tanulmányi eredményt értek el. A középiskola és a
+szakiskola megküldi az általános iskolának a tanuló nevét, oktatási
+azonosítóját, továbbá az elért tanulmányi eredményeket. Az
+általános iskola a megküldött adatokat feldolgozza, és
+személyazonosításra alkalmatlan módon az iskola honlapján, annak
+hiányában a helyben szokásos módon nyilvánosságra kell hozni.
+
+===== Októberi statisztika =====
+
+==== 20/1997. (II. 13.) Korm. rendelet - a közoktatásról szóló 1993. évi LXXIX. törvény végrehajtásáról ====
+
+=== A közoktatási intézmények információs tájékoztató rendszere ===
+
+12/C. § (1) A közoktatási feladatot ellátó intézmény az e rendelet 4. számú mellékletében meghatározottak szerint köteles minden év október 31-éig, illetve adatváltozás esetén a 12/B. § (4) bekezdésében meghatározott adatszolgáltatással egyidejűleg közérdekű információkat szolgáltatni.
+
+(2) A közoktatási feladatot ellátó intézmények információs tájékoztató rendszerének (a továbbiakban: tájékoztató rendszer) alapjául szolgáló adatok begyűjtéséhez szükséges kérdőív elektronikus formában a KIR honlapján érhető el.
+
+(3) Ha a közoktatási feladatot ellátó intézményt törlik a közoktatási intézménytörzsből, a törlés együtt jár a közoktatási feladatot ellátó intézménynek a tájékoztató rendszerből történő törlésével.
+
+(4) Az adatok az internetről letölthetők, illetve - a költségek megtérítése ellenében - jegyzék formájában kinyomtathatók. Az önkormányzati pedagógiai-szakmai szolgáltató intézmények biztosítják, hogy a tájékoztató rendszer közérdekű adatokat tartalmazó adatbázisába bárki ingyenesen betekinthessen.
+
+==== 4. számú melléklet a 20/1997. (II. 13.) Korm. rendelethez ====
+
+A közoktatási intézmények információs tájékoztató rendszerében tárolható adatok köre
+
+A közérdekű adatok nyilvánosságra hozatala - amennyiben egyéb jogszabályok nem tiltják - nem kötött a közoktatási feladatot ellátó intézmények engedélyéhez. A közérdekűnek nem minősített, de a KIR részét képező adatok kizárólag az intézmények vagy érintett személyek beleegyezésével hozhatók nyilvánosságra. A közérdekű adatok kezelését a Közoktatás Információs Rendszere biztosítja. A közérdekű adatok feldolgozásából keletkező adatok, illetve információk szintén közérdekűnek minősülnek.
+
+Közérdekű adatok köre:
+
+ - Intézmények és telephelyeik azonosítására, illetve elérhetőségére vonatkozó adatok.
+ - Intézmények által ellátott közoktatási és egyéb feladatok részletező adatai, illetve a külön jogszabályban meghatározott nyilvántartási és akkreditációs számok.
+ - Intézmények szervezésének formája és módja.
+ - Intézmények alapító okirata és az alapító okirattal összefüggésbe hozható egyéb okiratok.
+ - Intézményfenntartók azonosítására, illetve elérhetőségére vonatkozó adatok.
+ - Intézmények és telephelyek földrajzi elhelyezkedésére vonatkozó és ezzel összefüggésbe hozható adatok.
+ - Intézmények pedagógiai, nevelési, szakmai és egyéb programjaira vonatkozó és ezzel összefüggésbe hozható adatok.
+ - Intézmények tanulmányi, kulturális, sport- és egyéb verseny eredményei.
+ - Vizsgaeredmények statisztikai adatai intézményi bontásban.
+ - Intézmények minőségbiztosítási tevékenységét jellemző és ezzel összefüggésbe hozható adatok.
+ - Intézményekben működő szervezetekre vonatkozó és ezzel összefüggésbe hozható adatok.
+ - Humán erőforrásokra vonatkozó és ezzel összefüggésbe hozható adatok.
+ - Tárgyi erőforrásokra vonatkozó és ezzel összefüggésbe hozható adatok.
+ - Gyermekre, illetve tanulókra vonatkozó létszám és ezzel összefüggésbe hozható egyéb adatok.
+ - Gyermek- és diákjóléti adatok.
+ - Beiskolázásra, illetve továbbtanulásra vonatkozó és ezzel összefüggésbe hozható statisztikai adatok.
+ - Tankönyvkiadókra, tankönyvjegyzékre, intézményekben használt tankönyvekre, illetve taneszközökre vonatkozó adatok.
+ - Szakértői, vizsgáztatói és egyéb névjegyzékek, valamint ezekkel összefüggésbe hozható adatok.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/adatvedelem.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/adatvedelem.txt
new file mode 100644
index 00000000..c31db424
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/adatvedelem.txt
@@ -0,0 +1,174 @@
+====== A közoktatási intézményekben nyilvántartott és kezelt személyes és különleges adatok ======
+
+2. számú melléklet az 1993. évi LXXIX. törvényhez (A törvény 40. §-ához)
+
+===== Az alkalmazottak adatai =====
+
+1. E törvény alapján nyilvántartott adatok:
+
+a) név, születési hely és idő, állampolgárság;
+
+b) lakóhely, tartózkodási hely, telefonszám, azonosító szám;
+
+c) munkaviszonyra, közalkalmazotti jogviszonyra vonatkozó adatok
+
+- iskolai végzettség, szakképesítés, alkalmazási feltételek igazolása,
+
+- munkában töltött idő, közalkalmazotti jogviszonyba beszámítható idő, besorolással kapcsolatos adatok,
+
+- alkalmazott által kapott kitüntetések, díjak és más elismerések, címek,
+
+- munkakör, munkakörbe nem tartozó feladatra történő megbízás, munkavégzésre irányuló további jogviszony, fegyelmi büntetés, kártérítésre kötelezés,
+
+- munkavégzés ideje, túlmunka ideje, munkabér, illetmény, továbbá az azokat terhelő tartozás és annak jogosultja,
+
+- szabadság, kiadott szabadság,
+
+- alkalmazott részére történő kifizetések és azok jogcímei,
+
+- az alkalmazott részére adott juttatások és azok jogcímei,
+
+- az alkalmazott munkáltatóval szemben fennálló tartozásai, azok jogcímei,
+
+- a többi adat az érintett hozzájárulásával.
+
+2. Az 1. pontban felsorolt adatokat a magasabb vezető tekintetében a munkáltatói jog gyakorlója kezeli.
+
+3. Az 1. pontban felsorolt adatok továbbíthatók a fenntartónak, a kifizetőhelynek, bíróságnak, rendőrségnek, ügyészségnek, helyi önkormányzatnak, közigazgatási szervnek, a munkavégzésre vonatkozó rendelkezések ellenőrzésére jogosultaknak, a nemzetbiztonsági szolgálatnak.
+
+===== A gyermekek, tanulók adatai =====
+
+1. E törvény alapján nyilvántartott adatok:
+
+a) gyermek, tanuló neve, születési helye és ideje, állampolgársága, lakóhelyének, tartózkodási helyének címe, telefonszáma, nem magyar állampolgár esetén a Magyar Köztársaság területén való tartózkodás jogcíme és a tartózkodásra jogosító okirat megnevezése, száma;
+
+b) szülő neve, lakóhelye, tartózkodási helye, telefonszáma;
+
+c) a gyermek óvodai fejlődésével kapcsolatos adatok;
+
+d) a tanulói jogviszonnyal kapcsolatos adatok
+
+- felvételivel kapcsolatos adatok,
+
+- a tanuló magatartásának, szorgalmának és tudásának értékelése és minősítése, vizsgaadatok,
+
+- a tanulói fegyelmi és kártérítési ügyekkel kapcsolatos adatok,
+
+- a sajátos nevelési igényre vonatkozó adatok,
+
+- beilleszkedési, tanulási, magatartási nehézséggel küzdő gyermek, tanuló rendellenességére vonatkozó adatok,
+
+- a tanuló- és gyermekbalesetre vonatkozó adatok,
+
+- a tanuló diákigazolványának sorszáma,
+
+- a tanuló azonosító száma,
+
+- a tankönyvellátással kapcsolatos adatok,
+
+- a többi adat az érintett hozzájárulásával.
+
+2. Az adatok - az e törvényben meghatározott célból, a személyes adatok védelmére vonatkozó célhoz kötöttség megtartásával - továbbíthatók
+
+- fenntartó, bíróság, rendőrség, ügyészség, önkormányzat, közigazgatási szerv, nemzetbiztonsági szolgálat részére valamennyi adat,
+
+- sajátos nevelési igényre, a beilleszkedési zavarra, tanulási nehézségre, magatartási rendellenességre vonatkozó adatok a pedagógiai szakszolgálat intézményeitől a nevelési-oktatási intézménynek, illetve vissza,
+
+- az óvodai fejlődéssel, iskolába lépéshez szükséges fejlettséggel kapcsolatos adatok a szülőnek, a pedagógiai szakszolgálat intézményeinek, az iskolának,
+
+- a magatartás, szorgalom és tudás értékelésével kapcsolatos adatok az érintett osztályon belül, a nevelőtestületen belül, a szülőnek, a vizsgabizottságnak, a gyakorlati képzés szervezőjének, a tanulószerződés kötőjének, illetve, ha az értékelés nem az iskolában történik, az iskolának, iskolaváltás esetén az új iskolának, a szakmai ellenőrzés végzőjének,
+
+- a diákigazolvány - jogszabályban meghatározott - kezelője részére a diákigazolvány kiállításához szükséges valamennyi adat,
+
+- a gyermek óvodai felvételével, átvételével kapcsolatosan az érintett óvodához, iskolai felvételével, átvételével kapcsolatosan az érintett iskolához, felsőoktatási intézménybe történő felvétellel kapcsolatosan az érintett felsőoktatási intézményhez és vissza,
+
+- az egészségügyi, iskola-egészségügyi feladatot ellátó intézménynek a gyermek, tanuló egészségügyi állapotának megállapítása céljából,
+
+- a családvédelemmel foglalkozó intézménynek, szervezetnek, gyermek- és ifjúságvédelemmel foglalkozó szervezetnek, intézménynek a gyermek, tanuló veszélyeztetettségének feltárása, megszüntetése céljából,
+
+- az állami vizsgák alapján kiadott bizonyítványokat nyilvántartó szervezetnek a bizonyítványok nyilvántartása céljából, továbbá a nyilvántartó szervezettől a felsőfokú felvételi kérelmeket nyilvántartó szervezethez,
+
+- a tankönyvforgalmazókhoz, a külön törvényben meghatározott körben és célból.
+
+3. A nevelési-oktatási intézmény nyilvántartja azokat az adatokat, amelyek a jogszabályokban biztosított kedvezményekre való igényjogosultság elbírálásához és igazolásához szükségesek. E célból azok az adatok kezelhetők, amelyekből megállapítható a jogosult személye és a kedvezményre való jogosultsága.
+
+===== Adatkezelés a közoktatási intézményekben =====
+
+1. A pedagógust, a nevelő és oktató munkát közvetlenül segítő alkalmazottat, továbbá azt, aki közreműködik a gyermek, tanuló felügyeletének az ellátásában (a továbbiakban e rendelkezések alkalmazásában együtt: pedagógus) hivatásánál fogva harmadik személyekkel szemben titoktartási kötelezettség terheli a gyermekkel, a tanulóval és családjával kapcsolatos minden olyan tényt, adatot, információt illetően, amelyről a gyermekkel, tanulóval, szülővel való kapcsolattartás során szerzett tudomást. E kötelezettség független a foglalkoztatási jogviszony fennállásától, és annak megszűnése után, határidő nélkül fennmarad. A gyermek, illetve a kiskorú tanuló szülőjével minden, a gyermekével összefüggő adat közölhető, kivéve, ha az adat közlése súlyosan sértené vagy veszélyeztetné a gyermek, tanuló érdekét. Az adat közlése akkor sérti vagy veszélyezteti súlyosan a gyermek, tanuló érdekét, ha olyan körülményre (magatartásra, mulasztásra, állapotra) vonatkozik, amely a gyermek, tanuló testi, értelmi, érzelmi vagy erkölcsi fejlődését gátolja vagy akadályozza, és amelynek bekövetkezése szülői magatartásra, közrehatásra vezethető vissza. A nagykorú tanuló szülőjével az e törvény 11. §-ának (6) bekezdésében meghatározott adat közölhető. A titoktartási kötelezettség nem terjed ki a nevelőtestületi értekezleten a nevelőtestület tagjainak egymásközti, a gyermek, a tanuló fejlődésével, értékelésével, minősítésével összefüggő megbeszélésre. A titoktartási kötelezettség kiterjed mindazokra, akik részt vettek a nevelőtestület ülésén. A titoktartási kötelezettség alól kiskorú esetén a szülő, nagykorú tanuló esetén a tanuló írásban felmentést adhat.
+
+2. Az 1. pontban meghatározott titoktartási kötelezettség nem vonatkozik a gyermekek, tanulók adatainak az e törvény 2. számú mellékletében meghatározott nyilvántartására és továbbítására. A közoktatási intézmény a gyermekek, tanulók személyes adatait pedagógiai célból, pedagógiai célú habilitációs és rehabilitációs feladatok ellátása céljából, gyermek- és ifjúságvédelmi célból, iskola-egészségügyi célból, az e törvényben meghatározott nyilvántartások céljából, a célnak megfelelő mértékben, célhoz kötötten kezelhetik. Az e törvényben meghatározottakon túlmenően a közoktatási intézmény a gyermekkel, tanulóval kapcsolatban adatokat nem közölhet.
+
+3. A pedagógus, illetve a nevelő és oktató munkát segítő alkalmazott az óvoda vezetője, az iskola, kollégium igazgatója (vezetője) útján - a gyermekek védelméről és a gyámügyi igazgatásról szóló törvény 17. §-ára is tekintettel - köteles az illetékes gyermekjóléti szolgálatot haladéktalanul értesíteni, ha megítélése szerint a gyermek, a kiskorú tanuló - más vagy saját magatartása miatt - súlyos veszélyhelyzetbe kerülhet vagy került. Ebben a helyzetben az adattovábbításhoz az érintett, illetve az adattal kapcsolatosan egyébként rendelkezésre jogosult beleegyezése nem szükséges.
+
+4. A közoktatási intézmények az alkalmazottak személyes adatait csak a foglalkoztatással, juttatások, kedvezmények, kötelezettségek megállapításával és teljesítésével, állampolgári jogok és kötelezettségek teljesítésével kapcsolatosan, nemzetbiztonsági okokból, az e törvényben meghatározott nyilvántartások kezelése céljából, a célnak megfelelő mértékben, célhoz kötötten kezelhetik.
+
+5. Adattovábbításra a közoktatási intézmény vezetője és - a meghatalmazás keretei között - az általa meghatalmazott vezető vagy más alkalmazott jogosult.
+
+6. Az iratkezelési szabályzatban, ha ilyen készítése nem kötelező, a közoktatási intézmény szervezeti és működési szabályzatának mellékleteként kiadott adatkezelési szabályzatban kell meghatározni az adatkezelés és -továbbítás intézményi rendjét. Az adatkezelés időtartama nem haladhatja meg az irattári őrzési időt. Az adatkezelési szabályzat elkészítésénél, illetve módosításánál nevelési-oktatási intézményben a szülői szervezetet (közösséget) és az iskolai, kollégiumi diákönkormányzatot egyetértési jog illeti meg.
+
+7. Önkéntes adatszolgáltatás esetén a tanulót, kiskorú tanuló esetén a szülőt is tájékoztatni kell arról, hogy az adatszolgáltatásban való részvétel nem kötelező. Kiskorú tanulónak az önkéntes adatszolgáltatásba történő bevonásához be kell szerezni a szülő engedélyét.
+
+===== Az adatok statisztikai célú felhasználása =====
+
+A mellékletben felsorolt adatok statisztikai célra felhasználhatók, és statisztikai felhasználás céljára személyazonosításra alkalmatlan módon átadhatók.
+
+
+====== Számítástechnikai rendszer és adatok elleni bűncselekmény ======
+
+===== 1978. évi IV. törvény 300/C. § =====
+
+(1) Aki számítástechnikai rendszerbe a számítástechnikai rendszer védelmét szolgáló intézkedés megsértésével vagy kijátszásával jogosulatlanul belép, vagy a belépési jogosultsága kereteit túllépve, illetőleg azt megsértve bent marad, vétséget követ el, és egy évig terjedő szabadságvesztéssel, közérdekű munkával vagy pénzbüntetéssel büntetendő.
+
+(2) Aki
+
+a) számítástechnikai rendszerben tárolt, feldolgozott, kezelt vagy továbbított adatot jogosulatlanul megváltoztat, töröl vagy hozzáférhetetlenné tesz,
+
+b) adat bevitelével, továbbításával, megváltoztatásával, törlésével, illetőleg egyéb művelet végzésével a számítástechnikai rendszer működését jogosulatlanul akadályozza, vétséget követ el, és két évig terjedő szabadságvesztéssel, közérdekű munkával vagy pénzbüntetéssel büntetendő.
+
+(3) Aki jogtalan haszonszerzés végett
+
+a) a számítástechnikai rendszerbe adatot bevisz, az abban tárolt, feldolgozott, kezelt vagy továbbított adatot megváltoztat, töröl vagy hozzáférhetetlenné tesz, vagy
+
+b) adat bevitelével, továbbításával, megváltoztatásával, törlésével, illetőleg egyéb művelet végzésével a számítástechnikai rendszer működését akadályozza,
+
+és ezzel kárt okoz, bűntettet követ el, és három évig terjedő szabadságvesztéssel büntetendő.
+
+(4) A (3) bekezdésben meghatározott bűncselekmény büntetése
+
+a) egy évtől öt évig terjedő szabadságvesztés, ha a bűncselekmény jelentős kárt okoz,
+
+b) két évtől nyolc évig terjedő szabadságvesztés, ha a bűncselekmény különösen nagy kárt okoz,
+
+c) öt évtől tíz évig terjedő szabadságvesztés, ha a bűncselekmény különösen jelentős kárt okoz.
+
+----
+A bűncselekmény a jogosulatlan belépéssel illetve bennmaradással már akkor is befejezetté válik, ha az elkövető a számítástechnikai rendszerben tárolt vagy feldolgozott adatokban nem végez változtatást, vagy nem törli azokat. A bűncselekmény elkövetője bárki lehet, bennmaradás esetén természetesen az a személy is, aki egyébként jogszerűen lépett be a rendszerbe.
+
+====== Számítástechnikai rendszer védelmét biztosító technikai intézkedés kijátszása ======
+
+===== 1978. évi IV. törvény 300/E. § =====
+
+(1) Aki a 300/C. §-ban meghatározott bűncselekmény elkövetése céljából, az ehhez szükséges vagy ezt könnyítő számítástechnikai programot, jelszót, belépési kódot, vagy számítástechnikai rendszerbe való belépést lehetővé tevő adatot
+
+a) készít,
+
+b) megszerez,
+
+c) forgalomba hoz, azzal kereskedik, vagy más módon hozzáférhetővé tesz,
+
+vétséget követ el, és két évig terjedő szabadságvesztéssel, közérdekű munkával vagy pénzbüntetéssel büntetendő.
+
+(2) Az (1) bekezdés szerint büntetendő, aki a 300/C. §-ban meghatározott bűncselekmény elkövetése céljából az ehhez szükséges vagy ezt könnyítő, számítástechnikai program, jelszó, belépési kód, vagy valamely számítástechnikai rendszerbe való belépést lehetővé tevő adat készítésére vonatkozó gazdasági, műszaki, szervezési ismereteit másnak a rendelkezésére bocsátja.
+
+(3) Nem büntethető az (1) bekezdés a) pontja esetén, aki - mielőtt a bűncselekmény elkövetéséhez szükséges vagy ezt megkönnyítő számítástechnikai program, jelszó, belépési kód, vagy valamely számítástechnikai rendszer egészébe vagy egy részébe való belépést lehetővé tevő adat készítése a hatóság tudomására jutott volna - tevékenységét a hatóság előtt felfedi, és az elkészített dolgot a hatóságnak átadja, valamint lehetővé teszi a készítésben részt vevő más személy kilétének megállapítását.
+
+----
+
+A bűncselekmény védett jogi tárgya a számítástechnikai rendszerek megfelelő működéséhez és a ben­nük tárolt adatok megbízhatóságához, titok­ban maradásához fűződő érdek. A bűncselekményt 2002-től az Európa Tanács Informatikai bűnözésről szóló Egyezménye (Convention on Cyber­crime) hatására léptették életbe 2002. április 1. napjától.
+
+====== Hivatkozás ======
+
+ * [[http://www.magyarorszag.hu/allampolgar/ugyek/buncsjogorv/gazdbuncsel20050728/szamtechell20070913.html/ugyleirasjogi]]
+ * [[http://net.jogtar.hu/jr/gen/getdoc2.cgi?dbnum=1&docid=97800004.TV&cel=P(300/C)B(1)#xcel]]
+ * [[http://www.fogorvostudakozo.hu/index.php?menu=adatvedelem]]
+ * [[http://abiweb.obh.hu/abi/index.php?menu=beszamolok/2003/M/4/1&dok=665_A_2003|Állásfoglalás: az önkormányzat semmiféle ellenőrzés lefolytatása céljából sem kezelheti az iskola által nyilvántartott teljes adatkört, mert erre csak célhoz kötötten kerülhet sor]]
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/bizonyitvany.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/bizonyitvany.txt
new file mode 100644
index 00000000..7a87527b
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/bizonyitvany.txt
@@ -0,0 +1,18 @@
+
+====== 11/1994. (VI. 8.) MKM rendelet a nevelési-oktatási intézmények működéséről ======
+
+A bizonyítvány
+
+7. a) A közoktatásban a tanuló által elvégzett évfolyamokról kiállított év végi bizonyítványokat egy bizonyítványkönyvbe (a továbbiakban együtt: bizonyítvány) kell bevezetni, függetlenül attól, hogy a tanuló hányszor változtatott iskolát, iskolatípust. Az egyes évfolyamokról a bizonyítványt a törzslap alapján kell kiállítani. A tanuló által elvégzett évfolyamokról év végi bizonyítványt kell kiállítani. A bizonyítványban fel kell tüntetni az iskola OM azonosítóját és a tanuló azonosító számát. A bizonyítványban, záradék formájában, fel kell tüntetni az érettségi vizsga, a szakmai vizsga, a művészeti alapvizsga és záróvizsga letételét.
+
+b) Az elveszett vagy megsemmisült bizonyítványról - kérelemre - a törzslap (póttörzslap) alapján másodlat állítható ki. A másodlatért a külön jogszabályban meghatározottak szerint illetéket kell leróni.
+
+c) Törzslap (póttörzslap) hiányában az iskolában meglévő nyilvántartások alapján - kérelemre - pótbizonyítvány állítható ki. A pótbizonyítvány azt tanúsítja, hogy a tanuló melyik évfolyamot, mikor végezte el.
+
+d) Ha az iskolában minden nyilvántartás megsemmisült, a pótbizonyítványban csak azt lehet feltüntetni, hogy az abban megjelölt személy az iskola tanulója volt. Ilyen tartamú pótbizonyítvány akkor állítható ki, ha a volt tanuló
+
+- írásban nyilatkozik arról, hogy a megjelölt tanévben az iskola mely évfolyamán tanult, és
+
+- nyilatkozatához csatolja volt tanárának vagy két évfolyamtársának igazolását.
+
+e) A tanár nyilatkozata akkor fogadható el, ha a jelzett időszakban az iskolában tanított. A volt évfolyamtársaknak be kell mutatniuk bizonyítványukat.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/elszamolas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/elszamolas.txt
new file mode 100644
index 00000000..c794d436
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/elszamolas.txt
@@ -0,0 +1,30 @@
+
+====== Kéthavi elszámolás ======
+
+Közoktatási tv. Harmadik rész II.
+
+6. A pedagógus kötelező óráját az óvodában a gyermekekkel való közvetlen, a teljes óvodai életet magában foglaló foglalkozásra (óvodai foglalkozások), az iskolában és a kollégiumban a tanulókkal való közvetlen foglalkozásra (kötelező és nem kötelező tanórai foglalkozás, egyéni foglalkozás), kollégiumi foglalkozásra, napközis és tanulószobai foglalkozásra kell fordítani. A gyakorlati oktatásvezető és a gyakorlati oktatásvezető-helyettes a kötelező órája keretében ellátja a tanulók gyakorlati és elméleti képzését. A tanulókkal való közvetlen foglalkozás körébe tartozik az osztály közösségi programjainak és a tanulókkal való egyéni törődés feladatainak [52. § (7) bekezdés] megtartása, azoknak a szakköröknek, érdeklődési köröknek, önképző köröknek, tanulmányi, szakmai és kulturális versenyeknek, házi bajnokságoknak, iskolák közötti versenyeknek, továbbá más tanórán kívüli foglalkozásoknak [53. § (2) bekezdés b)-d) pontja] megtartása, amelyeket az iskolai nem kötelező tanórai foglalkozás időkeretének terhére szerveznek, kollégiumban a szabadidő eltöltését szolgáló és az egyéni törődést biztosító foglalkozások [53. § (7) bekezdés] megtartása. A pedagógus-munkakörben foglalkoztatottak munkáját – a munkaidőkeretre vonatkozó rendelkezések [Mt. 118/A. §] alapulvételével – oly módon kell megszervezni, hogy a pedagógus a heti kötelező óraszáma egy tanítási évre jutó időkeretét teljesíteni tudja. Ehhez a munkáltató a pedagógus-munkakörben foglalkoztatottak munkáját legalább kéthavi tanítási időkeret kialakításával szervezi meg. A tanítási időkeretet a következők szerint kell megállapítani: a két hónapra jutó tanítási napok számát meg kell szorozni a pedagógus-munkakörre megállapított heti kötelező óraszám egy ötödével. A tanítási időkeretet az adott tanítási napra a pedagógus kötelező órájának terhére tervezett órák számának megfelelően csökkenteni kell minden olyan kieső tanítási nap után, amely az Mt. 151. §-ának (2) bekezdésében megjelölt távollét napjaira, a keresőképtelenség időtartamára esik. A nevelési-oktatási intézmény vezetője a fenntartó egyetértésével meghatározhatja azokat a távolléteket, amelyekkel a tanítási időkeretet csökkenteni lehet. A tanítási időkeret teljesítésénél a ténylegesen megtartott, továbbá a pedagógus heti kötelező órájának teljesítésébe beszámítható órák vehetők figyelembe. A rendes munkaidőn belül végzett tanításért óradíj a tanítási időkereten felül teljesített többlettanításért állapítható meg.
+
+----
+
+tm = (tto+tkf+ef+kno+eo)-tik
+tkf: tanórán kívüli foglalkozás
+tanítási időkeret = tik
+ténylegesen teljesített tanítási óra = tto
+tanórán kívüli foglalkozás = tkf
+egyéni foglalkozás = ef
+kieső napok miatt levonható órák = kno
+egyéni órakedvezmény = eo
+teljesítménymutató = tm
+
+
+----
+
+Munka Törvénykönyvéről szóló 1992. évi XXII. törvény (Mt.)
+a 117/B. § (1) bekezdésében foglaltak szerint a teljes munkaidő mértéke napi nyolc, heti negyven óra,
+140/A. §-a előírja a rendes és rendkívüli munkaidő nyilvántartását.
+
+----
+
+Miután megállapították a tanítási időkeret teljesítését, át kell térni a heti teljes munkaidő teljesítésének vizsgálatához: meg kell nézni, túllépte-e a pedagógus a napi nyolc, heti 40 órát. A napi tizenkettő, heti negyvennyolc órás munkaidő-korlátozás semmilyen indokkal nem léphető túl! A heti teljes munkaidő túllépése esetén a Munka Törvénykönyve rendkívüli munka díjazásának szabályait tartalmazó 147. §-ának rendelkezései lépnek életbe (lásd még: Kt. 1. sz. melléklet Harmadik rész II/18. pont).
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/ertekeles.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/ertekeles.txt
new file mode 100644
index 00000000..6ccf4c51
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/ertekeles.txt
@@ -0,0 +1,48 @@
+
+====== Osztályozás ======
+
+==== A pedagógus jog és kötelessége az értékelés ====
+
+(1993. évi LXXIX. törvény a közoktatásról):
+
+19. § (1) A pedagógust munkakörével összefüggésben megilleti az a jog, hogy
+
+e) irányítsa és értékelje a gyermekek, tanulók munkáját,
+
+f) minősítse a tanulók teljesítményét,
+
+
+70. §
+
+(1) A pedagógus - a (3) bekezdésben meghatározott kivétellel - a tanuló teljesítményét, előmenetelét tanítási év közben rendszeresen érdemjeggyel értékeli, félévkor és a tanítási év végén osztályzattal minősíti. A tanuló magatartásának és szorgalmának értékelését és minősítését az osztályfőnök - az osztályban tanító pedagógusok véleményének kikérésével - végzi. Az érdemjegyekről a tanulót és a kiskorú tanuló szülőjét rendszeresen értesíteni kell. A félévi és az év végi osztályzatot az érdemjegyek alapján kell meghatározni. Az osztályzatról a tanulót és a kiskorú szülőjét értesíteni kell. Az érdemjegy, illetőleg az osztályzat megállapítása a tanuló teljesítményének, szorgalmának értékelésekor, minősítésekor nem lehet fegyelmezési eszköz.
+
+
+==== Az értékelés formája: osztályzatok, érdemjegyek ====
+
+70. §
+
+(2) Az érdemjegyek és osztályzatok - a (3) bekezdésben meghatározott kivétellel - a következők:
+
+a) a tanuló tudásának értékelésénél és minősítésénél jeles (5), jó (4), közepes (3), elégséges (2), elégtelen (1);
+
+b) a tanuló magatartásának értékelésénél és minősítésénél példás (5), jó (4), változó (3), rossz (2);
+
+c) a tanuló szorgalmának értékelésénél és minősítésénél példás (5), jó (4), változó (3), hanyag (2).
+
+(3) Az első-harmadik évfolyamon - félévkor és év végén, továbbá a negyedik évfolyamon félévkor - szöveges minősítéssel kell kifejezni, hogy a tanuló kiválóan, jól vagy megfelelően teljesített, illetve felzárkóztatásra szorul. Ha a tanuló „felzárkóztatásra szorul” minősítést kap, az iskolának a szülő bevonásával értékelni kell a tanuló teljesítményét, fel kell tárni a tanuló fejlődését, haladását akadályozó tényezőket, és javaslatot kell tenni az azok megszüntetéséhez szükséges intézkedésekre. Az iskola pedagógiai programja, az évközi érdemjegyek, a félévi és az év végi osztályzatok helyett a tanuló teljesítményének, szorgalmának, magatartásának értékelésére, minősítésére a (2) bekezdésben meghatározottaktól eltérő jelölés, illetőleg szöveges értékelés alkalmazását is előírhatja. Ha az iskola nem alkalmazza az (1)-(2) bekezdésben meghatározottakat, de arra iskolaváltás vagy továbbtanulás miatt szükség van, köteles a félévi és az év végi minősítést osztályzattal is elvégezni. Az iskola által alkalmazott jelölés, értékelés érdemjegyre, osztályzatra való átváltásának szabályait a helyi tantervben kell meghatározni. Az iskola pedagógiai programja meghatározhatja azokat a tananyagokat, tantárgyakat, amelyekből a tanuló teljesítményét, előmenetelét nem kell értékelni, illetve minősíteni, továbbá eltekinthet a magatartás és szorgalom értékelésétől és minősítésétől. Nem mellőzhető azonban a tanuló teljesítményének, előmenetelének értékelése és minősítése azokból a tantárgyakból, amelyek követelményeiből állami vizsgát kell, illetve lehet tenni. A szakiskola pedagógiai programjában kell meghatározni, hogy a szakmai előkészítő és szakmai alapozó oktatás, illetve a szakközépiskola pedagógiai programjában kell meghatározni, hogy a szakmai orientáció és a szakmacsoportos alapozó oktatás keretében elsajátított ismereteket hány tantárgy keretei között értékelik és minősítik, továbbá moduláris oktatás esetén az egyes modulok értékelését és minősítését.
+
+(4) Az egyes tanulók év végi osztályzatát a nevelőtestület osztályozó értekezleten áttekinti, és a pedagógus, illetve az osztályfőnök által megállapított osztályzatok alapján dönt a tanuló magasabb évfolyamba lépéséről. Abban az esetben, ha az év végi osztályzat a tanuló hátrányára lényegesen eltér a tanítási év közben adott érdemjegyek átlagától, a nevelőtestület felhívja az érdekelt pedagógust, hogy adjon tájékoztatást ennek okáról, és indokolt esetben változtassa meg döntését. Ha a pedagógus nem változtatja meg döntését, és a nevelőtestület ennek indokaival nem ért egyet, az osztályzatot az évközi érdemjegyek alapján a tanuló javára módosítja.
+
+(5) A tanuló értékelésekor, minősítésekor az (1) és (4) bekezdésben meghatározottakat - az érdemjegy és az osztályzat alkalmazására vonatkozó rendelkezések kivételével - akkor is alkalmazni kell, ha az iskola nem használja az érdemjegy, illetőleg az osztályzat megjelölést.
+
+(6) Ha a tanuló gyakorlati képzését nem az iskola tartja, a gyakorlati képzés keretében végzett tevékenységével összefüggésben teljesítményét, magatartását és szorgalmát a gyakorlati képzés szervezője értékeli a (2) bekezdésében foglaltak szerint. A tanuló félévi és év végi osztályzatát - a gyakorlati képzés szervezőjének értékelése alapján - a nevelőtestület állapítja meg, és dönt a tanuló magasabb évfolyamba lépéséről, szakmai vizsgára bocsátásáról. Ha az iskola modulzáró vizsgát szervez, a tanuló félévi és év végi osztályzatát a gyakorlati képzés szervezőjének értékelése és a modulzáró vizsga eredménye alapján kell megállapítani. Az (1) és (4) bekezdésben foglaltakat a nem iskolai gyakorlati képzésben részt vevő tanuló tekintetében is alkalmazni kell.
+
+(7) Az első évfolyamra felvett tanulót, ha egyéni adottsága, fejlettsége szükségessé teszi - jogszabályban meghatározott munkamegosztás szerint, a szakértői és rehabilitációs bizottság vagy a nevelési tanácsadó szakértői véleménye alapján - az igazgató mentesíti az értékelés és minősítés alól, vagy részére az egyéni adottságához, fejlettségéhez igazodó továbbhaladást (a továbbiakban: egyéni továbbhaladás) engedélyez.
+
+(8) Ha a tanulót mentesítették az értékelés és minősítés alól, az első évfolyamot a többi tanulóval azonos osztályban előkészítő évfolyamként végzi és fejezi be. Az előkészítő évfolyam során a tanuló játékos felkészítés keretében készül az iskolai követelmények teljesítésére. Az előkészítő évfolyam megszervezhető a délelőtti napközis foglalkozások keretében is. Előkészítő évfolyamra a tanuló csak egy tanéven keresztül járhat, és csak abban az esetben, ha tanulmányait legkésőbb a hetedik életévében megkezdte.
+
+(9) Egyéni továbbhaladás esetén - a (7) bekezdésben meghatározott szakértői vélemény alapján - az engedélyben meg kell határozni, melyik tárgyból, melyik évfolyam utolsó tanítási napjáig kell a tanulónak utolérnie a többieket. Az egyéni továbbhaladás - valamennyi vagy egyes tantárgyakból - különböző évfolyamokig, de legkésőbb a negyedik évfolyam végéig tarthat.
+
+(10) Az előkészítő év - a (7) bekezdésben meghatározott szakértői vélemény alapján - az első félévet követő hónap utolsó tanítási napjáig átváltoztatható egyéni továbbhaladásra.
+
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/evismetles.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/evismetles.txt
new file mode 100644
index 00000000..f5039d48
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/evismetles.txt
@@ -0,0 +1,10 @@
+
+====== 11/1994. (VI. 8.) MKM rendelet - a nevelési-oktatási intézmények működéséről ======
+
+27. § (1) Ha a tanuló nem teljesítette az évfolyamra előírt tanulmányi követelményeket, tanulmányait - az első-harmadik évfolyam kivételével - az évfolyam megismétlésével folytathatja. Az évfolyam megismétlésével folytathatja tanulmányait az a tanuló is, akit fegyelmi büntetésként az adott iskolában eltiltottak a tanév folytatásától.
+
+(2) Ha a tanuló a következő tanév kezdetéig azért nem tett eleget a tanulmányi követelményeknek, mert az előírt vizsga letételére a nevelőtestülettől halasztást kapott, az engedélyezett határidő lejártáig tanulmányait felsőbb évfolyamon folytathatja.
+
+(3) Egyéni továbbhaladás esetén, amennyiben a tanuló a negyedik évfolyam végéig nem teljesíti a helyi tantervben meghatározott tanulmányi követelményeket, a negyedik évfolyam megismétlésével folytathatja tanulmányait.
+
+(4) Az évfolyam megismétlése - a közoktatási törvény 75. §-ának (2) bekezdésében meghatározott kivétellel - nem tagadható meg abban az iskolában, amellyel a tanuló tanulói jogviszonyban áll. Ha az iskolában nem indul olyan követelmények szerint tanuló osztály, amelyben a tanulót évfolyamismétlésre utasították, a tanuló tanulmányait az új követelmények szerinti osztályban is folytathatja. A tanuló kérésére az iskola igazgatója köteles segítséget nyújtani ahhoz, hogy a tanuló a megkezdett tanulmányait másik iskolában folytathassa. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/fejlesztes.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/fejlesztes.txt
new file mode 100644
index 00000000..901f0d64
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/fejlesztes.txt
@@ -0,0 +1,119 @@
+Forrás: [[http://fejlesztok.hu/segedletek/fejlesztesi-terv/330-egyeni-fejlesztesi-terv-keszitesehez-szukseges-adatok.html]]
+
+====== Egyéni fejlesztési terv ======
+
+===== 1. A sajátos nevelési igény meghatározása a közoktatási törvény 121. §-ában =====
+
+
+29. sajátos nevelési igényű gyermek, tanuló: az a gyermek, tanuló, aki a szakértői és rehabilitációs bizottság szakvéleménye alapján
+a) testi, érzékszervi, értelmi, beszédfogyatékos, autista, több fogyatékosság együttes előfordulása esetén halmozottan fogyatékos,
+b) pszichés fejlődés zavarai miatt a nevelési, tanulási folyamatban tartósan és súlyosan akadályozott (pl. dyslexia, dysgraphia, dyscalculia, mutizmus, kóros hyperkinetikus vagy kóros aktivitászavar).
+Nagyon sok esetben az óvodai élet folyamán nem lehet észlelni a problémát, csak később az iskolában derül fény arra, hogy a gyermek nem tudja tartani a tempót a számolás vagy az olvasás, írás elsajátításakor. A szakértői vizsgálat alkalmával részképességzavar, vagyis a pszichés fejlődés zavara diagnosztizálható (pl. diszlexia, diszgráfia, diszkalkulia). A gyermek hátrányai gyakran behozhatatlanná válnak, nem tud teljesíteni értelmi képességeinek megfelelően, pedig ép intellektusú tanuló, mégis SNI.
+Ahhoz, hogy a gyógypedagógus ki tudja dolgozni a tanuló egyéni fejlesztési tervét, ismernie kell a BNO-kódokat, amelyekből egyértelműen kiderül, hogy milyen terápiát kell alkalmaznia (a betegségek és az egészséggel kapcsolatos problémák nemzetközi statisztikai osztályozása).
+
+
+===== 2. A pszichés fejlődés zavara =====
+
+Általános és specifikus tanulási zavarok (részképesség zavarok)
+Olvasás-, írászavarok BNO: F.81.0; F.81.1
+(felszíni, fonológiai, kevert diszlexia)
+Aritmetikai készségek zavara BNO: F.81.2
+(grafikus, olvasási, emlékezeti, gondolkodási diszkalkulia)
+Az iskolai készségek kevert zavara BNO: F.81.3
+(aritmetikai, olvasási, íráskészségzavar együttes előfordulása)
+Nem meghatározott zavar BNO: F.81.9
+(tanulási ismeretek elsajátítási nehézsége)
+Kevert specifikus fejlődési zavarok BNO: F.83
+(a beszéd, a nyelv, az iskolai készségek és a motoros funkciók kombinált fejlődési zavara)
+Beszédészlelési és beszédmegértési folyamat elmaradása BNO: F.80.9
+Motoros diszfázia BNO: F.80.1
+Az aktivitásszabályozás és a figyelem zavarai
+szociális készségek éretlensége, zavart viselkedés,
+impulzivitás: BNO: F.90.0, F.90.1
+
+===== 3. Hogyan álljunk neki az egyéni fejlesztési terv készítésének? =====
+
+1. Állapítsuk meg, mi okoz nehézséget a gyereknek. Például egy második nyelv, matematika, tudományos szakszavak, stb.
+2. Derítsük ki, miért vannak ilyen nehézségei. Például auditív rövid távú memória vagy fonológiai feldolgozás terén.
+3. Próbáljuk megállapítani, hogyan tanul. Például jobb-e a vizuális befogadásban vagy inkább auditív típus.
+4. Állapítsuk meg, milyen tanítási módszer segíti jobban a tanulásban.
+5. Mindig kérdezzük meg magunktól, miért úgy közelítettük meg a dolgot, és van-e jobb út.
+6. Állapítsuk meg hogy a terv főbb részeit "Ki fogja elvégezni? Milyen gyakran? Hol?"
+7. Állítsunk a gyermekek elé ösztönző célokat. Minden foglalkozás a gyerek korától és képességeitől függjön.
+8. Folyamatosan ismételjünk, és állapítsuk meg, miért nem sikerült elérni a kitűzött célt, vagy ha sikerült, akkor a gyermek képességeit megfelelően igénybe vette-e.
+9. Gondoljuk végig, hogy vannak-e megvalósítható alternatívák, más lehetőségek, amelyeket jelenleg nem alkalmazunk.
+10. Ne felejtsük el, hogy a gyerek csak úgy tudja kihozni magából a legtöbbet, ha az egész iskola együttműködik. Gondoskodjunk róla, hogy minden tanárt tájékoztassunk a nehézségekről, és arról, hogyan tudnak a helyzeten a legjobban segíteni.
+
+===== 4. Egy lehetséges alternatíva az egyéni fejlesztési terv formai megvalósítására =====
+
+
+A GYERMEK ADATAI:
+Név:
+Szül.hely, idő:
+Anyja:
+Gondviselő:
+Lakcím:
+A szakvéleményt kiadta:
+A szakvélemény kelte, kontroll:
+
+
+A szakértői bizottság / szakvélemény megállapításai:
+
+
+
+
+
+
+Egyéni fejlesztési terv
+Fejlesztendő terület A fejlesztés időtartama
+1. hónap 2. hónap 3. hónap
+Testséma
+Térbeli-, időbeli tájékozódás
+Síkbeli tájékozódás, irányok
+Finommotorika, vizuomotoros koordináció
+Vizuális figyelem
+Vizuális észlelés
+Vizuális emlékezet
+Vizuális differenciálás
+Auditív figyelem
+Auditív észlelés
+Auditív emlékezet
+Auditív differenciálás
+Szerialitás
+Ritmus, beszédritmus
+Alak-háttér differenciálás
+Lényegkiemelés, összefüggések, következtetések
+Beszédértés, szövegértés
+Szókincs, verbális kifejezőkészség
+Betűdifferenciálás
+Betűfelismerés, összeolvasás
+Helyesírás, nyelvi fejlesztés
+Számfogalom, matematikai készségek fejlesztése
+
+
+===== 5. 2007. szeptemberi kiegészítés =====
+
+
+Lényeges tudni, hogy az érintett gyermekek, tanulók helyzete jelenleg nem változott. Minden olyan kedvezményre jogosultak, mint ez idáig. Utánuk a sajátos nevelési igényű gyermekek után járó normatívát lehet igényelni.
+A közoktatásról szóló 1993. évi LXXIX törvény (Kt.) 30.§-a a különleges gondozáshoz, a rehabilitációs célú foglalkoztatáshoz való jogot két csoportra terjeszti ki: a beilleszkedési, magatartási, tanulási nehézséggel küzdő és a sajátos nevelési igényű gyermekekre, tanulókra.
+
+A 2006. évi CXXI. törvénynek a Kt. módosítására vonatkozó rendelkezései - többek között - a pszichés fejlődés zavarai miatt a nevelési, tanulási folyamatban tartósan és súlyosan akadályozott tanulók ellátásában való szakmai együtt- és közreműködési kötelezettségét helyezi át 2008.augusztus 1-jétől a nevelési tanácsadók hatáskörébe.
+
+A szakértői és rehabilitációs bizottságok helyett a - gyógypedagógusokkal, pszichológusokkal, és egyéb szakemberekkel rendelkező, feladatát kisebb körzetben ellátó - nevelési tanácsadók veszik át a rehabilitációs, fejlesztő munka szakmai segítését és koordinálását. Cél a mainál elérhetőbb, hatékonyabb együttműködést, a nevelési, oktatási intézményben nyújtott szolgáltatást biztosító rendszer kialakítása.
+
+A rendszer átalakítására azonban kellő - a még szükséges szakmai és jogszabályi feltételek kialakításához, és az azok alkalmazására történő felkészüléshez megfelelő - időt ad a 2006. évi CXXI törvény. melynek 7. § (4) bekezdése - a 28. § (7) bekezdésben meghatározott, 2008. január 1-jei hatálybaléptetéssel - a Kt. 126. §-ának szövegét az alábbiak szerint állapítja meg:
+
+
+"126. § Ha a pszichés fejlődés zavarai miatt a nevelési, tanulási folyamatban tartósan és súlyosan akadályozott (pl. dyslexia, dysgraphia, dyscalculia, mutizmus, kóros hyperkinetikus vagy kóros aktivitászavar) tanulót 2008. január 1. előtt a szakértői és rehabilitációs bizottság szakvéleménye alapján az igazgató mentesítette egyes tantárgyakból, tantárgyrészekből az értékelés és a minősítés alól, a mentesítést a 2008/2009-2009/2010. tanévekben a tanulmányok során, továbbá az iskolaváltásnál a felvételi eljárásban, valamint az érettségi vizsgán, és a szakmai vizsgán figyelembe kell venni. A szakértői és rehabilitációs bizottság a 2008. január 1. előtt kezdeményezett eljárást, ha a gyermek, tanuló szakértői vizsgálata már befejeződött, 2008. március 31-ig befejezi.
+A szakértői és rehabilitációs bizottság a sajátos nevelési igény megállapítása nélkül arról hoz szakértői véleményt, hogy a gyermek, tanuló pszichés fejlődés zavarai miatt a nevelési, tanulási folyamatban tartósan és súlyosan akadályozott. Ha a gyermek, tanuló szakértői vizsgálata nem fejeződött be, az iratokat - a szülő értesítése mellett - 2008. január 31-éig megküldi a gyermek, tanuló lakóhelye, ennek hiányában tartózkodási helye szerint illetékes nevelési tanácsadónak az eljárás lefolytatása céljából. A szakértői és rehabilitációs bizottság azoknak a gyermekeknek, tanulóknak az iratait, akik tekintetében az eljárást befejezte és szakvéleményt készített - a szülő és a nevelési-oktatási intézmény értesítése mellett - 2008. július 31-ig megküldi a gyermek, tanuló lakóhelye, ennek hiányában tartózkodási helye szerint illetékes nevelési tanácsadónak. A nevelési tanácsadók ettől az időponttól kezdődően ellátják az e gyermekekkel, tanulókkal összefüggő feladatokat."
+
+A Kt. módosítása tehát jelenleg illetve a közeljövőben nem tesz szükségessé semmilyen intézkedést sem az intézményfenntartók, sem az intézmények számára. A nevelő, oktató munka szervezése - beleértve a Kt. 52. § (6) bekezdése alapján biztosítandó rehabilitációs célú tanórai foglalkozásokat - az eddigieknek megfelelően történik, s a normatív állami támogatásra is a szakértői és rehabilitációs bizottságok által kiadott szakvéleményekhez kötött gyógypedagógiai ellátásra vonatkozó finanszírozás szerint kerül sor.
+Stenger Szilvia
+logopédus
+
+----
+
+===== Közoktatási törvény - A különleges gondozáshoz, a rehabilitációs célú foglalkoztatáshoz való jog, a gyógypedagógiai nevelési-oktatási intézmény =====
+
+30. § (9) A sajátos nevelési igényű tanulót, illetve a beilleszkedési, tanulási, magatartási nehézséggel küzdő tanulót - jogszabályban meghatározott munkamegosztás szerint - a szakértői és rehabilitációs bizottság vagy a nevelési tanácsadó szakértői véleménye alapján - a gyakorlati képzés kivételével - az igazgató mentesíti egyes tantárgyakból, tantárgyrészekből az értékelés és a minősítés alól. Ha a tanulót egyes tantárgyakból, tantárgyrészekből mentesítik az értékelés és minősítés alól, az iskola - az e törvény 52. §-ának (7) bekezdésében, valamint (11) bekezdésének c) pontjában meghatározott időkeret terhére - egyéni foglalkozást szervez részére. Az egyéni foglalkozás keretében - egyéni fejlesztési terv alapján - segíti a tanuló felzárkóztatását a többiekhez. Az érettségi vizsgán az érintett tantárgyak helyett a tanuló - a vizsgaszabályzatban meghatározottak szerint - másik tantárgyat választhat. A tanuló részére a felvételi vizsgán, az osztályozó vizsgán, a modulzáró vizsgán, a szintvizsgán, a különbözeti vizsgán, a javítóvizsgán, az érettségi vizsgán, a szakmai vizsgán biztosítani kell a hosszabb felkészülési időt, az írásbeli beszámolón lehetővé kell tenni az iskolai tanulmányok során alkalmazott segédeszköz (írógép, számítógép stb.) alkalmazását, szükség esetén az írásbeli beszámoló szóbeli beszámolóval vagy a szóbeli beszámoló írásbeli beszámolóval történő felváltását.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/hianyzas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/hianyzas.txt
new file mode 100644
index 00000000..34ef8e06
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/hianyzas.txt
@@ -0,0 +1,126 @@
+====== 11/1994. (VI. 8.) MKM rendelet - a nevelési-oktatási intézmények működéséről ======
+
+[[http://www.complex.hu/jr/gen/hjegy_doc.cgi?docid=99400011.MKM]]
+
+----
+
+4/A. § (1) A nevelési-oktatási intézmény házirendjében - a közoktatási törvény 40. § (9) bekezdése szerint - kell szabályozni egyéb jogszabályban meghatározottakon túlmenően
+
+a) a gyermek, tanuló távolmaradásának, mulasztásának, késésének igazolására vonatkozó rendelkezéseket,
+
+
+----
+
+20. § (1) A beteg gyermek, tanuló az orvos által meghatározott időszakban nem látogathatja a nevelési-oktatási intézményt. Ha a pedagógus megítélése szerint a gyermek, a tanuló beteg, gondoskodik a többi gyermektől, tanulótól való elkülönítéséről, és a lehető legrövidebb időn belül értesíti a gyermek, a tanuló szüleit. Azt, hogy a gyermek, a tanuló egészséges, orvosnak kell igazolnia. Ha a kollégiumban lakó tanuló hazautaztatása nem oldható meg, az egészséges tanulóktól el kell különíteni.
+
+(2) Ha a gyermek az óvodai foglalkozásról, illetve a tanuló a tanítási óráról, a kollégiumi foglalkozásról távol marad, mulasztását igazolnia kell. A mulasztást igazoltnak kell tekinteni, ha
+
+a) a szülő előzetesen bejelentette az óvónőnek, hogy gyermekét nem viszi el az óvodába,
+
+b) a tanuló - kiskorú tanuló esetén a szülő írásbeli kérelmére - a házirendben meghatározottak szerint engedélyt kapott a távolmaradásra,
+
+c) a gyermek, a tanuló beteg volt, és azt a házirendben meghatározottak szerint igazolja,
+
+d) a gyermek, a tanuló hatósági intézkedés vagy egyéb alapos indok miatt nem tudott kötelezettségének eleget tenni.
+
+(3) Ha a távolmaradást nem igazolják, a mulasztás igazolatlan. Az iskola köteles a szülőt és a tanuló kollégiumi elhelyezése esetén - amennyiben a kollégium nem az iskolával közös igazgatású intézmény - a kollégiumot is értesíteni a tanköteles tanuló első alkalommal történt igazolatlan mulasztásakor, illetve ha a nem tanköteles, kiskorú tanuló igazolatlan mulasztása a tíz órát eléri. Az értesítésben fel kell hívni a szülő figyelmét az igazolatlan mulasztás következményeire. Ha az iskola értesítése eredménytelen maradt, és a tanuló ismételten igazolatlanul mulaszt, az iskola a gyermekjóléti szolgálat közreműködését igénybe véve megkeresi a tanuló szülőjét.
+
+(4) Ha a gyermek a közoktatási törvény 24. § (3) bekezdése alapján vesz részt óvodai nevelésben, és egy nevelési évben hét napnál többet mulaszt, illetve ha a tanköteles tanuló igazolatlan mulasztása egy tanítási évben eléri a tíz órát, az óvoda vezetője, az iskola igazgatója - a gyermekvédelmi és gyámügyi feladat- és hatáskörök ellátásáról, valamint a gyámhatóság szervezetéről és illetékességéről szóló 331/2006. (XII. 23.) Korm. rendeletben foglaltakkal összhangban - értesíti a gyermek tényleges tartózkodási helye szerint illetékes jegyzőt és a gyermekjóléti szolgálatot. Az értesítést követően a gyermekjóléti szolgálat az óvoda, illetve az iskola és szükség esetén a kollégium bevonásával haladéktalanul intézkedési tervet készít, melyben a mulasztás okának feltárására figyelemmel meghatározza a tanulót veszélyeztető és az igazolatlan hiányzást kiváltó helyzet megszüntetésével, a tanulói tankötelezettség teljesítésével kapcsolatos, továbbá a gyermek, tanuló érdekeit szolgáló feladatokat.
+
+(5) Ha a tanköteles tanuló igazolatlan mulasztása egy tanítási évben eléri a harminc órát, az iskola ismételten tájékoztatja a gyermekjóléti szolgálatot, amely közreműködik a tanuló szülőjének az értesítésében. Ha a tanköteles tanuló igazolatlan mulasztása egy tanítási évben eléri az ötven órát, az iskola igazgatója értesíti a gyermek tényleges tartózkodási helye szerint illetékes jegyzőt.
+
+(6) Ha a tanulónak egy tanítási évben az igazolt és igazolatlan mulasztása együttesen
+
+a) a közoktatási törvény 8. §-a (1) bekezdésének c) pontjában meghatározott iskolai nevelés-oktatás általános műveltséget megalapozó szakaszában a kettőszázötven tanítási órát,
+
+b) a közoktatási törvény 8. §-a (1) bekezdésének d) pontjában meghatározott iskolai nevelés-oktatás szakképesítés megszerzésére felkészítő szakaszában az elméleti tanítási órák húsz százalékát,
+
+c) alapfokú művészetoktatási intézményben a tanítási órák egyharmadát,
+
+d) egy adott tantárgyból a tanítási órák harminc százalékát meghaladja
+
+és emiatt a tanuló teljesítménye tanítási év közben nem volt érdemjeggyel értékelhető, a tanítási év végén nem osztályozható, kivéve, ha a nevelőtestület engedélyezi, hogy osztályozóvizsgát tegyen. A nevelőtestület az osztályozóvizsga letételét akkor tagadhatja meg, ha az igazolatlan mulasztások száma meghaladja az igazolt mulasztások számát, és az iskola eleget tett a (3) bekezdésben meghatározott értesítési kötelezettségének. Ha a tanuló a tanítási év végén nem osztályozható, tanulmányait évfolyamismétléssel folytathatja. Ha a tanuló mulasztásainak száma már az első félév végére meghaladja a meghatározott mértéket, és emiatt teljesítménye nem volt érdemjeggyel értékelhető, félévkor osztályozóvizsgát kell tennie.
+
+(7) A gyakorlati képzésről és a beszámoltató rendszerű oktatásról való hiányzás következményeit a szakképzésre vonatkozó jogszabályok határozzák meg.
+
+(8) Ha a tanuló a tanórai foglalkozás kezdetére nem érkezik meg, késik, amit igazolnia kell. A késések ideje - a házirendben foglaltak szerint - összeadható. Amennyiben ez az idő eléri a tanórai foglalkozás idejét, a késés egy igazolt vagy igazolatlan órának minősül. Az elkéső tanuló nem zárható ki a tanóráról.
+
+----
+
+28. § (2) Megszűnik a tanulói jogviszonya - a tanköteles kivételével - annak, aki igazolatlanul harminc tanítási óránál többet mulaszt, feltéve, hogy az iskola a tanulót, kiskorú tanuló esetén a szülőt legalább kettő alkalommal, írásban figyelmeztette az igazolatlan mulasztás következményeire. A tanulói jogviszony megszűnéséről az iskola írásban értesíti a tanulót, kiskorú tanuló esetén a szülőt, továbbá minden esetben a tanuló állandó lakóhelye, ennek hiányában tartózkodási helye szerint illetékes regionális egészségbiztosítási pénztárat.
+
+===== Szakképzés =====
+
+==== 1993. évi LXXVI. törvény a szakképzésről ====
+
+19/A. § (1) Azoknál a szakképesítéseknél, amelyekben a 7. § (1) bekezdése szerint a gazdasági kamara által kidolgozott szakmai és vizsgakövetelményt a szakképesítésért felelős miniszter jogszabályban kiadta, a területi gazdasági kamara a gazdasági érdekképviseleti szervezetekkel, szakmai szervezetekkel az iskolai tanműhelyben folyó gyakorlati képzés törvényességi ellenőrzése keretében vizsgálhatja az alkalmazási feltételekre, a maximális csoportlétszámra, a tanulói terhelésre, a tanulói kedvezmények és juttatások biztosítására, a tanulói munka- és balesetvédelemre, a hátrányos megkülönböztetés tilalmára vonatkozó rendelkezésekben, valamint a 10. § (1) bekezdése szerinti eszköz- és felszerelési jegyzékben foglaltak megtartását. Az iskolai tanműhely ellenőrzését a közoktatási törvény 107. §-ában meghatározott eljárási rend szerint kell végezni, az ellenőrzésben kizárólag az Országos közoktatási szakértői névjegyzékben szereplő szakértők működhetnek közre.
+
+(2) A 19. §-ban foglaltak esetén a vállalkozásnál folyó gyakorlati képzés felügyeletét és a képzésre vonatkozó rendelkezések megtartásának ellenőrzését az illetékes területi gazdasági kamara - a feltételek biztosítása mellett - a szakképző iskola közreműködésével látja el.
+
+(3) Ha a szakképesítés nem tartozik egyik gazdasági kamara hatáskörébe sem, a gyakorlati képzés felügyeletéről a szakképző iskola gondoskodik.
+
+20. § A gyakorlati képzést szervező - eltérő megállapodás hiányában - köteles a gyakorlati képzés követelményeire való felkészítéshez, továbbá a gyakorlati vizsgához szükséges tárgyi eszközöket és a személyi feltételeket biztosítani.
+
+22. § (1) Fiatalkorú tanuló esetében a képzési idő a napi hét órát, nagykorú tanuló esetében pedig a napi nyolc órát nem haladhatja meg.
+23. § (1) A gazdálkodó szervezetnél a tanuló gyakorlati képzésére nem kerülhet sor
+
+a) az elméleti képzési napokon;
+
+b) a szakképző iskola által szervezett olyan rendezvény napján, amelyen minden tanuló részvétele kötelező;
+
+c) a képzési idő alatti modulzáró vizsga és a tanulmányokat befejező szakmai vizsga napjain; továbbá
+
+d) minden olyan esetben, amikor a munkajogi szabályok szerint a munkavállaló mentesül a munkavégzési kötelezettség alól.
+
+(2) A gazdálkodó szervezet heti pihenőnapokon, illetőleg munkaszüneti napokon a tanulót gyakorlati képzésre csak a rendeltetése folytán e napon is működő gyakorlati képzési helyen és a szakképző iskola hozzájárulásával veheti igénybe. Az igénybe vett idő helyett a hét más gyakorlati képzési napján kell ugyanolyan mértékben szabadidőt biztosítani.
+
+24. § (1) A gyakorlati képzés foglalkozásain való részvétel kötelező.
+(2) A tanuló részvételét, illetőleg mulasztását a gazdálkodó szervezet is nyilvántartja és azt a tanuló foglalkozási naplójába bejegyzi. A tanuló köteles mulasztását igazolni.
+
+(3) Ha a tanulónak a gyakorlati képzésről való igazolt és igazolatlan mulasztása egy tanévben meghaladja a gyakorlati képzési idő (óraszám) húsz százalékát, a tanuló tanulmányait csak az évfolyam megismétlésével folytathatja. Ha a gyakorlati képzést tanulószerződés keretében gazdálkodó szervezet végzi, az évfolyam megismétléséhez a gazdálkodó szervezet hozzájárulása is szükséges.
+
+(4) Ha a tanuló mulasztása a (3) bekezdésben meghatározott mértéket eléri, de igazolatlan mulasztása nincs és szorgalma, elért teljesítménye alapján úgy ítélhető meg, hogy mulasztását a következő tanév megkezdéséig pótolja, illetőleg az előírt gyakorlati követelményeket teljesíteni tudja, az évfolyam megismétlésétől el lehet tekinteni. Az ügyben a szakképző iskola nevelőtestülete dönt, a gazdálkodó szervezetnél folyó gyakorlati képzés esetén a gazdálkodó szervezet javaslatára.
+25. § (1) A gazdálkodó szervezet a tanuló gyakorlati képzéséről köteles foglalkozási naplót vezetni.
+
+(2) A foglalkozási naplónak tartalmaznia kell a szakmai tevékenységeket, az ezekre fordított időt és a tanuló értékelését.
+
+(3) A foglalkozási naplót a szakképző iskola felkérése alapján betekintésre rendelkezésre kell bocsátani.
+
+26. § Ha a napi gyakorlati képzési idő a négy és fél órát meghaladja, a tanuló részére legalább 30 perc, megszakítás nélküli szünetet a képzési időn belül biztosítani kell.
+
+
+[[http://net.jogtar.hu/jr/gen/hjegy_doc.cgi?docid=99300076.TV]]
+
+
+===== Oktatási jogok biztosa - állásfoglalások =====
+
+[[http://www.oktbiztos.hu/ugyek/jelentes2001/tart.html]]
+[[http://www.oktbiztos.hu/ugyek/jelentes2009/ertekeles.html]]
+[[http://www.oktbiztos.hu/ugyek/jelentes2001/mulasztas.html]]
+
+==== Tanórán kívüli foglalkozáson nincs hiányzás csak, ha a PePo része ====
+
+Egy iskola szülői közösségének képviselője kifogásolta, hogy az iskolai normákban a tanórán kívüli foglalkozásokról való mulasztás megítélése a tanórákéval azonos, tehát igazolatlan hiányzást vonhat maga után. A jogszabályok a mulasztások kapcsán a tanóráról való távolmaradáshoz kapcsolják az igazolási kötelezettséget, illetve a jogkövetkezményeket. A tanórán kívüli foglalkozásokhoz a jogszabályok ilyen jogkövetkezményt nem fűznek. A fentiek alapján megállapítottuk, hogy a kifogásolt iskolai rendelkezés az oktatási jogok sérelmének veszélyét okozza, ezért kezdeményeztük, hogy az iskola igazgatója tegye meg a szükséges intézkedéseket a szabály módosítására. Kezdeményezésünket az intézményvezető elfogadta. (K-OJOG-231/2001.)
+
+Tájékoztattuk, hogy a közoktatásról szóló 1993. évi LXXIX. törvény 48. § (1) bekezdés b) pontja alapján az iskola pedagógiai programjának részeként megalkotott helyi tantervben kell meghatározni az iskola egyes évfolyamain tanított tantárgyakat, a kötelező és választható tanórai foglalkozásokat, valamint azok óraszámait, az előírt tananyagot és követelményeit. A közoktatási törvény 12. § (1) bekezdés a) pontjában foglaltak alapján a tanuló köteles a kötelező és a választott foglalkozásokon és szakmai gyakorlatokon részt venni. Tehát amennyiben az adott rendezvényt a pedagógiai program tartalmazza, abban az esetben az kötelező. Ezen rendelkezések alapján tehát a kötelező foglalkozásokról való távolmaradást lehet mulasztásként regisztrálni, de ahhoz kizárólag a jogszabályban meghatározott jogkövetkezmények fűzhetőek.
+
+==== Késés fegyelmit von maga után, de nem számítható át hiányzássá ====
+
+Egy szülő vizsgálatunkat kérte többek között azzal kapcsolatban, hogy gyermekével szemben fegyelmi eljárás indult az iskolában a tanuló húsznál több igazolatlan hiányzása miatt. A szülő sérelmezte, hogy több alkalommal a tanuló óráról való késését is mulasztásnak tekintették. Ezzel szemben az intézmény vezetője arról tájékoztatta hivatalunkat, hogy az iskola szervezeti és működési szabályzata szerint az igazolatlan késések nem válthatók át igazolatlan órára, de a sorozatos késések fegyelmi intézkedést vonnak maguk után. A rendelkezésünkre bocsátott dokumentumok alapján megállapítottuk, hogy az intézmény szervezeti és működési szabályzata megfelelően rendelkezik a késések szankcionálásáról. Megállapítottuk továbbá, hogy a szabályzatnak megfelelően a késéseket az iskola nem számította be az igazolatlan mulasztások közé, így az ügyet jogsértés hiányában lezártuk. (K-OJOG-319/2002.)
+
+==== Iskolaváltás esetén a hiányzásokat folytatólagosan kell számozni ====
+
+Egyik beadványozó aziránt érdeklődött, hogy amennyiben egy tanuló iskolát vált, hogyan kell alkalmazni a mulasztás szabályait, folytatni kell az igazolatlan órák számolását vagy újra kell kezdeni. Tájékoztattuk, hogy a mulasztás számítására vonatkozó szabályok mindig nevelési, tanítási évre vonatkoznak, ennek megfelelően az igazolatlan órák számát folytatólagosan kell számolni. Ezért ha a tanuló intézményt vált a két intézménynek együtt kell működnie, és meg kell osztaniuk egymással a mulasztással kapcsolatos információkat. (K-OJOGB-324/2007.)
+
+==== A felszereléshiány nem igazolatlan óra ====
+
+Nem alkalmazhatóak az igazolatlan mulasztás jogkövetkezményei abban az esetben, ha a tanuló a testnevelés felszerelését hagyja otthon, és emiatt nem tud részt venni a testnevelés órán, valamint akkor sem, ha nem ünneplő ruhában jelenik meg az iskolai ünnepségen. (K-OJOGB-766/2007., K-OJOGB-623/2007.)
+
+==== Az orvosi igazolás nem kérdőjelezhető meg ====
+
+Egyes esetekben az óvodai foglalkozásról, a tanóráról, illetve a kollégiumi foglalkozásról történő távolmaradást a jogszabály erejénél fogva igazoltnak kell tekinteni. Ilyen eset, ha a gyermek, tanuló beteg, és azt a házirendben meghatározottak szerint igazolja. Az intézmény szabályozási jogköre ebben az esetben az orvosi igazolás benyújtásának eljárási rendelkezésein nem terjed túl. A rendelet 20. §-a szerint ugyanis a beteg gyermek, tanuló az orvos által meghatározott időben nem látogathatja az intézményt. A jogszabály nem ad arra lehetőséget, hogy a nevelési-oktatási intézmény az orvosi igazolásban foglaltakat megkérdőjelezze, vagy egy orvosi igazolást ne fogadjon el.
+
+==== Alapos ok, mely esetén a hiányzást igazoltnak kell tekinteni ====
+
+A mulasztást akkor is igazoltnak kell tekinteni, ha a tanuló hatósági intézkedés, vagy egyéb alapos ok miatt nem tud kötelezettségének eleget tenni.
+Álláspontunk szerint alapos oknak kell tekinteni a különleges időjárásból, vagy egyéb előre nem látható eseményből adódó közlekedési akadályokat, továbbá azt az esetet is, amikor a tanuló középiskolai felvételi vizsgán vesz részt.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/iskolavaltas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/iskolavaltas.txt
new file mode 100644
index 00000000..96c8961a
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/iskolavaltas.txt
@@ -0,0 +1,124 @@
+
+====== Tanuló iskolaváltása ======
+
+Az iskolaváltással kapcsolatban másként kezelendő a jegy/osztályzat és másként a hiányzás;
+illetve el kell választanunk a tartalmi kérdéseket a technikai megvalósítás lehetőségeitől.
+
+És persze a helyzet a tanév előrehaladtával fokozódik: más szeptember 2-án és más március 20-án átvenni egy diákot.
+
+===== Egy tanuló iskolaváltásának lehetséges okai =====
+
+Egy tanuló iskolaváltásának lehetnek objektív és szubjektív okai.
+
+==== Objektív okok ====
+
+Az objektív ok klasszikus esete a költözés. Bár gyakorlatunkban arra is volt példa, hogy egy súlyosan beteg diák a
+gyógykezelése miatt jött iskolánkba (közel vannak hozzánk a SOTE klinikái).
+
+Úgy gondolom, hogy ebben az esetben a - kétségtelenül hiányos - szabályokat rugalmasan, a diák javára kell alkalmazni.
+
+==== Szubjektív okok ====
+
+A tanuló (szülő) egyszerűen élni kíván - tanév közben - a szabad iskolaválasztás jogával, mert például csalódott
+(okkal vagy ok nélkül) az aktuális iskolában.
+
+Véleményem szerint ezen esetben a potenciális befogadó iskola mindenféle értelemben szabadon járhat el, de ha az
+átvétel mellett dönt, annak jogkövetkezményeit is vállalnia kell (hiányzások „göngyölített” nyilvántartása,
+különbözeti vizsgák megtartása, stb.). És erről a diákot/szülőt tájékoztatnia kell!
+
+===== Az átvételhez kapcsolódó jogszabályok =====
+
+>> (1993. évi LXXIX. törvény a közoktatásról) **42. § (1)** //Az iskola - jogszabályban meghatározottak szerint - állapíthatja meg a tanulói jogviszony létesítésének tanulmányi feltételeit (a továbbiakban: felvételi követelmények). Az iskola a felvételi követelményeket a tanév rendjéről szóló rendelet által meghatározott időben a felvételi tájékoztatóban köteles nyilvánosságra hozni.// \\
+>> **46. § (1)** //Az iskola helyi tantervének - a szakképzés kivételével - biztosítania kell az iskolaváltást, a tanuló átvételét, szükség esetén különbözeti vizsgával vagy évfolyamismétléssel.// \\
+>> **66. § (1)** //A tanuló (magántanuló) az iskolával tanulói jogviszonyban áll. A tanulói jogviszony felvétel vagy átvétel útján keletkezik. A felvétel és az átvétel jelentkezés alapján történik. A felvételről vagy átvételről az iskola igazgatója dönt a 42. § (1)-(2) bekezdésében és a 46-47. §-ban meghatározottak alapján. //
+>> **(10)** //Az iskolába felvett tanulók osztályba vagy csoportba való beosztásáról - a szakmai munkaközösség, annak hiányában a nevelőtestület véleményének kikérésével - az igazgató dönt.// \\
+>> **83. § (1)** //A nevelési-oktatási intézmény a gyermekkel, a tanulóval kapcsolatos döntéseit - jogszabályban meghatározott esetben és formában - írásban közli a tanulóval, illetve a szülővel.// \\
+
+>> (11/1994. (VI. 8.) MKM rendelet a nevelési-oktatási intézmények működéséről) **17. § (3)** //A középiskolában és a szakiskolában a tanuló beiratkozásához be kell mutatni a tanuló személyi igazolványát vagy születési anyakönyvi kivonatát, és az elvégzett iskolai évfolyamokat tanúsító bizonyítványokat; továbbá a szakképző évfolyamra történő beiratkozáskor a megfelelő iskolai előképzettséget igazoló bizonyítványt, szükség esetén az egészségügyi, pályaalkalmassági szakvéleményt.// \\
+>> **18. § (1)** //A tanuló átvételére … a tanítási év során bármikor lehetőség van. Az átvételi kérelemhez a 17. § (3) bekezdésben felsorolt iratokat kell bemutatni.// \\
+>> **(3)** //Az … iskolai felvételi, átvételi kérelem elbírálásáról a tanulót, kiskorú tanuló esetén a szülőt is, tanköteles esetén továbbá … az előző iskola igazgatóját; … is értesíteni kell. …// \\
+
+
+==== Az iskolák által alkalmazott záradékok ====
+
+>> (4. számú melléklet a 11/1994. (VI. 8.) MKM rendelethez) \\
+>> //1. Felvéve [átvéve, a(z) ......... számú határozattal áthelyezve] a(z) (iskola címe) .................. iskolába. (Bn., N., TI., B.; azaz Beírási napló, Osztálynapló, Törzslap, Bizonyítvány)// \\
+>> //35. Az iskola a … vagy egyéb, a záradékok között nem szereplő, a tanulóval kapcsolatos közlés dokumentálásához a záradékokat megfelelően alkalmazhatja, illetve megfelelően záradékot alakíthat ki.//
+
+==== Konklúzió ====
+
+Az iskolákban kell(ene) egy írásban lefektetett (nyilvános) **protokoll** az átvétel eljárásrendjéről (vö: 1993. évi LXXIX. törvény, 46. § (1) bekezdés).
+Továbbá az átvételről igazgató által hozott **határozat** születik(?) (vö: 11/1994. MKM rendelet 18. § (3) bekezdés, ill. 4. számú melléklet), ami
+tartalmazhatja a jegyek,osztályzatok, hiányzások kezelésével kapcsolatos **döntést** is. (Például az ofők, szaktanárok, napló-adminisztrátorok eligazítása
+céljából is…) Azaz: a probléma kezelése nem tolható át a napló-adminisztrátorokra, írásbeli vezetői döntés kell(ene)! Mindez a naplóban (is) záradékolandó!
+
+===== Az érdemjegyek, osztályzatok kezelésére vonatkozó kapcsolódó jogszabályok =====
+
+>> (1993. évi LXXIX. törvény a közoktatásról) **45. § (2)** //Az iskola pedagógiai programot, annak részeként … helyi tantervet készít, vagy az ilyen módon készített helyi tantervek közül választ, és azt építi be helyi tantervként a pedagógiai programjába. …// \\
+>> **48. § (1)** //Az iskola pedagógiai programja meghatározza:// \\
+>> //b) az iskola helyi tantervét, ennek keretén belül// \\
+>> // - az iskola egyes évfolyamain tanított tantárgyakat, a kötelező és választható tanórai foglalkozásokat, valamint azok óraszámait, az előírt tananyagot és követelményeit,// \\
+>> // - az iskola magasabb évfolyamára lépés feltételeit,// \\
+>> // - az iskolai beszámoltatás, az ismeretek számonkérésének követelményeit és formáit, a tanuló magatartása, szorgalma értékelésének és minősítésének követelményeit, …// \\
+>> **70. § (1)** //A pedagógus … a tanuló teljesítményét, előmenetelét tanítási év közben rendszeresen érdemjeggyel értékeli, félévkor és a tanítási év végén osztályzattal minősíti. A tanuló magatartásának és szorgalmának értékelését és minősítését az osztályfőnök … végzi. …// \\
+>> **(4)** //Az egyes tanulók év végi osztályzatát a nevelőtestület osztályozó értekezleten áttekinti, és a pedagógus, illetve az osztályfőnök által megállapított osztályzatok alapján dönt a tanuló magasabb évfolyamba lépéséről. …// \\
+
+>> (11/1994. (VI. 8.) MKM rendelet a nevelési-oktatási intézmények működéséről) **21. § (3)** //A tanuló osztályzatait évközi teljesítménye és érdemjegyei vagy … a különbözeti vizsgán, … nyújtott teljesítménye alapján kell megállapítani. … Különbözeti vizsgát a tanuló abban az iskolában tehet, amelyben tanulmányait folytatni kívánja. … //
+
+==== Konklúzió ====
+
+Az érdemjegyek, osztályzatok **felettébb helyiek**: „helyi” tantárgyakból, „helyi” tananyagok, „helyi” követelmények alapján;, „helyi” pedagógusok,
+„helyi” nevelőtestületek döntése révén születnek meg. A fogadó iskola így két dolgot tehet:
+
+ - elfogadja ezeket a jegyeket, osztályzatokat (mindet, vagy néhányat),
+
+ - az el nem fogadott jegyek, osztályzatok esetében különbözeti vizsgát ír elő.
+
+Technikailag:
+
+ - az esetlegesen előírt különbözeti vizsgák tárgyait, időpontját az átvételről szóló (említett) határozatnak tartalmaznia kell(ene),
+
+ - az „elfogadott” jegyeket, osztályzatokat ezen határozat melléklete tartalmazza, hogy az „átvevő” pedagógus - mérlegelve - fel tudja őket használni (vö: 1993. évi LXXIX. törvény, 70. § (1) bekezdés).
+
+ - az e-naplóba ezek az „átvett” jegyek, osztályzatok nem kerülnek be, hanem a fenti határozat csatolható az osztályozó napló kinyomtatott változatához, vagy záradékkal hivatkozni lehet rá.
+
+===== A hiányzások kezelésére vonatkozó kapcsolódó jogszabályok =====
+
+>> (1993. évi LXXIX. törvény a közoktatásról) **75. § (3)** //Megszűnik a tanuló tanulói jogviszonya - a tanköteles tanuló kivételével - ha az iskola kötelező foglalkozásairól a jogszabályban meghatározott időnél igazolatlanul többet mulasztott.//
+
+>> (11/1994. (VI. 8.) MKM rendelet a nevelési-oktatási intézmények működéséről) **20. § (2)** //Ha a … tanuló a tanítási óráról, … mulasztását igazolnia kell. A mulasztást igazoltnak kell tekinteni, ha// \\
+>> // b) a tanuló … a házirendben meghatározottak szerint engedélyt kapott a távolmaradásra,// \\
+>> // c) a gyermek, a tanuló beteg volt, és azt a házirendben meghatározottak szerint igazolja,// \\
+>> // d) a tanuló hatósági intézkedés vagy egyéb alapos indok miatt nem tudott kötelezettségének eleget tenni.// \\
+>> **(3)** //Ha a távolmaradást nem igazolják, a mulasztás igazolatlan. Az iskola köteles a szülőt … értesíteni a tanköteles tanuló első alkalommal történt igazolatlan mulasztásakor, illetve ha a nem tanköteles, kiskorú tanuló igazolatlan mulasztása a tíz órát eléri. // \\
+>> **(4)** //Ha … a tanköteles tanuló igazolatlan mulasztása egy tanítási évben eléri a tíz órát, az iskola igazgatója … értesíti a gyermek tényleges tartózkodási helye szerint illetékes jegyzőt és a gyermekjóléti szolgálatot.// \\
+>> **(5)** //Ha a tanköteles tanuló igazolatlan mulasztása egy tanítási évben eléri a harminc órát, az iskola ismételten tájékoztatja a gyermekjóléti szolgálatot, amely közreműködik a tanuló szülőjének az értesítésében. Ha a tanköteles tanuló igazolatlan mulasztása egy tanítási évben eléri az ötven órát, az iskola igazgatója értesíti a gyermek tényleges tartózkodási helye szerint illetékes jegyzőt.// \\
+>> **(6)** //Ha a tanulónak egy tanítási évben az igazolt és igazolatlan mulasztása együttesen// \\
+>> // a) a … kettőszázötven tanítási órát,// \\
+>> // d) egy adott tantárgyból a tanítási órák harminc százalékát meghaladja// \\
+>> // és emiatt a tanuló teljesítménye tanítási év közben nem volt érdemjeggyel értékelhető, a tanítási év végén nem osztályozható, kivéve, ha a nevelőtestület engedélyezi, hogy osztályozóvizsgát tegyen. …// \\
+>> **28. § (2)** //Megszűnik a tanulói jogviszonya - a tanköteles kivételével - annak, aki igazolatlanul harminc tanítási óránál többet mulaszt, … //
+
+==== Konklúzió ====
+
+a hiányzásokhoz tehát súlyos jogkövetkezmények tartoznak. Ennek megfelelően a fogadó iskola nem teheti meg, hogy a „hozott” hiányzásokat
+figyelmen kívül hagyja, különös tekintettel arra, hogy a jogszabály több helyen egyértelműen „**tanítási év**” alatti hiányzásokat említ.
+Azaz: a hiányzásokat („hozott” + „szerzett”) valahogyan folyamatosan kell regisztrálni.
+
+Technikailag:
+ - a „hozott” hiányzások mértékét az átvételről szóló határozat mellékletének tartalmaznia kell(ene),
+ - az e-naplóba ezek az „átvett” hiányzások nem kerülnek be (hiszen hova?), hanem a fenti határozat csatolható az osztályozó napló kinyomtatott változatához, vagy záradékkal hivatkozni lehet rá.
+ - az „átvevő” osztályfőnöknek fokozottan kell figyelnie ezen diákok hiányzásaira. (Lsd. „jegyzői” teendők.)
+
+----
+
+//(Budapest, 2011. január 22. Bánhegyesi Zoltán - LKG)//
+
+
+
+
+
+
+
+
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/nyelvi_elokeszito.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/nyelvi_elokeszito.txt
new file mode 100644
index 00000000..b459c7cf
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/nyelvi_elokeszito.txt
@@ -0,0 +1,18 @@
+
+====== Nyelvi előkészítő ======
+
+28. § (1) A gimnáziumnak - a (2) és (4) bekezdésben meghatározott kivétellel - négy évfolyama van. A négy évfolyamos gimnáziumban a nevelés és oktatás a kilencedik évfolyamon kezdődik és a tizenkettedik évfolyamon fejeződik be.
+
+(2) Hat vagy nyolc évfolyammal működhet a gimnázium, ha a középtávú beiskolázási terv [88. § (2) bek.] előrejelzése alapján a tankötelezettség teljesítéséhez szükséges feltételek ily módon teremthetők meg, és fővárosi, megyei szinten megoldható azoknak a tanulóknak a gimnáziumi felvétele, akik gimnáziumi tanulmányaikat a kilencedik évfolyamon szeretnék megkezdeni. A nevelés és oktatás a hat évfolyamos gimnáziumban a hetedik, a nyolc évfolyamos gimnáziumban az ötödik évfolyamon kezdődik, és - a hat, illetve a nyolc évfolyamos gimnáziumban is - a tizenkettedik évfolyamon fejeződik be. A hat vagy nyolc évfolyammal működő gimnáziumban - ha jogszabály előírja - a nevelést-oktatást négy évfolyamon is meg kell szervezni, az (1) bekezdésben meghatározottak szerint.
+
+(3)
+
+(4) Ha az (1)-(2) bekezdésben meghatározott gimnáziumban a nevelő és oktató munka két tanítási nyelven (magyarul és idegen nyelven, beleértve a nemzetiségi és a kisebbségi nyelvet is) folyik (a továbbiakban: két tanítási nyelven folyó oktatás) - a Két tanítási nyelvű iskolák irányelve, illetve a Nemzeti, etnikai kisebbség iskolai oktatásának irányelvében meghatározottak szerint -, a nevelés és oktatás a tizenharmadik évfolyamon fejeződhet be. Tizenharmadik évfolyamon fejeződhet be a nevelés és oktatás a gimnáziumban akkor is, ha a kilencedik évfolyamon legalább a kötelező tanórai foglalkozások negyven százalékának megfelelő időkeretben idegen nyelvből, illetve a nemzetiségi és a kisebbségi nyelvből intenzív nyelvi felkészítés folyik, továbbá a gimnázium a tizedik-tizenharmadik évfolyamon emelt szintű oktatás keretében felkészíti a tanulót az adott nyelvből az emelt szintű érettségi vizsga letételére. A nyelvi előkészítésre fel nem használt időkeret legalább huszonöt százalékát informatikai ismeretek oktatására, a fennmaradó időkeretet pedig képességfejlesztésre kell fordítani (a továbbiakban: nyelvi előkészítő évfolyam). A hat vagy nyolc évfolyammal működő gimnáziumban a nyelvi előkészítő évfolyam a kilencedik évfolyam helyett másik évfolyamon is megszervezhető.
+
+(5) A gimnáziumban általános műveltséget megalapozó, valamint érettségi vizsgára és felsőfokú iskolai tanulmányok megkezdésére felkészítő nevelés és oktatás folyik (a továbbiakban: középiskolai nevelés és oktatás). A gimnáziumban a tizenegyedik évfolyamtól kezdődően munkába állást előkészítő, illetve segítő elméleti és gyakorlati tanítási óra is tartható.
+
+(6) A gimnáziumban a tanuló felkészül az érettségi vizsgára, valamint felsőfokú iskolai továbbtanulásra, illetve munkába állásra.
+
+(7) Az adott évfolyamban indítható osztály, osztályok számának figyelembevételével meg kell szervezni a gimnáziumban - a (4) bekezdésben meghatározott - nyelvi előkészítő évfolyamot, illetve a nyelvi előkészítő évfolyam további osztályát, ha a jelentkezők létszáma alapján ez indokolt. A nyelvi előkészítő évfolyam, illetve a nyelvi előkészítő évfolyam osztálya több középiskola tanulóiból is megszervezhető egy gimnázium keretei között.
+
+(8) A gimnázium tanulója - az átvételre és a felvételre vonatkozó rendelkezések szerint (42. §, 46. §, 66-67. §) - folytathatja tanulmányait az általános iskola, másik gimnázium, szakközépiskola, szakiskola megfelelő évfolyamán. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/nyomtatvanyok.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/nyomtatvanyok.txt
new file mode 100644
index 00000000..bcb76d92
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/nyomtatvanyok.txt
@@ -0,0 +1,109 @@
+====== A nyomtatványokra vonatkozó szabályozások ======
+
+A közoktatási törvény (Kt.) 72. § (2)#(3) bekezdése az alábbi módon szabályozza a közoktatási
+intézményi nyomtatványok, illetve az azokat részben kiváltó informatikai rendszerek alkalmazási
+szabályait:
+
+72. § . (2) Az iskolában csak olyan bizonyítványnyomtatvány, illetve bizonyítvány kiállításához
+szükséges nyomtatvány alkalmazható, amelyet az oktatásért felelős miniszter, szakképesítést tanúsító
+bizonyítvány esetén a szakképzésért és felnőttképzésért felelős miniszter jóváhagyott. A bizonyítványnyomtatvány
+és a bizonyítvány kiállításának alapjául szolgáló nyomtatvány előállításához, forgalmazásához az oktatásért felelős miniszter,
+szakképesítést tanúsító bizonyítvány esetén a szakképzésért és felnőttképzésért felelős miniszter engedélye szükséges.
+Az iskolai nyomtatványok (az év végi bizonyítvány és az állami vizsga teljesítéséről kiállított bizonyítvány
+kivételével (az oktatásért felelős miniszter, szakképesítést tanúsító bizonyítvány esetén a szakképzésért
+és felnőttképzésért felelős miniszter által jóváhagyott rendszer alkalmazásával, a személyiségi,
+adatvédelmi és biztonságvédelmi követelmények megtartásával elektronikus úton is elkészíthetők és
+tárolhatók. A bizonyítvány kiállításának alapjául szolgáló nyomtatványt azonban nyomtatott formában
+is elő kell állítani, és meg kell őrizni.
+
+72. § . (3) A kiadott érettségi bizonyítványokról és a szakképesítést tanúsító bizonyítványokról (a
+vizsgaszabályzatban meghatározottak szerint) központi nyilvántartást kell vezetni.
+
+
+====== 11/1994 MKM rendelet ======
+
+=== A foglalkozási napló ===
+
+5. Az óvodai, a tanórai, a tanórán kívüli, valamint a kollégiumi foglalkozásokról a nevelő munkát végző, illetve a foglalkozást
+tartó pedagógus foglalkozási naplót (csoportnaplót, osztálynaplót, sportnaplót stb.) vezet. A foglalkozási naplót az óvodai nevelés,
+iskolai nevelés és oktatás nyelvén kell vezetni.
+
+=== A tanügyi nyilvántartások vezetése ===
+
+10. a) A pedagógus csak a nevelő-oktató munkával összefüggő feladatokhoz nélkülözhetetlen ügyviteli tevékenységet köteles elvégezni.
+
+b) Az osztályfőnök vezeti az osztálynaplót, a törzslapot, és kiállítja a bizonyítványt, vezeti a továbbtanulással összefüggő nyilvántartást.
+Alapfokú művészetoktatási intézményben a hangszert, illetve a csoportos tantárgyat oktató szaktanár - az intézményvezető megbízása alapján -
+vezeti az egyéni foglalkozási naplót, a csoportos foglalkozási naplót, a törzslapot és kiállítja a bizonyítványt.
+
+====== 11/1994. (VI. 8.) MKM rendelet a nevelési-oktatási intézmények működéséről ======
+
+===== Az iskola által kötelezően használt nyomtatványok =====
+
+1. Alapvizsga bizonyítvány*
+
+2. Beírási napló*
+
+3. Bizonyítvány (szakmai vizsga alapján)+
+
+4. Bizonyítványkönyv*
+
+5. Diákigazolvány*
+
+6. Ellenőrző
+
+7.
+
+8. Érettségi bizonyítvány*
+
+9. Fakultatív záróvizsga-bizonyítványok**
+
+10.
+
+11. Gyógytestnevelési és könnyített testnevelési napló
+
+12.
+
+13. Javítóvizsga-jegyzőkönyv
+
+14. Jegyzőkönyv a vizsgához
+
+15.
+
+16.
+
+17. Nemzetiségi, etnikai bizonyítványkönyv*
+
+18. Nemzetiségi törzslap (volt anyakönyv)*
+
+19. Órarend
+
+20. Órarendi kimutatás
+
+21. Összesítés a vizsgát tett tanulókról
+
+22. Osztálynapló (csoportnapló)
+
+23. Osztályozóív a vizsgához
+
+24. Osztályozóvizsga-jegyzőkönyv
+
+25. Sportnapló
+
+26.
+
+27. Tantárgyfelosztás
+
+28. Törzslap külív (volt anyakönyvi külív és törzslap)*
+
+29. Törzslap külív, belív, érettségi vizsgához*
+
+30. Törzslap külív, belív, szakmai vizsgához+
+
+31. Továbbtanulók nyilvántartása
+
+32. Jegyzőkönyv a tanuló- és gyermekbalesetekről*
+
+33. Nyilvántartás a tanuló- és gyermekbalesetekről*
+
+34. Egyéni foglalkozási napló (a zeneművészeti szakközépiskolában)
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/oktatas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/oktatas.txt
new file mode 100644
index 00000000..5dfe6746
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/oktatas.txt
@@ -0,0 +1,95 @@
+
+====== Óraszámokra vonatkozó szabályok ======
+
+"Az óraszám nem csökkenhet az előírt óraszám 90%-a alá"
+
+==== 1993. évi LXXIX. törvény a közoktatásról ====
+Értelmező rendelkezések
+
+121. § (1) E törvény alkalmazásában
+
+26. oktatás munkarendje: az iskola helyi tantervében meghatározott tananyag elsajátítására történő felkészítés megszervezésének rendje, amely ha a tanórai foglalkozások száma eléri - az iskolában tanítási év átlagában - az e törvény 52. §-ának (3)-(5) bekezdésében meghatározott kötelező tanórai foglalkozások
+
+a) kilencven százalékát, nappali oktatás,
+
+b) ötven százalékát, esti oktatás,
+
+c) tíz százalékát, levelező oktatás
+
+munkarendje szerint folyó oktatás. Más sajátos munkarend szerint folyik az oktatás, ha a tanulónak tanórai foglalkozáson egyáltalán nem kell részt vennie, illetve, ha a tanórai foglalkozások száma nem éri el a levelező oktatásra meghatározott óraszámot;
+
+====== Kötelező tanórai foglalkozások ======
+
+==== 1993. évi LXXIX. törvény a közoktatásról ====
+
+52. § (3) A tanuló kötelező tanórai foglalkozása - a (4) és (6) bekezdés kivételével - nem lehet több
+
+a) az első-harmadik évfolyamon napi négy tanítási óránál;
+
+b) a negyedik-hatodik évfolyamon napi négy vagy öt (heti átlagban négy és fél) tanítási óránál;
+
+c) a hetedik-nyolcadik évfolyamon napi öt tanítási óránál;
+
+d) a kilencedik-tizedik évfolyamon napi öt vagy hat (heti átlagban öt és fél) tanítási óránál;
+
+e) középiskolában - az f)-g) pontban meghatározott kivétellel - a tizenegyedik évfolyamtól napi hat tanítási óránál;
+
+f) a szakképzésben az iskolai és iskolán kívüli gyakorlati képzés a szakképzési törvényben meghatározott időnél;
+
+g) szakképzési évfolyamon, a szakmai elméleti tanítási órák száma napi hét tanítási óránál, egy tanítási napon a szakmai elméleti és szakmai gyakorlati tanítási órák száma napi nyolc tanítási óránál; ha a szakiskola vagy a szakközépiskola művészeti szakmai vizsgára készít fel, párhuzamos oktatás esetén heti átlagban napi nyolc tanítási óránál. Ha a szakiskola vagy a szakközépiskola párhuzamos oktatás keretében készít fel a művészeti szakmai vizsgára, a tanítási év átlagában az általános műveltséget megalapozó pedagógiai szakasz követelményeinek átadására fordított tanítási órák száma nem lehet kevesebb - a (3) bekezdés b)-e) pontjában - az évfolyamra meghatározott tanórai foglalkozás ötven százalékánál.
+
+
+====== Maximális óraszámok ======
+
+==== 243/2003. (XII. 17.) Korm. rendelet ====
+
+a Nemzeti alaptanterv kiadásáról, bevezetéséről és alkalmazásáról
+
+A tanítási órákon való részvétel rendje
+
+6. § (1) A tanuló kötelező és szabadon választott tanítási óráinak
+száma - ha e rendelet másképp nem rendelkezik - egy tanítási napon nem
+lehet több
+
+a) öt tanítási óránál az első-negyedik évfolyamon,
+
+b) hat tanítási óránál az ötödik-hatodik évfolyamon,
+
+c) hét tanítási óránál a hetedik-tizedik évfolyamon,
+
+d) nyolc tanítási óránál a tizenegyedik-tizenharmadik évfolyamon.
+
+(2) Ha az iskolában nemzeti-etnikai kisebbségi iskolai nevelés és
+oktatás folyik, továbbá a két tanítási nyelvű iskolai oktatásban az
+
+(1) bekezdés a), b) és c) pontjában meghatározott tanítási órák száma
+eggyel megnövelhető.
+
+7. § (1) A tanuló kötelező és szabadon választott tanítási óráinak
+összege - ha e rendelet másképp nem rendelkezik - egy tanítási héten,
+a közoktatásról szóló törvény 52. §-ának (3)-(5) bekezdésében
+meghatározott időkeretet
+
+a) az első-negyedik évfolyamon legfeljebb kettő,
+
+b) az ötödik-hatodik évfolyamon legfeljebb három,
+
+c) a hetedik-tizenharmadik évfolyamon legfeljebb négy,
+
+d) ha az iskolában nemzeti-etnikai kisebbségi iskolai nevelés és
+oktatás folyik, továbbá a két tanítási nyelvű iskolai oktatásban
+
+d/a) az első-nyolcadik évfolyamon legfeljebb négy,
+
+d/b) a kilencedik-tizenharmadik évfolyamon legfeljebb öt
+
+tanítási órával haladhatja meg.
+
+(2) Ha a szakképző iskola párhuzamos oktatás keretében készít fel a
+művészeti szakmai vizsgára, a tanítási órák heti átlagban nem
+haladhatják meg a napi nyolc órát.
+
+
+====== Az egyes képzési formák előírt óraszámai ======
+
+(?) \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/osztalyozovizsga.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/osztalyozovizsga.txt
new file mode 100644
index 00000000..94237bac
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/osztalyozovizsga.txt
@@ -0,0 +1,192 @@
+
+====== 11/1994. (VI. 8.) MKM rendelet - a nevelési-oktatási intézmények működéséről ======
+
+21. § (1)
+
+(2)
+
+(3) A tanuló osztályzatait évközi teljesítménye és érdemjegyei vagy az osztályozó vizsgán, a különbözeti vizsgán, a javítóvizsgán nyújtott teljesítménye alapján kell megállapítani. Osztályozó vizsga a szakképző iskolában - a szakképzésre vonatkozó rendelkezések szerint - szervezett beszámoltató vizsga is (a továbbiakban a felsorolt vizsgák együtt: tanulmányok alatti vizsga). A tanulmányok alatti vizsgát iskolában - illetve e rendeletben meghatározottak szerint - független vizsgabizottság előtt lehet tenni. Különbözeti vizsgát a tanuló abban az iskolában tehet, amelyben tanulmányait folytatni kívánja. A szabályosan megtartott tanulmányok alatti vizsga nem ismételhető.
+
+(4) A félévi és a tanév végi osztályzat megállapításához a tanulónak osztályozó vizsgát kell tennie, ha
+
+a) felmentették a tanórai foglalkozásokon való részvétele alól,
+
+b) engedélyezték, hogy egy vagy több tantárgy tanulmányi követelményének egy tanévben, illetve az előírtnál rövidebb idő alatt tegyen eleget,
+
+c) a 20. § (6) bekezdésében meghatározott időnél többet mulasztott, és a nevelőtestület döntése alapján osztályozó vizsgát tehet,
+
+d)
+
+e) a tanuló a félévi, illetőleg év végi osztályzatának megállapítása érdekében független vizsgabizottság előtt tesz vizsgát.
+
+25. § (1) A különbözeti és a beszámoltató vizsgákra tanévenként legalább kettő vizsgaidőszakot ki kell jelölni. Javítóvizsga letételére az augusztus 15-től augusztus 31-ig terjedő időszakban, osztályozó, különbözeti és beszámoltató vizsga esetén a vizsgát megelőző három hónapon belül kell a vizsgaidőszakot kijelölni. Az iskola osztályozó vizsgát a tanítási év során bármikor szervezhet. A vizsgák időpontjáról a tanulót a jelentkezéskor tájékoztatni kell.
+
+(2) Az iskolában tartott tanulmányok alatti vizsga esetén az igazgató, a független vizsgabizottság előtti vizsga esetén a vizsgáztatásra kijelölt intézmény vezetője engedélyezheti, hogy a tanuló az (1) bekezdés szerint előre meghatározott időponttól eltérő időben tegyen vizsgát.
+
+26. § (1) A tanulmányok alatti vizsgát háromtagú vizsgabizottság előtt kell letenni. Ha a tanulmányok alatti vizsgát az iskola szervezi, a vizsgabizottság az iskola pedagógusaiból áll. A vizsgáztatásra kijelölt intézmény által szervezett független vizsgabizottságnak nem lehet tagja az a pedagógus, aki abban az iskolában tanít, amellyel a tanuló tanulói jogviszonyban áll.
+
+(2) A tanulmányok alatti vizsga követelményeit, részeit (írásbeli, szóbeli, gyakorlati) és az értékelés rendjét a nevelőtestület a helyi tanterv alapján határozza meg, és a helyben szokásos módon nyilvánosságra hozza. A tanulmányok alatti vizsga - ha azt az iskolában szervezik - vizsgabizottságának elnökét és tagjait az igazgató, a független vizsgabizottság elnökét és tagjait pedig a vizsgáztatásra kijelölt intézmény vezetője bízza meg. A tanulmányok alatti vizsgák lebonyolításakor figyelemmel kell lenni e rendelet 9. számú mellékletének rendelkezéseire.
+
+=== Záradék ===
+
+4. Tanulmányait évfolyamismétléssel kezdheti meg, illetve osztályozó vizsga letételével folytathatja. Bn., TI., N.
+
+==== 9. számú melléklet a 11/1994. (VI. 8.) MKM rendelethez ====
+
+=== A tanulmányok alatti vizsgák eljárási szabályai ===
+
+A tanulmányok alatti vizsga vizsgabizottsága
+
+1.1. A vizsgabizottság elnöke felel a vizsga szakszerű és törvényes megtartásáért, a vizsgabizottság törvényes működéséért. A vizsgabizottság elnökének feladatai különösen:
+
+a) meggyőződik arról, hogy a vizsgázó jogosult-e a vizsga megkezdésére, illetőleg teljesítette-e a vizsga letételéhez előírt feltételeket, továbbá szükség esetén kezdeményezi a szabálytalanul vizsgázni szándékozók kizárását,
+
+b) vezeti a szóbeli vizsgákat és a vizsgabizottság értekezleteit,
+
+c) átvizsgálja a vizsgával kapcsolatos iratokat, a szabályzatban foglaltak szerint aláírja a vizsga iratait,
+
+d) a vizsgabizottság értekezletein véleményeltérés esetén szavazást rendel el.
+
+1.2. Az elnök feladatainak ellátásába a vizsgabizottság tagjait bevonhatja. A kérdező tanár csak a vizsga tárgya szerinti tantárgynak megfelelő szakos tanári végzettséggel és szakképzettséggel rendelkező pedagógus lehet.
+
+1.3. A vizsgabizottság munkáját, a vizsgát az igazgató készíti elő. Az igazgató felel a vizsga törvényes előkészítéséért és zavartalan lebonyolítása feltételeinek megteremtéséért.
+
+1.4. Az igazgató feladata különösen:
+
+a) dönt minden olyan, a vizsga előkészítésével és lebonyolításával összefüggő ügyben, amelyet a helyben meghatározott szabályok nem utalnak más jogkörébe,
+
+b) írásban kiadja az előírt megbízásokat, szükség esetén gondoskodik a helyettesítésről,
+
+c) ellenőrzi a vizsgáztatás rendjének megtartását,
+
+d) minden szükséges intézkedést megtesz annak érdekében, hogy a vizsgát szabályosan, pontosan meg lehessen kezdeni és be lehessen fejezni.
+
+1.5. Az igazgató feladatainak ellátásában közreműködhet - az igazgató megbízása alapján - az igazgató helyettese vagy más megbízottja.
+
+1.6. A vizsga reggel nyolc óra előtt nem kezdhető el, és legfeljebb tizennyolc óráig tarthat.
+
+=== Az írásbeli vizsga menete ===
+
+2.1. Az írásbeli vizsgára vonatkozó rendelkezéseket kell alkalmazni a gyakorlati vizsgára, amennyiben a vizsgafeladat megoldását valamilyen rögzített módon, a vizsga befejezését követően a vizsgáztató tanár által javítható formában kell elkészíteni (pl. rajz, műszaki rajz, festmény, számítástechnikai program). A gyakorlati vizsgán a 2.8. pont szerinti szabályokat akkor kell alkalmazni, ha a vizsgatantárgy általános vizsgakövetelményei eltérő rendelkezést nem állapítanak meg.
+
+2.2. A vizsgateremben az ülésrendet a vizsga kezdetekor a vizsgáztató tanár úgy köteles kialakítani, hogy a vizsgázók egymást ne zavarhassák és ne segíthessék.
+
+2.3. A vizsga kezdetekor a vizsgaelnök a vizsgáztató tanár jelenlétében megállapítja a jelenlévők személyazonosságát, ismerteti az írásbeli vizsga szabályait, majd kihirdeti az írásbeli tételeket.
+
+2.4. A vizsgázóknak a feladat elkészítéséhez útbaigazítás, segítség nem adható.
+
+2.5. Az írásbeli vizsgán csak a vizsgát szervező iskola bélyegzőjével ellátott lapon, feladatlapokon, tétellapokon (a továbbiakban együtt: feladatlap) lehet dolgozni. A rajzokat ceruzával, minden egyéb írásbeli munkát tintával (golyóstollal) kell elkészíteni. A feladatlap előírhatja az írógép, számítógép használatát.
+
+2.6. Az íróeszközökről a vizsgázók, az iskola helyi tanterve alapján a vizsgához szükséges segédeszközökről az iskola gondoskodik; azokat egymás között nem cserélhetik.
+
+2.7. A vizsgázó az írásbeli válaszok kidolgozásának megkezdése előtt mindegyik átvett feladatlapon feltünteti nevét, a vizsganap keltét, a tantárgy megnevezését. Vázlatot, jegyzetet csak ezeken a lapokon lehet készíteni.
+
+2.8. A vizsgázónak az írásbeli feladatok megválaszolásához rendelkezésre álló maximális idő vizsgatantárgyanként
+
+a) negyvenöt perc,
+
+b) nemzeti, etnikai kisebbség nyelve, illetve célnyelv használata esetén hatvan perc,
+
+c) magyar nyelv és irodalom, valamint nemzeti, etnikai kisebbségi anyanyelv és irodalom vizsgatantárgy esetén hatvan perc.
+
+2.9. Ha az írásbeli vizsgát bármilyen esemény megzavarja, a kiesett idővel a rendelkezésre álló időt meg kell növelni.
+
+2.10. A közoktatási törvény 30. §-ának (9) bekezdése alapján a vizsgázó kérésére, az igazgató engedélye alapján
+
+a) az írásbeli feladatok megválaszolásához rendelkezésre álló időt legfeljebb harminc perccel meg kell növelni,
+
+b) lehetővé kell tenni, hogy az iskolai tanulmányok során alkalmazott segédeszközt használja,
+
+c) engedélyezni kell, hogy írásbeli vizsga helyett szóbeli vizsgát tegyen.
+
+2.11. Egy vizsganapon egy vizsgázó vonatkozásában legfeljebb két írásbeli vizsgát lehet megtartani. A vizsgák között pihenőidőt kell a vizsgázók részére biztosítani. A pótlóvizsga (2.15-2.16. pontok) harmadik vizsgaként - szükség esetén újabb pihenőidő beiktatásával - is megszervezhető.
+
+2.12. Ha a vizsgáztató tanár az írásbeli vizsgán szabálytalanságot észlel, elveszi a vizsgázó feladatlapját, ráírja, hogy milyen szabálytalanságot észlelt, továbbá az elvétel pontos idejét, aláírja és visszaadja a vizsgázónak, aki folytathatja az írásbeli vizsgát. A vizsgáztató tanár a szabálytalanság tényét és a megtett intézkedést írásban jelenti az igazgatónak.
+
+2.13. Az igazgató az írásbeli vizsga befejezését követően haladéktalanul kivizsgálja a szabálytalanság elkövetésével kapcsolatos bejelentést. Megállapításait részletes jegyzőkönyvbe foglalja. A jegyzőkönyvnek tartalmaznia kell a vizsgázó és a vizsgáztató tanár nyilatkozatát, továbbá minden olyan tényt, adatot, információt, esemény leírását, amely lehetővé teszi a szabálytalanság elkövetésének kivizsgálását. A jegyzőkönyvet a vizsgáztató tanár, az iskola igazgatója és a vizsgázó írja alá. A vizsgázó külön véleményét a jegyzőkönyvre rávezetheti.
+
+2.14. Az igazgató az írásbeli vizsga folyamán készített jegyzőkönyveket és a feladatlapokat - az üres és a piszkozatokat tartalmazó feladatlapokkal együtt - a kidolgozási idő lejártával átveszi a vizsgáztató tanároktól. A jegyzőkönyveket aláírásával - az időpont feltüntetésével - lezárja és a vizsgairatokhoz mellékeli.
+
+2.15. Ha a vizsgázó az írásbeli vizsgáról fel nem róható okból elkésik, távol marad, a megkezdett vizsgáról engedéllyel eltávozik mielőtt a válaszadást befejezné
+
+a) az igazgató - ha ehhez a feltételek megteremthetőek - hozzájárulhat ahhoz, hogy az adott vizsganapon, vagy a vizsgázó és az intézmény számára megszervezhető legközelebbi időpontban a vizsgázó pótlóvizsgát tegyen,
+
+b) a vizsgázó kérésére a vizsga megszakításáig az írásbeli vizsgakérdésekre adott válaszokat értékelni kell.
+
+2.16. Ha a vizsgázó az írásbeli vizsgáról felróható okból elkésik, távol marad, vagy a vizsgáról engedély nélkül eltávozik, az adott vizsgatantárgyból javítóvizsgát tehet az igazgató által meghatározott időben.
+
+2.17. A 2.16. és e pont alkalmazásában a vizsgázónak fel nem róható ok, minden olyan a vizsgán való részvételt gátló esemény, körülmény, amelynek bekövetkezése nem vezethető vissza a vizsgázó szándékos vagy gondatlan magatartására.
+
+2.18. Az írásbeli vizsga feladatlapjait a vizsgáztató tanár haladéktalanul kijavítja, a hibákat, tévedéseket a tanuló által használt tintától jól megkülönböztethető színű tintával megjelöli, röviden értékeli a vizsgakérdésekre adott megoldásokat.
+
+2.19. Ha a vizsgáztató tanár a feladatlapok javítása során arra a feltételezésre jut, hogy a vizsgázó meg nem engedett segédeszközt használt, segítséget vett igénybe, megállapítását rávezeti a feladatlapra, és értesíti az igazgatót.
+
+2.20. Ha a vizsgázó a vizsga során szabálytalanságot követett el, az iskola igazgatójából és két másik - a vizsgabizottság munkájában részt nem vevő - tanárból álló háromtagú bizottság a cselekmény súlyosságának mérlegelésével a következő döntést hozhatja:
+
+a) a vizsgakérdésre adott megoldást részben vagy egészben érvénytelennek nyilvánítja, és az érvénytelen rész figyelmen kívül hagyásával értékeli a vizsgán nyújtott teljesítményt,
+
+b) az adott vizsgatantárgyból - a javítóvizsga kivételével - a vizsgázót javítóvizsgára utasítja.
+
+2.21. A szabálytalansággal összefüggésben hozott döntést és annak indokait határozatba kell foglalni.
+
+=== A szóbeli vizsga menete ===
+
+3.1. Egy vizsgázónak egy napra legfeljebb három vizsgatárgyból szervezhető szóbeli vizsga.
+
+3.2. A vizsgázónak legalább tíz perccel korábban meg kell jelennie a vizsga helyszínén, mint amely időpontban az a vizsgacsoport megkezdi a vizsgát, amelybe beosztották.
+
+3.3. A vizsgateremben egy időben legfeljebb hat vizsgázó tartózkodhat.
+
+3.4. A szóbeli vizsgán a vizsgázó vizsgatantárgyanként húz tételt vagy kifejtendő feladatot, és kiválasztja a tétel kifejtéséhez szükséges segédeszközt. Az egyes tantárgyak szóbeli vizsgáihoz szükséges segédeszközökről a vizsgáztató tanár gondoskodik.
+
+3.5. A tételben szereplő kérdések megoldásának sorrendjét a vizsgázó határozza meg.
+
+3.6. A vizsgázó útbaigazítás és támogatás nélkül, önállóan felel, de ha elakad, a vizsgabizottság tagjaitól vagy a vizsgáztató tanártól kaphat segítséget. A vizsgázók a vizsgateremben egymással nem beszélgethetnek, egymást nem segíthetik.
+
+3.7. Minden vizsgázónak vizsgatantárgyanként legalább húsz perc gondolkodási időt kell biztosítani a felkészülésre. A felkészülési idő alatt a vizsgázó jegyzetet készíthet, de gondolatait szabad előadásban kell elmondania.
+
+3.8. Egy-egy vizsgatantárgyból a feleltetés időtartama tíz percnél nem lehet több. A vizsgabizottság tagjai a tétellel kapcsolatosan a vizsgázónak kérdéseket tehetnek fel, ha meggyőződtek arról, hogy a vizsgázó a tétel kifejtését befejezte vagy a tétel kifejtésében elakadt. A vizsgázót nem szabad félrevezetni, gondolkodásában, a tétel kifejtésében megzavarni. A vizsgázó a tétel kifejtésében akkor szakítható félbe, ha a rendelkezésére álló idő letelt.
+
+3.9. Ha a vizsgázó a húzott tétel anyagából teljes tájékozatlanságot árul el, az elnök egy alkalommal póttételt húzat vagy pótfeladatot biztosít részére.
+
+3.10. Ha vizsgázó a feleletet befejezte, a következő vizsgatantárgyból történő tételhúzás előtt, legalább harminc perc pihenőidőt kell számára biztosítani, amely alatt a vizsgahelyiséget elhagyhatja.
+
+3.11. Ha a vizsgázó befejezte a tétel kifejtését, a vizsgabizottság elnöke rávezeti a javasolt értékelést a vizsgajegyzőkönyvre.
+
+3.12. A közoktatásról szóló törvény 30. §-ának (9) bekezdése alapján a vizsgázó kérésére, az igazgató engedélye alapján
+
+a) a húsz perc gondolkodási időt legfeljebb tíz perccel meg kell növelni,
+
+b) engedélyezni kell, hogy a szóbeli vizsga helyett írásbeli vizsgát tegyen.
+
+3.13. Ha a vizsgázónak a közoktatásról szóló törvény 30. §-ának (9) bekezdése alapján engedélyezték, hogy az írásbeli vizsga helyett szóbeli vizsgát tegyen, és a vizsga írásbeli és szóbeli vizsgarészekből áll, két vizsgatételt kell húznia és kifejtenie. A felkészüléshez és a tétel kifejtéséhez rendelkezésre álló időt tételenként kell számítani. A vizsgázó kérésére a második tétel kifejtése előtt legfeljebb tíz perc pihenőidőt kell adni, amely alatt a vizsgázó a vizsgahelyiséget elhagyhatja.
+
+3.14. Ha a vizsgázó a szóbeli vizsga helyett írásbeli vizsgát tesz, a vizsgatétel kihúzása után külön helyiségben, vizsgáztató tanár mellett készíti el dolgozatát. A dolgozat elkészítésére harminc percet kell biztosítani. A dolgozatot a vizsgázó vagy a vizsgázó kérésére a vizsgáztató tanár felolvassa.
+
+3.15. Ha a szóbeli vizsgán a vizsgázó szabálytalanságot követ el, vagy a vizsga rendjét zavarja, a vizsgabizottság elnöke figyelmezteti a vizsgázót, hogy a szóbeli vizsgát befejezheti ugyan, de ha szabálytalanság elkövetését, a vizsga rendjének megzavarását, a vizsgabizottság megállapítja, az elért eredményt megsemmisítheti. A figyelmeztetést a vizsga jegyzőkönyvében fel kell tüntetni.
+
+3.16. A szóbeli vizsgán és a gyakorlati vizsgán elkövetett szabálytalanság, a felróható, vagy fel nem róható okból történő vizsga megszakítás, vagy a vizsgán meg nem jelenés esetében az igazgató a 2.13., 2.15-2.18., 2.21. pontokban leírtak szerint jár el.
+
+=== A gyakorlati vizsgarész ===
+
+4.1. A gyakorlati vizsgafeladatokat - legkésőbb a vizsgát megelőző két hónappal - a vizsgabizottság elnöke javaslatára az igazgató hagyja jóvá.
+
+4.2. A gyakorlati vizsgarészt akkor lehet megkezdeni, ha a vizsgabizottság elnöke meggyőződött a feltételek meglétéről. A gyakorlati vizsgarész a vizsgafeladatok elvégzéséhez szükséges személyi és tárgyi feltételek megléte esetén kezdhető meg, illetőleg folytatható.
+
+4.3. A gyakorlati vizsgarész megkezdése előtt a vizsgázókat tájékoztatni kell a gyakorlati vizsgarész rendjéről és a vizsgával kapcsolatos egyéb tudnivalókról, továbbá a gyakorlati vizsgarész helyére és a munkavégzésre vonatkozó munkavédelmi, tűzvédelmi, egészségvédelmi előírásokról.
+
+4.4. A gyakorlati vizsgafeladatok végrehajtásához az adott tantárgynál helyben meghatározott idő áll a rendelkezésére. Ebbe az időbe a vizsgafeladatok ismertetésének ideje nem számít bele. A gyakorlati vizsgarész végrehajtásához rendelkezésre álló idő feladatok szerinti megosztása tekintetében a vizsgafeladatok leírása tartalmazhat rendelkezéseket.
+
+4.5. Nem számítható be a vizsgafeladatok végrehajtására rendelkezésre álló időbe a vizsgázónak fel nem róható okból kieső idő.
+
+4.6. A gyakorlati vizsgarészt - a vizsgafeladatok számától függetlenül - egy érdemjeggyel kell értékelni.
+
+4.7. A vizsgamunkát érdemjeggyel kell értékelni. Az értékelésben fel kell tüntetni a vizsgázó nevét, születési helyét és idejét, a tanszak megnevezését, a vizsgamunka tárgyát, a végzett munka értékelését és a javasolt osztályzatot. Az értékelést a gyakorlati oktatást végző szaktanár írja alá.
+
+4.8. A vizsgázó gyakorlati vizsgarész osztályzatát a vizsgamunkára és a vizsga helyszínén készített önálló gyakorlati alkotásra kapott érdemjegyek alapján kell meghatározni.
+
+====== 11/1994. (VI. 8.) MKM rendelet a nevelési-oktatási intézmények működéséről ======
+
+===== Irattári terv =====
+
+22. Vizsgajegyzőkönyvek 5
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/pedagogiai_program.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/pedagogiai_program.txt
new file mode 100644
index 00000000..b911a255
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/pedagogiai_program.txt
@@ -0,0 +1,64 @@
+
+===== A Pedagógiai Programról =====
+
+==== 1993. évi LXXIX. törvény a közoktatásról ====
+
+44. § (1) A nevelési-oktatási intézményben a nevelő és oktató munka
+nevelési, illetve pedagógiai program szerint folyik. A nevelési,
+illetve pedagógiai programot a nevelőtestület fogadja el, és a
+fenntartó jóváhagyásával válik érvényessé. A fenntartó a nevelési
+program és a pedagógiai program jóváhagyása előtt köteles az adott
+intézménytípusnak megfelelő szakterületen eljárni jogosult közoktatási
+szakértő véleményét beszerezni. Ha ilyen közoktatási szakértő nincs az
+intézménytípusnak megfelelő szakterület, olyan szakember kell
+beszerezni, akinek az adott intézménytípusban legalább öt év
+pedagógus-munkakörben szerzett gyakorlata van.
+
+(2) A nevelési, illetve pedagógiai programot a nevelési-oktatási
+intézmény honlapján, annak hiányában a helyben szokásos módon
+nyilvánosságra kell hozni. A szülőket a megelőző tanév végén
+tájékoztatni kell azokról a tankönyvekről, tanulmányi segédletekről,
+taneszközökről, ruházati és más felszerelésekről, amelyekre a
+következő tanévben a nevelő és oktató munkához szükség lesz.
+Tájékoztatni kell őket továbbá az iskolától kölcsönözhető
+tankönyvekről, taneszközökről és más felszerelésekről, valamint arról
+is, hogy az iskola milyen segítséget tud nyújtani a szülői kiadások
+csökkentéséhez.
+
+45. §
+(2) Az iskola pedagógiai programot, annak részeként - ha e törvény másként nem rendelkezik - a Nemzeti alaptanterv alapján helyi tantervet készít,
+vagy az ilyen módon készített helyi tantervek közül választ, és azt építi be helyi tantervként a pedagógiai programjába. Az iskola az oktatásért
+felelős miniszter által kiadott kerettantervek alapján is elkészítheti helyi tantervét, illetve a kerettantervet is beépítheti helyi tantervként a
+pedagógiai programjába. A középiskola a helyi tantervének elkészítéséhez figyelembe veszi az érettségi vizsga vizsgatárgyainak vizsgakövetelményeit is.
+
+46. § (1) Az iskola helyi tantervének - a szakképzés kivételével - biztosítania kell az iskolaváltást, a tanuló átvételét, szükség esetén különbözeti
+vizsgával vagy évfolyamismétléssel.
+
+48. § (1) Az iskola pedagógiai programja meghatározza:
+
+a) az iskola nevelési programját, ennek keretén belül
+ - az iskolában folyó nevelő-oktató munka pedagógiai alapelveit, céljait, feladatait, eszközeit, eljárásait,
+ - a személyiségfejlesztéssel kapcsolatos pedagógiai feladatokat,
+ - a közösségfejlesztéssel kapcsolatos feladatokat,
+ - a beilleszkedési, magatartási nehézségekkel összefüggő pedagógiai tevékenységet,
+ - a tehetség, képesség kibontakoztatását segítő tevékenységet,
+ - a gyermek- és ifjúságvédelemmel kapcsolatos feladatokat,
+ - a tanulási kudarcnak kitett tanulók felzárkóztatását segítő programot,
+ - a szociális hátrányok enyhítését segítő tevékenységet,
+ - a pedagógiai program végrehajtásához szükséges nevelő-oktató munkát segítő eszközök és felszerelések jegyzékét,
+ - a szülő, tanuló, iskolai és kollégiumi pedagógus együttműködésének formáit, továbbfejlesztésének lehetőségeit,
+
+b) az iskola helyi tantervét, ennek keretén belül
+ - az iskola egyes évfolyamain tanított tantárgyakat, a kötelező és választható tanórai foglalkozásokat, valamint azok óraszámait, az előírt tananyagot és követelményeit,
+ - az oktatásban alkalmazható tankönyvek, tanulmányi segédletek és taneszközök kiválasztásának elveit, figyelembe véve a tankönyv ingyenes igénybevétele biztosításának kötelezettségét,
+ - az iskola magasabb évfolyamára lépés feltételeit,
+ - az iskolai beszámoltatás, az ismeretek számonkérésének követelményeit és formáit, a tanuló magatartása, szorgalma értékelésének és minősítésének követelményeit, továbbá - jogszabály keretei között - a tanuló teljesítménye, magatartása és szorgalma értékelésének, minősítésének formáját,
+ - moduláris oktatás esetén az egyes modulok értékelését és minősítését, valamint beszámítását az iskolai évfolyam sikeres befejezésébe,
+ - a középszintű érettségi vizsga témaköreit,
+
+(4) Az iskola pedagógiai programjában meg kell határozni
+
+a) az iskolai írásbeli beszámoltatások formáit, rendjét, korlátait, a tanulók tudásának értékelésében betöltött szerepét, súlyát,
+
+b) az otthoni (napközis és tanulószobai) felkészüléshez előírt írásbeli és szóbeli feladatok meghatározásának elveit és korlátjait.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/pedagogus_munkakor.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/pedagogus_munkakor.txt
new file mode 100644
index 00000000..e55b5ecc
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/pedagogus_munkakor.txt
@@ -0,0 +1,74 @@
+====== A szükséges szakképesítésről ======
+
+17. § (1) Ha e törvény másképp nem rendelkezik, nevelési-oktatási intézményben pedagógus-munkakörben az alkalmazható, aki az e törvényben meghatározott felsőfokú iskolai (egyetemi vagy főiskolai szintű) végzettséggel és szakképzettséggel rendelkezik. A megfelelő felsőfokú iskolai végzettségek és szakképzettségek a következők:
+
+b) az iskolai oktatás első-negyedik évfolyamán
+
+- valamennyi tantárgyhoz a tanítói, konduktor-tanítói, konduktori (a továbbiakban a konduktori és a konduktor-tanítói végzettség együtt: konduktor),
+
+- a testnevelés tantárgyhoz a tantárgynak megfelelő tanári,
+
+- feltéve, hogy e területeken az iskolában a helyi tantervben foglaltak alapján emelt szintű oktatás folyik, a művészetek, az idegen nyelv, a nemzetiségi és etnikai kisebbségi nyelv és irodalom tantárgyakhoz a tantárgynak megfelelő tanári;
+
+c) az iskolai oktatás ötödik-hatodik évfolyamán a nem szakrendszerű oktatásban a b) pontban meghatározottak szerinti, a szakrendszerű oktatásban a tantárgynak megfelelő szakos tanári vagy a műveltségi területnek megfelelő képesítést nyújtó tanítói;
+
+d) az iskolai oktatás hetedik-nyolcadik, továbbá a középiskola kivételével a kilencedik-tizedik évfolyamán a tantárgynak megfelelő szakos tanári;
+
+e) középiskolában a kilencedik évfolyamtól kezdődően a tantárgynak megfelelő szakos egyetemi szintű tanári, a művészetek, a testnevelés, a technika-gyakorlati foglalkozás tantárgyak esetén a tantárgynak megfelelő tanári;
+
+g) szakközépiskolában és szakiskolában a szakmai elméleti tantárgyat vagy szakmai előkészítő ismeretet, valamint a szakmai alapozó és a pályaorientáció ismeretet oktató pedagógusnak a képzés szakirányának megfelelő tanári vagy a képzés szakirányának megfelelő felsőfokú, a pályaorientáció és a szakmai alapozó oktatásban, továbbá a d) pontban meghatározott;
+
+i) szakközépiskolában és szakiskolában a gyakorlati képzést végző pedagógusnak, továbbá gimnáziumban a munkába állást előkészítő, illetve segítő elméleti és gyakorlati foglalkozást tartó pedagógusnak a képzés szakirányának megfelelő tanári vagy a képzés szakirányának megfelelő felsőfokú;
+
+j) napközi otthoni és tanulószobai foglalkozáson az iskolatípusnak, kollégiumban az érdekelt iskoláknak megfelelő, a b)-f) pontban felsorolt vagy szociálpedagógus, pedagógiai szakpszichológus, pedagógia szakos, illetve nevelőtanár szakos;
+
+k) alapfokú művészetoktatási intézményben, művészeti szakközépiskolában, szakiskolában a művészeti szakmai tantárgyakat oktató pedagógusnak a művészeti tárgynak megfelelő szakirányú tanári, az alapfokú művészetoktatási intézmény előképző és alapfokú évfolyamain továbbá a művészeti tárgynak megfelelő szakirányú tanítói vagy művész; művészeti szakközépiskolában, ha van a képzés szakirányának megfelelő egyetemi szintű képzés, a tizenegyedik évfolyamtól a művészeti tárgynak megfelelő egyetemi szintű tanári, illetve művész;
+
+l) a j) pontban fel nem sorolt tanórán kívüli foglalkozás megtartásához a foglalkozás tartalmi követelményeihez igazodó, a b)-j) pontban felsorolt;
+
+m) iskolai, kollégiumi könyvtárostanárnak (tanítónak) az iskolában, kollégiumban pedagógus-munkakör betöltésére jogosító a b)-e), illetve j) pontban felsorolt tanítói, tanári és könyvtáros
+
+végzettség és szakképzettség.
+
+(2) Idegen nyelv oktatására - minden iskolatípusban - alkalmazható, aki nyelvtanári vagy idegen nyelv- és irodalom szakos tanári végzettséggel és szakképzettséggel rendelkezik.
+
+(3) Ha az óvodai nevelés, iskolai nevelés és oktatás, kollégiumi nevelés nyelve a nemzeti vagy etnikai kisebbség nyelve, illetve nem magyar nyelv, az adott nyelven folyó nevelő és oktató munkához pedagógus-munkakörben - a nevelési-oktatási intézmény típusához igazodva - az alkalmazható, aki
+
+a) nemzetiségi óvodapedagógus, nemzetiségi tanítói oklevéllel rendelkezik,
+
+b) az (1) bekezdésben meghatározott felsőfokú iskolai végzettséggel és szakképzettséggel, valamint az iskolai és kollégiumi nevelés-oktatás nyelvének tanítására jogosító tanítói, tanári, nyelvtanári végzettséggel és szakképzettséggel rendelkezik,
+
+c) az (1) bekezdés d)-e) pontjában meghatározott felsőfokú iskolai végzettséggel és szakképzettséggel rendelkezik, továbbá az alapképzésben vagy a szakirányú továbbképzésben elsajátította az adott tantárgy kisebbségi nyelven történő oktatásához, illetve nem magyar nyelven történő oktatásához szükséges nyelvi ismereteket,
+
+d) a Magyar Köztársaságban honosított, az (1) bekezdés szerinti pedagógus-munkakör betöltésére jogosító, a tanítás nyelvének megfelelő oklevéllel rendelkezik.
+
+(4) Iskolapszichológusként az alkalmazható, aki pedagógiai szakpszichológus végzettséggel és szakképzettséggel, vagy pszichológus és pedagógus végzettséggel és szakképzettséggel rendelkezik.
+
+(5) Azt, aki az (1)-(4) bekezdésben előírt felsőfokú iskolai végzettsége és szakképzettsége mellett egyetemi vagy főiskolai szakirányú továbbképzésben pedagógus-szakvizsgát (a továbbiakban: pedagógus-szakvizsga) tett, szakvizsgázott pedagógus-munkakörben kell foglalkoztatni.
+
+(6) A pedagógus-szakvizsgára történő felkészülés
+
+a) hozzájárul az alapképzésben megszerzett ismeretek és jártasság megújításához, kiegészítéséhez, a pedagógus-munkakörrel együtt járó feladatok ellátásához szükséges gyakorlat, képesség, pedagógus pályára való alkalmasság fejlesztéséhez,
+
+b) hozzájárulhat a vezetői, a szakértői, a vizsgaelnöki, a vezetőtanári (gyakorlatvezető óvónői, tanítói) tevékenységhez, a pedagógiai szakmai szolgáltatások, a pedagógiai szakszolgálatok ellátásához szükséges ismeretek megszerzéséhez, továbbá
+
+c) az alapképzésben szerzett ismeretekhez szorosan nem kötődő új ismereteket nyújthat.
+
+(7) Tantárgyi modul (tánc és dráma, hon- és népismeret, egészségtan, mozgókép- és médiaismeret, etika, társadalomismeret stb.) oktatására a megfelelő szakos tanári végzettség és szakképzettség, vagy a munkakörre előírt végzettség és szakképzettség mellett a tantárgyi modulnak megfelelő szakirányú továbbképzésben szerzett szakképzettség jogosít.
+
+(8) Nem szakrendszerű oktatásban a tanár akkor taníthat, ha legalább százhúsz órás pedagógus-továbbképzés vagy szakirányú továbbképzés keretében történő felkészülés keretében elsajátította a hat-tizenkét éves korosztály életkori sajátosságaihoz illeszkedő pedagógiai, pszichológiai ismereteket és az eredményes felkészítéséhez szükséges módszereket. E rendelkezéseket alkalmazni kell a szakkollégiumi végzettséggel nem rendelkező tanítóra is, azzal az eltéréssel, hogy a felkészülés során a tizenegy-tizenkettő éves korosztály neveléséhez-oktatásához szükséges ismereteket sajátítsa el.
+
+(10) Pedagógusképző felsőoktatási intézmény hallgatójának óvodai, iskolai gyakorlati képzésének vezetésére vagy pedagógusok továbbképzésére vezető tanári (gyakorlatvezető óvónői, tanítói), továbbá szaktanácsadói megbízást az kaphat, akinek pedagógus-munkakör betöltéséhez szükséges felsőfokú iskolai végzettsége és szakképzettsége, továbbá pedagógus-szakvizsgája, valamint a nevelő-oktató munkában eltöltött legalább ötéves szakmai gyakorlata van.
+
+(11) A nem felsőoktatási intézmény által fenntartott óvodában vagy iskolában a pedagógusképzést folytató felsőoktatási intézmény hallgatójának óvodai gyakorlati foglalkozásával, pedagógiai gyakorlatával kapcsolatos feladatok ellátásában, továbbá a pedagógusok továbbképzésében a vezető tanár (gyakorlatvezető óvónő, tanító) részt vehet
+
+a) a felsőoktatási intézmény és a nevelési-oktatási intézmény megállapodása;
+
+b) a felsőoktatási intézménnyel kötött megállapodás;
+
+c) a nevelési-oktatási intézmény fenntartójával kötött megállapodás
+
+alapján.
+
+(12) A szaktanácsadói feladatok ellátásában a megbízóval kötött megállapodás alapján lehet részt venni.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/sni.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/sni.txt
new file mode 100644
index 00000000..cf13a8a3
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/sni.txt
@@ -0,0 +1,265 @@
+====== Sajátos nevelési igény ======
+
+pontosabban //különleges oktatási-nevelési szükséglet//
+
+>> 1993. évi LXXIX. törvény a közoktatásról - Értelmező rendelkezések
+>> **121. §** (1)
+>> 29. sajátos nevelési igényű gyermek, tanuló: az a gyermek, tanuló, aki a szakértői és rehabilitációs bizottság szakvéleménye alapján
+>> a) testi, érzékszervi, értelmi, beszédfogyatékos, autista, több fogyatékosság együttes előfordulása esetén halmozottan fogyatékos, a megismerő funkciók vagy a viselkedés fejlődésének organikus okra visszavezethető tartós és súlyos rendellenességével küzd,
+>> b) a megismerő funkciók vagy a viselkedés fejlődésének organikus okra vissza nem vezethető tartós és súlyos rendellenességével küzd;
+
+Tehát a törvény két kategóriát különböztet meg. Az elsőt nevezhetjük **fogyatékos**nak, vagy fogyatékkal élőnek, míg a második a **pszichés/kognitív zavar**ral küzdő.
+
+===== SNI főcsoportok =====
+
+Az SNI ma Magyarországon a vegyes szakterminológia, a jogi szabályozás, a finanszírozási modell és a statisztikai célú felhasználás hibrid fogalomegyüttese.
+
+A magyar jogi szövegekben az SNI meghatározásában mindenekelőtt az ellátás és finanszírozás, nem pedig a szakmai szempontok domináltak (és dominálnak), jóllehet magyarra átültetésében a gyógypedagógia hazai terminológiája a volt a főként meghatározó. A sérülés, fogyatékosság, zavar, nehézség és számos más kifejezés az angol szakterminológia (az angolszász hagyományokban igen erős neuropszichológia jól definiált szakkifejezései) tükörfordításából, sokszor félreértelmezéséből egy sajátos szakmai fogalomzavar alakult ki.
+
+A magyar törvényi szabályozás és ennek következményeként (bár a gyakorlat tapasztalatait tekintve inkább előzményeként) az ellátás jellegzetesen hibrid, esetenként szakmailag pontatlan kategóriákat használ. Megtölti tehát az SNI egyes alcsoportjait a diagnosztika korszerű és elavult címkéinek sora, miközben a kategóriái részben követik (vagy követni szeretnék) az OECD finanszírozási modelljeit. Mindezek alapján elmondható tehát, hogy az SNI nem szakmai, hanem finanszírozási kategória, azaz az SNI-be való bekerülés ( a konkrét diagnosztikai kategória szerint megnevezve) fenntartói és nem hátránycsökkentési érdek
+
+A gyakran félreértett SNI besorolások tehát nem szakmai (diagnosztikai, fejlesztési) szempontokat tükröznek elsősorban, hanem statisztikai összemérhetőséget. Az SNI miatt kiemelten támogatott diákokról készült statisztikák tehát az oktatáspolitika informálását és nem az érintettek szakmai ellátásának rendszerét szolgálják első helyen. A magyarországi SNI adatok azonban más célokra is felhasználásra kerülnek, a statisztikai kategóriák pedig az atipikus fejlődés és a fejlődésben akadályozott gyerekek diagnosztikai elnevezéseivel telnek meg.
+
+A hazai SNI-szabályozásba jelenleg nem fér bele a beteg gyerekek különleges oktatáshoz való jogának kérdése (Finnországban ez SNI-kategória). Ez igen kritikus olyan estekben, amikor a gyermek tartósan kórházban (pl. leukémia), vagy gyerekközösségtől elszakadva (közösségben nem oktathatónak minősített), otthon van.
+A jelenlegi törvényben tehát a tartósan beteg gyerekek különleges oktatáshoz való joga alig érvényesül.
+
+A fentiek tükrében a lehetetlen vállalkozásba fogunk: SNI kategóriákat próbálunk kialakítani:
+
+ - Fogyatékosság, akadályozottság
+ - tanulási akadályozottság
+ - **enyhe mértékű értelmi fogyatékosság** (BNO: F70)
+ - értelmi akadályozottság
+ - **közepes (középsúlyos) értelmi fogyatékosság** (BNO: F71)
+ - súlyos értelmi fogyatékosság (BNO: F72)
+ - mélyen súlyos értelmi fogyatékosság (BNO: F73)
+ - **autizmus**1;1D (BNO: F84.0 , F84.1, F84.5, F84.9)
+ - **mozgáskorlátozottság**
+ - **hallássérült**
+ - **látássérült**
+ - **beszédfogyatékos**
+ - több fogyatékosság együttes előfordulása esetén **halmozottan fogyatékos**
+ - Pszichés/Kognitív fejlődés zavara
+ - a beszéd és a nyelv specifikus fejlődési zavarai (BNO: F80)
+ - részképesség zavarok
+ - **diszlexia** (BNO: F81.0)
+ - **diszgráfia** (BNO: F81.1)
+ - **diszkalkulia** (BNO: F81.2)
+ - **iskolai készségek kevert zavara** (BNO: F81.3)
+ - az iskolai képességek nem meghatározott fejlődési zavara (BNO: F81.9)
+ - **tanulási nehézség**
+ - **tanulási zavar**
+ - **kevert specifikus fejlődési zavarok** (BNO: F83)
+ - motoros funkció specifikus fejlődési zavarai, dyspraxia ("ügyetlen gyerek") (BNO: F82)
+ - egyéb zavarok
+ - **elektív mutizmus** (BNO: F94.0)
+ - egyéb pszichológiai fejlődési zavar, agnózia (BNO: F88)
+ - nem meghatározott pszichológiai fejlődési zavar (BNO: F89)
+ - aktivitás szabályozás és figyelem zavar / figyelemhiányos és diszruptív viselkedési zavar
+ - **hiperaktivitás**, ADHD (BNO: F90)
+ - **magatartászavar**, viselkedészavar (BNO: F91)
+ - **Tartósan beteg**
+
+(BNO: Betegségek nemzetközi osztályozása - magyar fordítás 1996.)
+
+==== OECD kategóriák ====
+
+Az OECD (Organisation for Economic Co-operation and Development) az egyes országok SNI gyakorlatát elemezve olyan négy nagy ellátási, a közoktatás számára egyben igencsak eltérő feladatot jelentő, kategóriát sorol fel, amelyek országonként tovább differenciálódnak, azaz a használt kategóriák száma általában 1 és 14 között változik. A legalább 4 kategóriát használó országok főbb kategóriacsoportjai
+
+1) Fizikai képességek zavara
+
+2.) Érzékszervi zavarok, károsodások
+
+3.) Súlyos tanulási zavarok
+
+4.) Az érzelemszabályozás zavarai
+
+==== OECD statisztikai célú kategóriák ====
+
+Az OECD statisztikai célú (az egyes országokban a finanszírozás kereteinek súlyozásához használt) kategóriái:
+
+OECD-A : súlyos képességzavarok (disabilities – a magyar kategória erre a fogyatékosságot használja, ezzel kívánva jelezni a tipikus fejlődéstől való súlyos eltérés organikus eredetét, ennek finanszírozsáa körül nincs a jogalkotók részéről nézetkülönbség)
+
+OECD-B: nehézségek (difficulties – a magyarban nehézség kifejezés szerepel, azaz olyab súlyos fejlődési eltérések, amelyeknek megjelenését ismert szervi vagy környezeti ártalmak nem valószínűsítik).
+
+OECD-C: hátrányok (disadvantages – a magyarban a hátrányos helyzet szerepel, amely általában a szociális és kulturális hátrányokra szűkíti a fogalmat, ennél azonban tágabb a kategória)
+
+Az OECD finanszírozási modellek az utóbbi években egy negyedik kategória bevezetését szorgalmazzák (OECD-D), ez pedig a tehetséggondozás, a kiemelkedő tehetségek emelt finanszírozásának és oktatási feltételeinek megteremtése (Németországban a Bajor Szövetségi Állam a közelmúltban vezette be ezt a rendszert). Magyarországon a finanszírozási modellnek ez a fajta bővítése eddig nem került napirendre.
+
+**Az OECD statisztikai kategóriái finanszírozási modellek kialakítását szolgálják, éppen ezért nem diagnosztikai kategóriák.**
+----
+
+===== Törvényi szbályozók =====
+
+ * Közoktatási törvény (1993. évi LXXIX.törvény a közoktatásról)
+ * 11/1994. (VI.8.) MKM rendelet a nevelési-oktatási intézmények működéséről
+ * 14/1994. (VI.24.) MKM rendelet a képzési kötelezettségről és a pedagógiai szakszolgálatokról
+ * 100/1997. (VI.13.) Korm. rendelet az érettségi vizsga vizsgaszabályzatának kiadásáról
+ * 20/2007. (V.21.) SZMM rendelet a szakmai vizsgáztatás általános szabályairól és eljárási rendjéről
+ * 2/2005. (III. 1.) OM rendelet a Sajátos nevelési igényű gyermekek óvodai nevelésének irányelve és a Sajátos nevelési igényű tanulók iskolai oktatásának irányelve kiadásáról
+ * 26 (2001. VII. 27.) OM rendelet a szakmai vizsgáztatás általános szabályairól és eljárási rendjérõl
+ * 29/2002. (V.17.) OM rendelet A fogyatékossággal élõ hallgatók tanulmányainak folytatásához szükséges esélyegyenlõséget biztosító feltételekrõl
+
+[[http://www.szakertoibizottsag4.hu/jogszabalyok.html]]
+
+===== A közoktatási törvény vonatkozó rendelkezései =====
+
+>> 1993. évi LXXIX. törvény a közoktatásról **6. §**
+>> (3) A tankötelezettség annak a tanévnek a végéig tart, amelyben a tanuló tizennyolcadik életévét betölti. A sajátos nevelési igényű tanuló tankötelezettsége meghosszabbítható legfeljebb annak a tanévnek a végéig, amelyben a huszadik életévét betölti.
+>> (4) Az iskola igazgatója dönt
+>>
+>> a) a tankötelezettség kezdetéről az óvoda véleménye alapján, illetőleg ha a gyermek nem járt óvodába, vagy az óvoda kezdeményezi a nevelési tanácsadó véleménye alapján; a sajátos nevelési igényű gyermek esetén a tanulási képességet vizsgáló szakértői és rehabilitációs bizottság vagy az országos szakértői és rehabilitációs tevékenységet végző szakértői és rehabilitációs bizottság szakértői véleménye alapján;
+>>
+>> b) a tankötelezettség meghosszabbításáról a tanulási képességet vizsgáló szakértői és rehabilitációs bizottság vagy az országos szakértői és rehabilitációs tevékenységet végző szakértői és rehabilitációs bizottság szakértői véleménye alapján.
+>>
+>> **8. §** (12) A Nemzeti alaptanterv tartalmazza
+>>
+>> a) a nemzeti és etnikai kisebbségi iskolai nevelés-oktatás,
+>>
+>> b) a sajátos nevelési igényű tanulók iskolai nevelése-oktatása sajátos tantervi követelményeinek alapelveit.
+>> **8/B. §** (3) A sajátos nevelési igényű gyermekek, tanulók nevelését biztosító óvoda, valamint nevelését és oktatását végző iskola a 8. § (2)-(9) bekezdésében és a 8/A. § (1)-(4) bekezdésében foglaltakat azzal az eltéréssel alkalmazza, hogy az óvodai nevelési program, illetve az iskolai helyi tanterv elkészítésénél figyelembe veszi a Sajátos nevelési igényű gyermekek óvodai nevelésének irányelvét, illetve a Sajátos nevelési igényű tanulók iskolai oktatásának tantervi irányelvét is. A Sajátos nevelési igényű gyermekek óvodai nevelésének irányelvében, illetve a Sajátos nevelési igényű tanulók iskolai oktatásának tantervi irányelvében meghatározottak szerint a siket gyermek óvodai nevelése, iskolai nevelése és oktatása jelnyelven is folyhat.
+
+>> **13. §** (5) A szülő joga, hogy gyermeke lakóhelyén, ennek hiányában tartózkodási helyén a polgármester segítségét kérje ahhoz, hogy gyermeke különbözeti vizsga vagy évfolyamismétlés nélkül folytathassa tanulmányait, ha a településen nem működik olyan iskola, amelyik a tankötelezettség végéig biztosítja az iskolai nevelést és oktatást. A sajátos nevelési igényű gyermek lakóhelyén, ennek hiányában tartózkodási helyén a polgármester segítségét kérheti ahhoz, hogy gyermeke óvodai neveléséhez, iskolai neveléséhez-oktatásához szükséges feltételeket a településen megteremtsék.
+
+>> **19. §** (7) A pedagógus alapvető feladata a rábízott gyermekek, tanulók nevelése, tanítása. Ezzel összefüggésben kötelessége különösen, hogy
+>> ...
+>> b) nevelő és oktató tevékenysége során figyelembe vegye a gyermek, tanuló egyéni képességét, tehetségét, fejlődésének ütemét, szociokulturális helyzetét és fejlettségét, sajátos nevelési igényét, segítse a gyermek, tanuló képességének, tehetségének kibontakozását, illetve bármilyen oknál fogva hátrányos helyzetben lévő gyermek, tanuló felzárkózását tanulótársaihoz,
+
+
+>> **30. §** (1) A sajátos nevelési igényű gyermeknek, tanulónak joga, hogy különleges gondozás keretében állapotának megfelelő pedagógiai, gyógypedagógiai, konduktív pedagógiai ellátásban részesüljön attól kezdődően, hogy igényjogosultságát megállapították. A különleges gondozást - a gyermek, tanuló életkorától és állapotától függően, a 35. § (2) bekezdésében meghatározott szakértői és rehabilitációs bizottságok szakértői véleményében foglaltak szerint - a korai fejlesztés és gondozás, az óvodai nevelés, az iskolai nevelés és oktatás, a fejlesztő felkészítés keretében kell biztosítani. A korai fejlesztés és gondozás megvalósítható otthoni ellátás, bölcsődei gondozás, fogyatékosok ápoló, gondozó otthonában nyújtott gondozás, gyermekotthonban nyújtott gondozás, gyógypedagógiai tanácsadás, korai fejlesztés és gondozás keretében biztosított fejlesztés és gondozás, konduktív pedagógiai ellátás keretében.
+>>
+>> (2) A sajátos nevelési igényű gyermek óvodai nevelése, tanuló iskolai nevelése és oktatása, továbbá kollégiumi nevelése az e célra létrehozott gyógypedagógiai nevelési-oktatási intézményben, konduktív pedagógiai intézményben, óvodai csoportban, óvodai tagozaton, iskolai tagozaton, osztályban, csoportban vagy a többi gyermekkel, tanulóval együtt, azonos óvodai csoportban, óvodai tagozaton, illetve iskolai osztályban (a továbbiakban: a sajátos nevelési igényű gyermekek, tanulók - külön vagy közös - nevelésében és oktatásában részt vevő óvoda és iskola, illetve kollégium együtt: gyógypedagógiai nevelésben-oktatásban részt vevő nevelési-oktatási intézmény) történhet. A gyermek külön óvodai nevelését végző óvodai csoportot, óvodai tagozatot, illetve a tanulók külön iskolai nevelését és oktatását végző iskolai tagozatot, osztályt, csoportot - a gyógypedagógiai nevelési-oktatási intézménnyel [20. § (2) bek.] egyezően - a fogyatékosság típusának megfelelően kell létrehozni. A gyógypedagógiai nevelésben-oktatásban részt vevő nevelési-oktatási intézményben a gyermek, tanuló egészségügyi és pedagógiai célú habilitációs és rehabilitációs ellátásban is részesül.
+>>
+>> (3) A gyógypedagógiai nevelésben-oktatásban, a konduktív nevelésben-oktatásban részt vevő nevelési-oktatási intézménynek rendelkeznie kell azokkal a személyi és tárgyi feltételekkel, amelyek a sajátos nevelési igényű gyermek, tanuló egészségügyi és pedagógiai célú habilitációs és rehabilitációs ellátáshoz szükségesek. A nevelési-oktatási intézményt a szülő választja ki a tanulási képességet vizsgáló szakértői és rehabilitációs bizottság, illetve az országos szakértői és rehabilitációs tevékenységet végző bizottság szakértői véleménye alapján.
+>>
+>> (4) A gyermek, tanuló érdekében a jegyző kötelezheti a szülőt, hogy gyermekével jelenjen meg szakértői vizsgálaton, illetve a szakértői vélemény alapján gyermekét a megfelelő nevelési-oktatási intézménybe írassa be [a továbbiakban a (3) bekezdés szerint kiválasztott, illetve a (4) bekezdés szerint a jegyző által kijelölt nevelési-oktatási intézmény: kijelölt nevelési-oktatási intézmény, kijelölt óvoda, kijelölt iskola].
+>>
+>> (5) Ha a gyermeket a kijelölt nevelési-oktatási intézmény nem tudja felvenni, a szakértői véleményt adó intézmény megkísérel másik, a sajátos neveléshez és oktatáshoz szükséges személyi és tárgyi feltételekkel rendelkező nevelési-oktatási intézményt találni. Ha így sem oldható meg a gyermek, a tanuló elhelyezése, a szakértői véleményt adó intézmény meghatározza, hogy a gyermek, a tanuló milyen módon kapcsolódhat be a nevelésbe és az oktatásba, és a gyermeket, a tanulót előjegyzésbe veszi mindaddig, ameddig felvételét nem sikerül megoldani.
+>>
+>> (6) Ha a sajátos nevelési igényű gyermek súlyos és halmozottan fogyatékos, attól az évtől kezdve, amelyben az ötödik életévét betölti, az óvodai nevelési év első napjától kezdődően fejlesztő felkészítésben vesz részt. A fejlesztő felkészítés megvalósítható a fogyatékosok ápoló, gondozó otthonában nyújtott gondozás, a fogyatékosok rehabilitációs intézményében, a fogyatékosok nappali intézményében nyújtott gondozás, a gyógypedagógiai tanácsadás, korai fejlesztés és gondozás keretében biztosított fejlesztés és gondozás, a konduktív pedagógiai ellátás, a gyógypedagógiai nevelésben és oktatásban részt vevő iskolában nyújtott fejlesztés keretében, illetőleg annak a nevelési évnek a végéig, amelyben a gyermek hatodik életévét betölti bölcsődei gondozás keretében. A jegyző a (4) bekezdésben meghatározottak szerint kötelezheti a szülőt, hogy gyermekével jelenjen meg a szakértői vizsgálaton, illetőleg, hogy gyermeke részére a szakértői véleményben meghatározottak szerint biztosítsa a fejlesztő felkészítésben való részvételt.
+>>
+>> (7) Ha a gyermek, a tanuló beilleszkedési, tanulási, magatartási nehézséggel küzd (a továbbiakban együtt: beilleszkedési, tanulási, magatartási nehézséggel küzdő gyermek, tanuló), illetve a megismerő funkciók vagy a viselkedés fejlődésének organikus okra vissza nem vezethető tartós és súlyos rendellenességével küzd, fejlesztő foglalkoztatásra jogosult. A fejlesztő foglalkoztatás a nevelési tanácsadás, az óvodai nevelés, az iskolai nevelés és oktatás, a kollégiumi nevelés és oktatás keretében valósítható meg.
+>>
+>> (8) Abban a kérdésben, hogy a gyermek, tanuló beilleszkedési, tanulási, magatartási nehézséggel küzdő, vagy sajátos nevelési igényű, a nevelési tanácsadó megkeresésére a szakértői és rehabilitációs bizottság dönt.
+>>
+>> (9) A sajátos nevelési igényű tanulót, illetve a beilleszkedési, tanulási, magatartási nehézséggel küzdő tanulót - jogszabályban meghatározott munkamegosztás szerint - a szakértői és rehabilitációs bizottság vagy a nevelési tanácsadó szakértői véleménye alapján - a gyakorlati képzés kivételével - az igazgató mentesíti egyes tantárgyakból, tantárgyrészekből az értékelés és a minősítés alól. Ha a tanulót egyes tantárgyakból, tantárgyrészekből mentesítik az értékelés és minősítés alól, az iskola - az e törvény 52. §-ának (7) bekezdésében, valamint (11) bekezdésének c) pontjában meghatározott időkeret terhére - egyéni foglalkozást szervez részére. Az egyéni foglalkozás keretében - egyéni fejlesztési terv alapján - segíti a tanuló felzárkóztatását a többiekhez. Az érettségi vizsgán az érintett tantárgyak helyett a tanuló - a vizsgaszabályzatban meghatározottak szerint - másik tantárgyat választhat. A tanuló részére a felvételi vizsgán, az osztályozó vizsgán, a modulzáró vizsgán, a szintvizsgán, a különbözeti vizsgán, a javítóvizsgán, az érettségi vizsgán, a szakmai vizsgán biztosítani kell a hosszabb felkészülési időt, az írásbeli beszámolón lehetővé kell tenni az iskolai tanulmányok során alkalmazott segédeszköz (írógép, számítógép stb.) alkalmazását, szükség esetén az írásbeli beszámoló szóbeli beszámolóval vagy a szóbeli beszámoló írásbeli beszámolóval történő felváltását.
+>>
+>> (10) A korai fejlesztés és gondozás, továbbá a fejlesztő felkészítés feladatait pedagógus-munkakörben gyógypedagógus (terapeuta) konduktor vagy gyógypedagógus (terapeuta), illetve konduktor irányításával, szükség esetén közreműködésével szociálpedagógus, óvodapedagógus, tanító, tanár; nem pedagógus-munkakörben gyógypedagógus (terapeuta) vagy konduktor irányításával szociális munkás, gyógytornász, ápoló, gyermekfelügyelő, pedagógiai asszisztens, gyógypedagógiai asszisztens, bölcsődei gondozó láthatja el.
+>>
+>> (11) A gyógypedagógiai nevelésben-oktatásban részt vevő nevelési-oktatási intézményben a pedagógus-munkakör betöltéséhez szükséges felsőfokú iskolai végzettségek és szakképzettségek a következők:
+>>
+>> a) ha az óvodai foglalkozás, a tanórai foglalkozás elsődleges célja a sajátos nevelési igényből eredő hátrány csökkentése, továbbá az egészségügyi és pedagógiai célú habilitációs, rehabilitációs óvodai foglalkozásokhoz, tanórai foglalkozásokhoz; valamint, ha az értelmi fogyatékos tanuló iskolai nevelése, oktatása külön - az e célra létrehozott gyógypedagógiai nevelési-oktatási intézményben, óvodai csoportban, óvodai tagozaton, iskolai tagozaton, osztályban, csoportban - történik, a fogyatékosság típusának megfelelő gyógypedagógiai tanári, konduktori, konduktor-tanítói, terapeuta szakképzettség,
+>>
+>> b) ha az óvodai foglalkozás, a tanórai foglalkozás elsődlegesen nem a sajátos nevelési igényből eredő hátrány csökkentését, a tanuló egészségügyi és pedagógiai célú habilitációját, rehabilitációját szolgálja, továbbá a tanórán kívüli foglalkozáshoz, a kollégiumi foglalkozáshoz az a) pontban meghatározott vagy a 17. § (1) bekezdésében meghatározott végzettség és szakképzettség.
+>>
+>> (12) Ha a (11) bekezdés b) pontja alapján a pedagógus-munkakört a 17. § (1) bekezdésében meghatározott végzettséggel és szakképzettséggel rendelkezővel töltik be, biztosítani kell, hogy a fogyatékosság típusának megfelelő végzettséggel és szakképzettséggel rendelkező gyógypedagógus (terapeuta) vagy konduktor segítse a többi pedagógus munkáját.
+>>
+>> (13) A gyógypedagógiai nevelésben-oktatásban részt vevő nevelési-oktatási intézményben - az e törvény 18. § (1) bekezdésének a) pontjában a középiskolákra vonatkozó rendelkezések megtartásával - intézményi vezetői megbízást kaphat az is, aki a fogyatékosság típusának megfelelő gyógypedagógiai tanári, konduktori, konduktor-tanítói, terapeuta felsőfokú iskolai végzettséggel és szakképzettséggel rendelkezik.
+>>
+>> **30/A.** § (1) A súlyos és halmozottan fogyatékos gyermek annak a tanítási évnek az első napjától, amelyben a hatodik életévét betölti, a fejlesztő felkészítés keretei között a tankötelezettségét teljesíti (a továbbiakban: fejlesztő iskolai oktatás). A fejlesztő iskolai oktatás az e törvény 30. §-ának (6) bekezdésében meghatározott intézményekben szervezhető meg (a továbbiakban: fejlesztő iskolai oktatás). A fejlesztő iskolai oktatást a tanév rendjéhez igazodóan kell megszervezni. A fejlesztő iskolai oktatást a Súlyos és halmozottan fogyatékos tanulók fejlesztő oktatása irányelvének alkalmazásával kell megszervezni, oly módon, hogy a heti fejlesztő foglalkozások száma elérje a húsz órát. Megszervezésekor az e törvény 6. §-ában, 8-9. §-ában, 25-29. §-ában, 31. §-ában, 46. §-ában, 48. §-ában, 50. §-ában, 52-53. §-ában, 66-67. §-ában, 69-73. §-ában, 78. §-ában foglaltakat nem lehet alkalmazni. A fejlesztő iskolai oktatásban rehabilitációs pedagógiai programot és annak alapján egyéni fejlesztési terveket készítenek. A rehabilitációs pedagógiai program bevezetésére a pedagógiai program elfogadására és jóváhagyására vonatkozó rendelkezéseket kell alkalmazni.
+>>
+>> (2) A fejlesztő iskolai oktatásban a tanuló annak a tanítási évnek az utolsó napjáig köteles részt venni, amelyben betölti a tizennyolcadik életévét. A fejlesztő iskolai oktatásban a tanuló annak a tanévnek a végéig vehet részt, amelyben betölti a huszonharmadik életévét. A fejlesztő iskolai oktatásban a tanulókat a fogyatékosságuk, fejlettségük és életkoruk alapján osztják be fejlesztő csoportokba.
+>>
+>> (3) Ha a tanuló - a szakértői és rehabilitációs bizottság szakvéleményében foglaltak szerint - nem tud részt venni a fejlesztő iskolai oktatásban, a tankötelezettségét egyéni fejlesztő felkészítés keretében teljesíti. Az egyéni fejlesztő felkészítés megszervezhető otthoni ellátás keretében, illetve a fogyatékosok ápoló, gondozó otthonában, a fogyatékosok rehabilitációs intézményében, a fogyatékosok nappali intézményében, a gyógypedagógiai tanácsadó korai fejlesztő gondozó központban, illetve a konduktív pedagógiai intézményben.
+
+>> **50. §** A sajátos nevelési igényű gyermekek, tanulók
+>> ...
+>> b) iskolai nevelése és oktatása esetén a helyi tanterv tartalmazza a fogyatékosság típusához és fokához igazodó fejlesztő programot is. A helyi tanterv, a szakmai program az egyes évfolyamok követelményeinek teljesítéséhez egy tanítási évnél hosszabb időt is megjelölhet.
+
+>> **52. §** ... Nappali rendszerű iskolai oktatásban a tanuló abban az évben kezdhet utoljára tanévet, amelyben betölti
+>>
+>> a) nyolc évfolyamos általános iskola esetén a tizenhatodik,
+>>
+>> b)
+>>
+>> c) középiskola és szakiskola esetén a huszonkettedik
+>>
+>> életévét. ... A sajátos nevelési igényű tanuló esetén, valamint a súlyos beilleszkedési, tanulási, magatartási nehézséggel küzdő tanuló esetén, továbbá, ha a tanulmányi követelményeket azért nem tudták teljesíteni, mert a tanuló tartós gyógykezelés alatt állt, az a)-c) pontban meghatározott életkorhoz három évet hozzá kell számítani.
+>> ...
+>> (6) A gyógypedagógiai nevelésben-oktatásban részt vevő nevelési-oktatási intézményben a sajátos nevelési igényű tanulók részére a (3) bekezdésben meghatározott tanórai foglalkozásokon túl kötelező egészségügyi és pedagógiai célú habilitációs, rehabilitációs tanórai foglalkozásokat kell szervezni. A tanuló annyi egészségügyi és pedagógiai célú habilitációs, rehabilitációs tanórai foglalkozáson vesz részt, amennyi a sajátos nevelési igényéből eredő hátránya csökkentéséhez szükséges. A kötelező egészségügyi és pedagógiai célú habilitációs, rehabilitációs tanórai foglalkozások megszervezésének heti időkerete a (3) bekezdésben az évfolyamra meghatározott heti tanítási óra
+>>
+>> a) tizenöt százaléka értelmi fogyatékos tanuló,
+>>
+>> b) tizenöt százaléka - az autista kivételével - többi fel nem sorolt fogyatékos tanuló,
+>>
+>> c) harmincöt százaléka a gyengénlátó tanuló,
+>>
+>> d) negyven százaléka a mozgásfogyatékos, a vak, a nagyothalló, a beszédfogyatékos tanuló,
+>>
+>> e) ötven százaléka a siket és az autista tanuló
+>>
+>> esetén. A heti időkeretet abban az esetben, ha a tanulót külön osztályban tanítják, osztályonként kell megállapítani. Ha a tanulót a többi, nem fogyatékos tanulóval közösen - egy osztályban tanítják -, a heti órakeretet nyolc fős csoportokra kell meghatározni oly módon, hogy az azonos ellátásra jogosult tanulók számát elosztják nyolccal. A csoportra jutó időkeret akkor is felhasználható, ha az osztás alapján a csoportban nincs nyolc tanuló. Ennél a számításnál a tanulói létszámot a tényleges létszám alapján kell számításba venni. Ha az iskolában az osztályt több különböző évfolyamra járó tanulóból szervezik meg (a továbbiakban: összevont osztály), és az egyes évfolyamokra a (3) bekezdés eltérő mértékű heti kötelező tanórai foglalkozást állapít meg, a habilitációs, rehabilitációs tanórai foglalkozás heti időkeretét a magasabb évfolyamra megállapított heti kötelező tanórai foglalkozás mértéke alapján kell meghatározni. A heti időkeret az egyes évfolyamok, osztályok, tanítási év közben a tanítási hetek között átcsoportosítható. A középsúlyos értelmi fogyatékos tanuló részére az iskola a nevelési-oktatási feladatokat egészségügyi és pedagógiai habilitációs, rehabilitációs célú tanórai foglalkozás keretében szervezi meg a (3) bekezdésben és e bekezdés a) pontjában meghatározott időkeretben [a továbbiakban a (3)-(6) bekezdés alatti foglalkozások: kötelező tanórai foglalkozások].
+
+>> **58. §** (1) Szakmai munkaközösség hozható létre a gyermek- és ifjúságvédelmi feladatok, a szabadidő hasznos eltöltésével összefüggő feladatok, a sajátos nevelési igényű és a halmozottan hátrányos helyzetű tanulók integrációját szolgáló feladatok segítéséhez is.
+
+>> **66. §** (5) ... A halmozottan hátrányos helyzetű tanulók felvételi, átvételi kérelmének teljesítése után sorsolás nélkül is felvehető a sajátos nevelési igényű tanuló, továbbá az a tanuló, akinek ezt sajátos helyzete indokolja. A sajátos helyzetet a helyi önkormányzat rendeletben állapítja meg.
+
+>> **69. §** (2) Az igazgató - a gyakorlati képzés kivételével - a tanulót kérelmére - részben vagy egészben - felmentheti az iskolai kötelező tanórai foglalkozásokon való részvétel alól, ha a tanuló egyéni adottságai, sajátos nevelési igénye, továbbá sajátos helyzete ezt indokolttá teszi. Az igazgató a tanulót kérelmére mentesítheti a készségtárgyak tanulása alól, ha azt egyéni adottsága vagy sajátos helyzete indokolttá teszi.
+
+>> **78. §** (2) Az iskolai tanulmányok attól az évtől kezdődően, amelyben a tanuló
+>>
+>> a) nyolc évfolyamos általános iskola esetén tizenhetedik,
+>>
+>> c) középiskola és szakiskola esetén huszonharmadik
+>>
+>> életévét betölti, kizárólag felnőttoktatás keretében folytatható. A c) pontban meghatározott határidő egy évvel meghosszabbítható abban az esetben, ha a tanuló az általános iskola első évfolyamán a tanulmányait a hetedik életévében kezdte meg, továbbá, ha olyan szakképzésben vesz részt, amelyben a szakképzési évfolyamok száma meghaladja a kettőt. Sajátos nevelési igényű tanuló esetén, valamint a súlyos beilleszkedési zavarral, tanulási nehézséggel, magatartási rendellenességgel küzdő tanuló esetén, továbbá, ha a tanulmányi követelményeket azért nem tudták teljesíteni, mert a tanuló tartós gyógykezelés alatt állt, az a)-c) pontban meghatározott életkorhoz három évet hozzá kell számítani.
+
+>> **91. §** (1) A főjegyző
+>> ...
+>> e) tájékoztatja az illetékes szakértői és rehabilitációs bizottságot arról, hogy melyik az az - e törvény 30. §-ának (1)-(2) bekezdésében felsorolt - intézmény, amelyik rendelkezik a sajátos nevelési igényű gyermek, tanuló különleges gondozásának ellátásához szükséges feltételekkel;
+
+>> **120. §** (1) Ha a sajátos nevelési igényű tanuló, illetve a beilleszkedési, tanulási nehézséggel, magatartási rendellenességgel küzdő tanuló szakértői vélemény alapján
+>>
+>> - tanulmányait magántanulóként folytatja, illetve
+>>
+>> - a szülő otthoni ellátás keretében tesz eleget a fejlesztő felkészítésben való részvételi kötelezettségének,
+>>
+>> az önkormányzati feladatellátás keretében, a szakértői véleményben megjelölt szakember biztosításáról - külön jogszabályban meghatározottak szerint - az iskolának, a fejlesztő felkészítést nyújtó, illetve a szakértői véleményt készítő intézménynek kell gondoskodnia.
+>>
+>> (2) Meg kell téríteni
+>>
+>> a) a korai fejlesztést és gondozást nyújtó, a sajátos nevelési igényű gyermekek nevelését és oktatását végző, valamint a fejlesztő felkészítést biztosító intézmény eléréséhez szükséges helyközi utazás költségeit, a gyermeknek, tanulónak és kísérőjének, továbbá
+>>
+>> b) az a) pontban felsorolt gyermek, tanuló szülője részére szervezett gondozói tanfolyam költségét;
+
+>> 1993. évi LXXIX. törvény a közoktatásról - Értelmező rendelkezések
+>> **121. §** (1)
+>> ...
+>> 28. sajátos nevelési igényű neveléshez és oktatáshoz szükséges feltételek: a gyermek, tanuló külön óvodai neveléséhez, illetve iskolai neveléséhez és oktatásához, a sajátos nevelési igény típusának és súlyosságának megfelelő gyógypedagógus, konduktor foglalkoztatása, a neveléshez és oktatáshoz szükséges speciális tanterv, tankönyv és más segédletek; magánoktatáshoz, integrált óvodai neveléshez, iskolai neveléshez és oktatáshoz, a fejlesztő felkészítéshez, az illetékes szakértői bizottság által meghatározottak szerinti foglalkozáshoz szükséges szakirányú végzettségű gyógypedagógus foglalkoztatása; a foglalkozásokhoz szükséges speciális tanterv, tankönyv, valamint speciális gyógyászati és technikai eszközök; a gyermek, tanuló részére a szakértői és rehabilitációs bizottság által meghatározott szakmai szolgáltatások biztosítása;
+>> ...
+>> (9) Ha jogszabály az óvodai nevelésben részt vevő, a tanulói jogviszonyban, kollégiumi tagsági viszonyban álló vagy a képzési kötelezettséget teljesítő fogyatékos gyermek részére kedvezményt, juttatást, jogosultságot, kötelezettséget állapít meg, a fogyatékos gyermek, tanuló fogalom alatt a sajátos nevelési igényű gyermeket, tanulót kell érteni.
+
+>> 1. számú melléklet az 1993. évi LXXIX. t
+>> 6. A technikai létszámhoz egy létszámot indokolt hozzá számítani, ha a nevelési-oktatási intézményben a gyermekek, tanulók legalább húsz százaléka hátrányos helyzetű, vagy beilleszkedési, tanulási nehézséggel, magatartási rendellenességgel küzd, illetve, ha a sajátos nevelési igényű gyermekeket, tanulókat a többiekkel egy csoportban, osztályban nevelik, tanítják. A különböző csoportba tartozó gyermekek, tanulók létszámát együttesen is figyelembe lehet venni a húsz százalék megállapításához. A technikai létszámhoz tagintézményenként további egy-egy létszámot indokolt hozzá számítani.
+
+>> 2. számú melléklet az 1993. évi LXXIX. törvényhez / A gyermekek, tanulók adatai
+>> 1. E törvény alapján nyilvántartott adatok:
+>> d) a tanulói jogviszonnyal kapcsolatos adatok
+>> ...
+>> - a sajátos nevelési igényre vonatkozó adatok,
+>>
+>> 2. Az adatok - az e törvényben meghatározott célból, a személyes adatok védelmére vonatkozó célhoz kötöttség megtartásával - továbbíthatók
+>> - sajátos nevelési igényre, a beilleszkedési zavarra, tanulási nehézségre, magatartási rendellenességre vonatkozó adatok a pedagógiai szakszolgálat intézményeitől a nevelési-oktatási intézménynek, illetve vissza,
+
+>> 3. számú melléklet az 1993. évi LXXIX. törvényhez
+>> Az osztályok, csoportok szervezése
+>> 3. Azt a gyermeket, tanulót, aki beszédfogyatékos, enyhe értelmi fogyatékos, a megismerő funkciók vagy a viselkedés fejlődésének tartós és súlyos rendellenessége miatt sajátos nevelési igényű vagy beilleszkedési, tanulási, magatartási nehézséggel küzd, az óvodai csoport, iskolai osztály, kollégiumi csoport létszámának számításánál kettő, azt a gyermeket, tanulót pedig, aki testi, érzékszervi, középsúlyos értelmi fogyatékos, autista, halmozottan fogyatékos három gyermekként, tanulóként kell számításba venni, függetlenül attól, hogy a többi gyermekkel, tanulóval együtt vagy külön vesz részt óvodai nevelésben, iskolai nevelésben és oktatásban, kollégiumi nevelésben és oktatásban. Két tanulóként kell számításba venni a felzárkóztató oktatásban részt vevő tanulót. Az e pontban foglaltak az alapfokú művészetoktatásban nem alkalmazhatók.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/tanitasi_nap.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/tanitasi_nap.txt
new file mode 100644
index 00000000..e7ab8c11
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/tanitasi_nap.txt
@@ -0,0 +1,9 @@
+===== Tanítási nap =====
+1993. évi LXXIX. törvény a közoktatásról
+Értelmező rendelkezések
+
+121. § (1) E törvény alkalmazásában
+
+39. tanítási nap: az egyes osztályokban a tanítási órák, illetőleg az e törvény 53. § (2) bekezdésének e) pontjában meghatározott foglalkozások megtartására fordított nap, amennyiben a foglalkozási órák száma eléri a hármat;
+
+53. § (2) e) az iskola pedagógiai programjában rögzített, a tanítási órák keretében meg nem valósítható osztály- vagy csoportfoglalkozás, így különösen a tanulmányi kirándulás, környezeti nevelés, a kulturális, illetőleg sportrendezvény.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/tanuloi_jogviszony.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/tanuloi_jogviszony.txt
new file mode 100644
index 00000000..64ba4e63
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/tanuloi_jogviszony.txt
@@ -0,0 +1,171 @@
+
+
+====== Magántanulói státuszra vonatkozó jogszabályok ======
+
+KT. 7. § (1) A tankötelezettség - a szülő választása alapján - iskolába járással vagy magántanulóként teljesíthető.
+
+52. § (13) Az e törvény 120. §-ának (1) bekezdése alapján, vagy súlyos betegsége miatt magántanulóként tanulmányokat folytatók egyéni foglalkozás keretében történő felkészítésére az iskolának tanulónként a kötelező és a nem kötelező tanórai foglalkozás megszervezésére rendelkezésre álló órakereten felül - átlag - heti tíz óra áll a rendelkezésre. Az időkeret az egyes hetek és tanulók között átcsoportosítható.
+
+69. §\\
+(2) Az igazgató - a gyakorlati képzés kivételével - a tanulót kérelmére - részben vagy egészben - felmentheti az iskolai kötelező tanórai foglalkozásokon való részvétel alól, ha a tanuló egyéni adottságai, sajátos nevelési igénye, továbbá sajátos helyzete ezt indokolttá teszi. Az igazgató a tanulót kérelmére mentesítheti a készségtárgyak tanulása alól, ha azt egyéni adottsága vagy sajátos helyzete indokolttá teszi.\\
+(3) A magántanulót az iskola valamennyi kötelező tanórai foglalkozása alól fel kell menteni. \\
+(4) Az, akit felmentettek a kötelező tanórai foglalkozásokon való részvétel alól, az igazgató által meghatározott időben, és a nevelőtestület által meghatározott módon, ad számot tudásáról.\\
+
+=== 1. számú melléklet az 1993. évi LXXIX. törvényhez ===
+b) a nappali rendszerű iskolai oktatásban azt a tanulót lehet egy tanulóként figyelembe venni, aki az iskolával tanulói jogviszonyban áll; azoknak a tanulóknak a létszámát, akik saját döntésük alapján magántanulók, vagy saját döntésük alapján vendégtanulók - kivéve, ha e törvény alapján közösen szervezik meg több iskola részére a nyelvi előkészítő osztályt - a normatív állami hozzájárulás meghatározásakor nem lehet figyelembe venni;
+
+==== 11/1994. (VI. 8.) MKM rendelet - a nevelési-oktatási intézmények működéséről ====
+
+21. § (5) A magántanulónak a magatartását és szorgalmát nem kell minősíteni.
+
+23. § (1) Ha a tanuló - szülőjének a közoktatási törvény 7. §-a (2) bekezdésében szabályozott választása alapján - tankötelezettségének magántanulóként tesz eleget, az erről való bejelentést követő három napon belül az iskola igazgatója beszerzi a tanuló lakóhelye, ennek hiányában tartózkodási helye szerint illetékes gyermekjóléti szolgálat véleményét, annak eldöntésére, hátrányos-e ez a megoldás a tanulónak. A gyermekjóléti szolgálat tizenöt napon belül köteles megküldeni véleményét.
+
+(2) Ha a tanuló tanulmányi kötelezettségének a szülő döntése alapján magántanulóként tesz eleget, felkészítéséről a szülő gondoskodik, illetőleg a tanuló egyénileg készül fel. Az az iskola pedig, amellyel a tanuló tanulói jogviszonyban áll - kivéve, ha a tanuló független vizsgabizottság előtt ad számot tudásáról - állapítja meg a tanuló érdemjegyeit és osztályzatait, továbbá dönt - minden esetben - a tanuló magasabb évfolyamra lépésével kapcsolatos kérdésekben. Az iskola igazgatója köteles tájékoztatni a tanulót, illetve a szülőt a magántanulói jogairól és kötelességeiről. A magántanuló kérelemre felvehető a napközibe és a tanulószobai foglalkozásra.
+
+(3) Ha a sajátos nevelési igényű tanuló az illetékes szakértői és rehabilitációs bizottság, a beilleszkedési, magatartási, tanulási nehézséggel küzdő tanuló a nevelési tanácsadó szakértői véleménye alapján tanulmányait magántanulóként folytatja, iskolai neveléséről és oktatásáról - felkészítéséről, érdemjegyeinek és osztályzatainak megállapításáról, illetve az ehhez szükséges pedagógusokról - a szakértői véleményben foglaltak szerint - az az iskola gondoskodik, amellyel a tanuló tanulói jogviszonyban áll. A közoktatási törvény 120. §-ának (1) bekezdésében meghatározottak alapján az iskolában nem foglalkoztatott szakemberek biztosításáról
+
+a) a beilleszkedési, tanulási nehézséggel, magatartási rendellenességgel küzdő tanuló esetén a szakvéleményt kiállító nevelési tanácsadó;
+
+b) sajátos nevelési igényű tanuló esetén a fővárosi, megyei utazó szakember hálózat költségvetése terhére kell gondoskodni.
+
+(4) Az iskola köteles gondoskodni a tanuló felkészítéséről, érdemjegyeinek és osztályzatának megállapításáról akkor is, ha a szakorvosi vélemény alapján otthoni ellátás keretében részesül tartós gyógykezelésben, és emiatt magántanulóként folytatja tanulmányait.
+
+=== Záradék ===
+
+6. Tanulmányait a szülő kérésére (szakértői vélemény alapján) magántanulóként folytatja. N., TI.
+
+====== Vendégtanuló ======
+
+==== 11/1994. (VI. 8.) MKM rendelet - a nevelési-oktatási intézmények működéséről ====
+
+19. § (1) A tanuló kérelmére engedélyezhető, hogy az iskolában oktatottaktól eltérő irányú ismeretek megszerzése, illetőleg nyelvtanulás céljából másik iskolában elméleti tanítási órákon, illetőleg gyakorlati foglalkozáson vegyen részt. Ha az iskola nem vesz részt kisebbségi oktatásban, a tanuló, kiskorú tanuló esetén a szülő, attól az évtől kezdődően, amelyben a tanuló a tizenegyedik életévét elérte, a szülő és a tanuló közös kérelmére engedélyezni kell, hogy a tanuló a közoktatási törvény 86. §-ának (5) bekezdésében meghatározott kiegészítő kisebbségi oktatásban vegyen részt.
+
+(2) Ha a tanuló tartós gyógykezelése az iskolába járást nem teszi lehetővé, tanulmányait - tanulói jogviszonyának fenntartása mellett - egészségügyi intézményben vagy a gyógykezelést is biztosító nevelési-oktatási intézményben folytathatja.
+
+(3) Az alapfokú művészetoktatási intézmény tanulója az előírt követelményt - az iskolák közötti megállapodás alapján - a másik alapfokú művészetoktatási intézményben is elsajátíthatja [az (1)-(3) bekezdésben meghatározott tanulmányokat folytató tanuló, a továbbiakban: vendégtanuló].
+
+24. § (4) Ha a tanuló független vizsgabizottság előtt vagy vendégtanulóként ad számot tudásáról, a vizsgabizottság, illetőleg a vizsgáztató iskola törzslapi bejegyzés céljából értesíti azt az iskolát, amelyikkel a tanuló tanulói jogviszonyban áll. A tanuló magasabb évfolyamra lépéséről - figyelembe véve a független vizsgabizottság által adott, illetve a vendégtanulóként szerzett osztályzatot - az az iskola dönt, amellyel a tanuló tanulói jogviszonyban áll.
+
+==== 1993. évi LXXIX. törvény a közoktatásról ====
+
+11. § (1) A tanuló joga különösen, hogy
+
+j) jogszabályban meghatározottak szerint vendégtanulói jogviszonyt létesítsen;
+
+==== 100/1997. (VI. 13.) Korm. rendelet az érettségi vizsga vizsgaszabályzatának kiadásáról ====
+
+4. § (4) A középiskolák az emelt szintű érettségi vizsgára történő felkészítés feladatait egymás közötti megállapodás alapján közösen is megoldhatják.
+
+12. § (4) Érettségi vizsgára lehet jelentkezni
+
+a) tanulói jogviszony, vendégtanulói jogviszony fennállása alatt, az érettségi bizonyítvány megszerzése előtt abban a középiskolában, amellyel a tanulói, vendégtanulói jogviszony fennáll, illetve, ha a középiskola nem szervez érettségi vizsgát, a kijelölt középiskolában,
+
+…
+
+(5) A tanulói jogviszony, vendégtanulói jogviszony megszűnése után rendes, kiegészítő, szintemelő, ismétlő érettségi vizsgára, …
+
+48. § (1) Azok részére, akik vendégtanulóként tettek érettségi vizsgát, illetőleg akik pótló vizsgát tehetnek, vagy akiknek javítóvizsgát kell tenniük, valamint akik előrehozott vizsgát tettek, az érettségi vizsga eredményének kihirdetésekor a vizsgabizottság elnöke törzslapkivonatot ad át. …
+
+(3) A rendes érettségi vizsga törzslapjára az előrehozott érettségi vizsga eredményét, a vendégtanulóként tett vizsgák eredményét a kapcsolódó záradékokkal együtt a törzslapkivonattal egyezően rá kell vezetni, és a törzslapkivonatot csatolni kell a törzslapnak a tanulóra vonatkozó részéhez.
+
+==== 20/1997. (II. 13.) Korm. rendelet a közoktatásról szóló 1993. évi LXXIX. törvény végrehajtásáról ====
+
+12/E. § (1) Az intézményvezető a tanulói jogviszonyt létesítő tanuló adatait - a jogviszony létesítését követő tizenöt napon belül - köteles az Oktatási Hivatalnak a KIR-en keresztül az azonosító szám kiadásához megadni. ….
+
+(8) Az (1)-(7) bekezdés alkalmazásában tanulói jogviszonyon érteni kell a magántanulói, a vendégtanulói jogviszonyt, a kollégiumi tagsági jogviszonyt, továbbá a fejlesztő felkészítésben, fejlesztő iskolai oktatásban való részvételt is.
+
+====== Jogviszony szüneteltetése ======
+
+KT. 69. § (5) Szünetel a tanulói jogviszonya annak, akinek engedélyezték, hogy tanulmányait megszakítsa, illetőleg, akit fegyelmi határozattal a tanév folytatásától eltiltottak. A tanulónak a tanulói jogviszony szünetelése alatt is joga, hogy látogassa az iskola létesítményeit, tájékoztatást kapjon az őt érintő kérdésekben, kérje átvételét másik iskolába. A tanuló a tanulói jogviszonyon alapuló jogait - ha jogszabály másképp nem rendelkezik - a tanulói jogviszony szünetelése alatt is gyakorolhatja.
+
+KT. 109. § (4) Az állandó lakóhellyel rendelkező tanulónak a külföldi tanulmányok alatt szünetel a magyarországi tanulói jogviszonya.
+
+==== 11/1994. (VI. 8.) MKM rendelet - a nevelési-oktatási intézmények működéséről ====
+=== Záradék ===
+
+ 24. Tanulmányait .......... okból megszakította, a tanulói jogviszonya ...........-ig szünetel. Bn., TI.
+
+
+=== Egy bejegyzés a minisztérium honlapjáról ===
+
+*A magyarországi tanulói jogviszony alakulása a külföldi tanulmányok alatt*
+
+A külföldi tanulmányokat folytató tanuló magyarországi tanulói jogviszonya kétféleképpen alakulhat.
+
+ - Az állandó lakóhellyel rendelkező tanulónak a külföldi tanulmányok alatt szünetel a magyarországi tanulói jogviszonya (Kt. 109. §). Amennyiben a tanuló visszatér külföldről, az igazgató által meghatározott feltételekkel (különbözeti vizsga letétele) folytathatja tanulmányait. A tanulói jogviszony szünetelését záradék formájában bevezetik a beírási naplóba és a törzslapra. A záradék formáját a nevelési-oktatási intézmények működéséről szóló 11/1994. (VI. 8.) MKM rendelet (a továbbiakban R.) 4. sz. melléklete tartalmazza. A záradékban a tanulói jogviszony szüneteltetésének időtartamát is fel kell tüntetni. Amennyiben a család a tervezettnél hosszabb ideig tartózkodik külföldön, erről az iskolát értesítenie kell. A Kt. 69. § (5) bekezdése szerint a tanulónak a tanulói jogviszony szünetelése alatt is joga, hogy látogassa az iskola létesítményeit, tájékoztatást kapjon az őt érintő kérdésekben, kérje átvételét másik iskolába. A R. 16. §-a szerint az iskola nyilvántartásában marad az a tanköteles, aki iskolai tanulmányait külföldön folytatja. Az iskola törli a tankötelesek nyilvántartásából azt a tanulót, akinek tankötelezettsége a megfelelő életkor betöltése következtében megszűnt. Az iskolának a tanulói jogviszony szüneteléséről, megszüntetéséről értesítenie kell az illetékes jegyzőt, aki a tanköteles tanulókról nyilvántartást vezet. (Kt. 91. § (7) bek.)
+A diákigazolványról szóló 17/2005. (II. 8.) Korm. rendelet szerint a nem magyar, államilag elismert oktatási intézményben tanuló magyar állampolgár diákigazolványát a Nemzeti Erőforrás Minisztérium ügyfélszolgálata állítja ki.
+
+ - A tankötelezettség magántanulóként is teljesíthető (Kt. 7. § (1) bek.). A külföldre távozó tanuló magántanulói státuszt kérvényezhet. Ebben az esetben a tanulói jogviszony nem szünetel, a tanuló a magyar iskolában teljesíti tankötelezettségét, de általában külföldön is iskolába jár. A magántanulói státuszt a R. 4. sz. mellékletében feltüntetett záradék formájában a naplóba és a törzslapra kell bevezetni. A R. 23. §-a szerint a magántanuló érdemjegyeit az az iskola állapítja meg, amellyel a tanuló tanulói jogviszonyban áll. A magántanuló számonkérésének módját az iskola határozza meg. Ez a megoldás a tanuló túlterhelése miatt megkérdőjelezhető, hiszen a külföldi tanulmányok hazatéréskor elismerhetőek.
+
+Felhívjuk a figyelmet arra, hogy a Kt. 1. sz. mellékletének második részében foglaltak szerint a normatív hozzájárulás meghatározásakor sem a tanulói jogviszonyt szüneteltető, sem a magántanulói státusszal rendelkező tanulót nem lehet figyelembe venni."
+
+[[http://www.nefmi.gov.hu/kozoktatas/magyar-tanulok-kulfoldi-tanulmanyai]]
+
+====== Jogviszony megszűnése ======
+
+75. § (1) Megszűnik a tanulói jogviszony
+
+a) ha a tanulót másik iskola átvette, az átvétel napján;
+
+b) az általános iskola utolsó évfolyamának elvégzéséről szóló bizonyítvány kiállításának napján;
+
+c) a tankötelezettség utolsó éve szorgalmi idejének utolsó napján, ha a tanuló tanulmányait nem kívánja tovább folytatni;
+
+d) gimnáziumi tanulmányok esetén az utolsó évfolyam elvégzését követő első vizsgaidőszak utolsó napján;
+
+e) szakközépiskolai tanulmányok esetén az utolsó középiskolai évfolyam elvégzését követő első vizsgaidőszak utolsó napján, ha a tanuló a szakképzésben nem kíván továbbtanulni, vagy a továbbtanuláshoz szükséges feltételek hiányában nem tanulhat tovább;
+
+f) szakiskolában és szakközépiskolában folyó szakképzésben
+
+- az utolsó évfolyam elvégzését követő első szakmai vizsgaidőszak utolsó napján,
+
+- ha a tanuló a gyakorlati képzésben tanulószerződés alapján vesz részt, az első szakmai vizsga utolsó napján,
+
+- ha a tanuló tanulmányainak folytatására egészségileg alkalmatlanná vált,
+
+és az iskolában nem folyik másik megfelelő szakképzés, vagy a tanuló nem kíván továbbtanulni, illetve a továbbtanuláshoz szükséges feltételek hiányában nem tanulhat tovább;
+
+g) az alapfokú művészetoktatási intézményben, ha a szülő, illetve a nagykorú tanuló bejelenti, hogy kimarad az iskolából, a bejelentésben megjelölt napon, továbbá az utolsó alapfokú évfolyam utolsó napján, ha a tanuló nem tesz művészeti alapvizsgát, valamint az utolsó továbbképző évfolyam záróvizsga letételének napján, illetve ha a tanuló nem tesz záróvizsgát, az utolsó évfolyam elvégzését tanúsító bizonyítvány kiállításának napján és az i) pontban megjelölt esetben;
+
+h) a tankötelezettség megszűnése után - ha a tanuló írásban bejelenti, hogy kimarad -, a bejelentés tudomásulvételének napján;
+
+i) ha a tanuló tanulói jogviszonyát - a tanköteles tanuló kivételével - fizetési hátralék miatt az igazgató a szülő, nagykorú tanuló esetén a tanuló eredménytelen felszólítása és a tanuló szociális helyzetének vizsgálata után megszünteti, a megszüntetés tárgyában hozott döntés jogerőre emelkedésének napján. E rendelkezések nem alkalmazhatók, ha a tanuló hátrányos helyzetű.
+
+(2) Ha a tanuló betöltötte a tizenhatodik életévét, és nem végezte el az általános iskola hatodik évfolyamát, az általános iskola a tanítási év végén kérelem hiányában is kezdeményezi a tanuló átvételét a kötelező felvételt biztosító szakiskolába, amennyiben az iskolában nem folyik felnőttoktatás, illetve a tanuló nem kívánja ott folytatni a tanulmányait.
+
+(3) Megszűnik a tanuló tanulói jogviszonya - a tanköteles tanuló kivételével - ha az iskola kötelező foglalkozásairól a jogszabályban meghatározott időnél igazolatlanul többet mulasztott.
+
+(4) Megszűnik a tanulói jogviszony a kizárás az iskolából fegyelmi határozat jogerőre emelkedésének napján.
+
+(5) Az iskola a tanítási év utolsó napján egyoldalú nyilatkozattal is megszüntetheti annak a tanulónak a tanulói jogviszonyát, aki nem tanköteles, ha ugyanannak az évfolyamnak a tanulmányi követelményeit második alkalommal nem teljesítette. Az iskolai tanítási év utolsó napján megszüntethető egyoldalú nyilatkozattal annak a tanulónak a tanulói jogviszonya is, aki az e törvény 52. §-ának (1) bekezdésében meghatározottak szerint nappali rendszerű iskolai oktatásban nem vehet részt, feltéve, hogy az iskolában nincs felnőttoktatás, illetve a tanuló abban nem kíván részt venni.
+
+==== 11/1994. (VI. 8.) MKM rendelet - a nevelési-oktatási intézmények működéséről ====
+
+28. §
+
+(2) Megszűnik a tanulói jogviszonya - a tanköteles kivételével - annak, aki igazolatlanul harminc tanítási óránál többet mulaszt, feltéve, hogy az iskola a tanulót, kiskorú tanuló esetén a szülőt legalább kettő alkalommal, írásban figyelmeztette az igazolatlan mulasztás következményeire. A tanulói jogviszony megszűnéséről az iskola írásban értesíti a tanulót, kiskorú tanuló esetén a szülőt, továbbá minden esetben a tanuló állandó lakóhelye, ennek hiányában tartózkodási helye szerint illetékes regionális egészségbiztosítási pénztárat.
+
+(3) Megszűnik a tanulói jogviszonya annak, aki az alapfokú művészetoktatási intézményben igazolatlanul tíz tanítási óránál többet mulaszt, feltéve, hogy az iskola a tanulót, kiskorú tanuló esetén a szülőt legalább kettő alkalommal, írásban figyelmeztette az igazolatlan mulasztás következményeire.
+
+==== 4. számú melléklet a 11/1994. (VI. 8.) MKM rendelethez ====
+
+A nevelési-oktatási intézmények ügyintézésének, iratkezelésének általános szabályai és a tanügyi nyilvántartások
+
+4.c) A gyermeket, a tanulót akkor lehet a felvételi és mulasztási naplóból, illetve a beírási naplóból törölni, ha az óvodai elhelyezés, a tanulói jogviszony, illetőleg a kollégiumi tagsági viszony megszűnt. A törlést a megfelelő záradék bejegyzésével kell végrehajtani.
+
+=== Záradék ===
+
+ 25. A tanuló jogviszonya
+
+ a) kimaradással,
+
+ b) ................... óra igazolatlan mulasztás miatt,
+
+ c) egészségügyi alkalmasság miatt,
+
+ d) térítési díj, tandíj fizetési hátralék miatt,
+
+ e) ........................ iskolába való átvétel miatt
+
+ megszűnt, a létszámból törölve. Bn., TI., B., N.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/zaradekok.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/zaradekok.txt
new file mode 100644
index 00000000..c220895e
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/zaradekok.txt
@@ -0,0 +1,261 @@
+====== Záradékok ======
+
+Mottó:
+
+A záradékok toldott-foldott, ötletszerű rendszere totálkáros, mind vezetői, mind programozó szemmel.
+Egyet tehetünk: próbálunk a választékból tartalmilag helyeset kiválasztani, hogy mi is, a szülő is, a gyerek is értse (nagyjából) miért írtuk is be…
+Tehát: rutin / racionalitás. :)
+
+===== 11/1994. (VI. 8.) MKM rendelet a nevelési-oktatási intézmények működéséről =====
+===== Az iskolák által alkalmazott záradékok =====
+
+Záradék Dokumentumok
+
+
+
+1. Felvéve [átvéve, a(z) ......... számú határozattal áthelyezve] a(z) (iskola címe) .................... iskolába.
+Bn., N., TI., B.
+
+
+
+1/A. Az első évfolyam követelményeit nem teljesítette, munkája előkészítőnek minősül, tanulmányait az első évfolyamon folytathatja.
+Bn., N., Tl., B.
+
+
+
+2. A ........ számú fordítással hitelesített bizonyítvány alapján tanulmányait a(z) (betűvel) .......... évfolyamon folytatja.
+Bn., TI.
+
+
+
+3. Felvette a(z) (iskola címe) ..................... iskola. Bn., TI., N.
+
+
+
+4. Tanulmányait évfolyamismétléssel kezdheti meg, illetve osztályozó vizsga letételével folytathatja.
+Bn., TI., N.
+
+
+
+4/A. ..... tantárgyból tanulmányait egyéni továbbhaladás szerint végzi. N., Tl., B.
+
+
+
+4/B. Mentesítve ..... tantárgyból az értékelés és a minősítés alól N., Tl., B.
+
+
+
+4/C. ..... tantárgy ..... évfolyamainak követelményeit egy tanévben teljesítette a következők szerint: .... N., Tl., B.
+
+
+
+5. Egyes tantárgyak tanórai látogatása alól az 19...../..... tanévben felmentve ............................................ miatt.
+N., TI., B.
+
+Kiegészülhet:
+
+osztályozó vizsgát köteles tenni
+
+
+
+6. Tanulmányait a szülő kérésére (szakértői vélemény alapján) magántanulóként folytatja. N., TI.
+
+
+
+7. Mentesítve a(z) [a tantárgy(ak) neve] ....................... tantárgy tanulása alól. N., TI., B.
+
+Megjegyzés: A törzslapra be kell jegyezni a mentesítés okát is.
+
+
+
+8. Tanulmányi idejének megrövidítése miatt a(z) ................... évfolyam tantárgyból osztályozó vizsgát köteles tenni.
+N., TI.
+
+
+
+9. A(z) évfolyamra megállapított tantervi követelményeket a tanulmányi idő megrövidítésével teljesítette.
+N., TI., B.
+
+
+
+10. A(z) ....................... tantárgy óráinak látogatása alól felmentve .................... -tól ........................ -ig.
+N.
+
+Kiegészülhet:
+
+Osztályozó vizsgát köteles tenni.
+
+
+
+11. Mulasztása miatt nem osztályozható, a nevelőtestület határozata értelmében osztályozó vizsgát tehet.
+N., TI.
+
+
+
+12. A nevelőtestület határozata: a (betűvel) .............. évfolyamba léphet, vagy N., TI., B.
+
+A nevelőtestület határozata: iskolai tanulmányait befejezte, tanulmányait .......................... évfolyamon folytathatja.
+
+
+
+13. A tanuló az .................. évfolyam követelményeit egy tanítási évnél hosszabb ideig, .................. hónap alatt teljesítette.
+N., TI.
+
+
+
+14. A(z) .................. tantárgyból javítóvizsgát tehet. N., TI., B.,
+
+A javítóvizsgán ..................... tantárgyból .......................... osztályzatot kapott ....................... évfolyamba léphet.
+TI., B.
+
+
+
+15. A .................. évfolyam követelményeit nem teljesítette, az évfolyamot megismételheti.
+N., TI., B.
+
+
+
+15/A. Az ..................... évfolyamot az 1993. évi LXXIX. törvény 72. §-ának (4) bekezdésében foglaltak alapján megismételte.
+
+
+
+16. A javítóvizsgán ................ tantárgyból elégtelen osztályzatot kapott.
+
+Évfolyamot ismételni köteles. TI., B.
+
+
+
+17. A(z) ........................ tantárgyból .......... -án osztályozó vizsgát tett. N., TI.
+
+
+
+18. Osztályozó vizsgát tett. TI., B.
+
+
+
+19. A(z) .................. tantárgy alól ............... okból felmentve. TI., B.
+
+
+
+20. A(z) ................... tanóra alól .................. okból felmentve. TI., B.
+
+
+
+21. Az osztályozó (beszámoltató, különbözeti, javító-) vizsga letételére .............................-ig halasztást kapott.
+TI., B.
+
+
+
+22. Az osztályozó (javító-) vizsgát engedéllyel a(z) ................................ iskolában független vizsgabizottság előtt tette le.
+TI., B.
+
+
+
+23. A(z) .......................... szakképesítés évfolyamán folytatja tanulmányait. TI., B., N.
+
+
+
+24. Tanulmányait ......................................... okból megszakította, a tanulói jogviszonya .......................................-ig szünetel.
+Bn., TI.
+
+
+
+25. A tanuló jogviszonya
+
+a) kimaradással,
+
+b) ................... óra igazolatlan mulasztás miatt,
+
+c) egészségügyi alkalmasság miatt,
+
+d) térítési díj, tandíj fizetési hátralék miatt,
+
+e) ........................ iskolába való átvétel miatt megszűnt, a létszámból törölve. Bn., TI., B., N.
+
+
+
+26. ............................. fegyelmező intézkedésben részesült. N.
+
+
+
+27. ............................ fegyelmi büntetésben részesült. A büntetés végrehajtása .............. ........................-ig felfüggesztve.
+
+
+
+28. Tanköteles tanuló igazolatlan mulasztása esetén Bn., TI., N.
+
+a) A tanuló ............... óra igazolatlan mulasztása miatt a szülőt felszólítottam.
+
+b) A tanuló ismételt ....................... óra igazolatlan mulasztása miatt a szülő ellen szabálysértési eljárást kezdeményeztem. Az a) pontban foglaltakat nem kell bejegyezni a Bn. és TI. dokumentumokra.
+
+
+
+29. Tankötelezettség megszűnt. Bn.
+
+
+
+30. A ................. szót (szavakat) osztályzato(ka)t ....................-ra helyesbítettem. TI., B.
+
+
+
+31. A bizonyítvány .......... lapját téves bejegyzés miatt érvénytelenítettem. B.
+
+
+
+32. Ezt a póttörzslapot a(z) ........................ következtében elvesztett (megsemmisült) eredeti helyett ............... adatai (adatok) alapján állítottam ki.
+Pót. TI.
+
+
+
+33. Ezt a bizonyítványmásodlatot az elveszett (megsemmisült) eredeti helyett ................ adatai (adatok) alapján állítottam ki.
+Pót. TI.
+
+
+
+33/A. A bizonyítványt ..... kérelmére a ..... számú bizonyítvány alapján, téves bejegyzés miatt állítottam ki. Tl., B.
+
+
+
+34. Pótbizonyítvány. Igazolom, hogy név ......................................................................, anyja neve ................................................................................................... a(z) .............................................. iskola ............................................. szak (szakmai, speciális osztály, két tanítási nyelvű osztály, tagozat) ...................... évfolyamát a(z) ........................ tanévben eredményesen elvégezte.
+
+
+
+Pót. B.
+
+
+
+35. Az iskola a tanulmányi eredmények bejegyzéséhez, a kiemelkedő tanulmányi eredmények elismeréséhez, a felvételi vizsga eredményeinek bejegyzéséhez ................ vizsga eredményének befejezéséhez vagy egyéb, a záradékok között nem szereplő, a tanulóval kapcsolatos közlés dokumentálásához a záradékokat megfelelően alkalmazhatja, illetve megfelelően záradékot alakíthat ki.
+
+
+
+36. Érettségi vizsgát tehet. TI., B.
+
+
+
+37. Gyakorlati képzésről mulasztását .......................-tól .....................-ig pótolhatja. TI., B., N.
+
+
+
+38. Beírtam a ......................................... iskola első osztályába.
+
+
+
+39. Ezt a haladási naplót .................... tanítási nappal (órával) lezártam. N.
+
+
+
+40. Ezt az osztályozó naplót ................ azaz .................... (betűvel) osztályozott tanulóval lezártam.
+N.
+
+Alkalmazott rövidítések:
+
+
+
+Beírási napló Bn.
+
+Osztálynapló N.
+
+Törzslap TI.
+
+Bizonyítvány B.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/zarojegyek.txt b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/zarojegyek.txt
new file mode 100644
index 00000000..91669aee
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/jogtar/zarojegyek.txt
@@ -0,0 +1,645 @@
+
+====== Zárójegyek (félévi, évvégi értékelés) ======
+
+===== Osztályzatok, érdemjegyek =====
+
+>> (1993. évi LXXIX. törvény a közoktatásról) **70. § (1)** //A pedagógus - … - a tanuló teljesítményét, előmenetelét [color=red]tanítási év közben rendszeresen érdemjeggyel értékeli, félévkor és a tanítási év végén osztályzattal minősíti[/color]. A tanuló magatartásának és szorgalmának értékelését és minősítését az osztályfőnök - az osztályban tanító pedagógusok véleményének kikérésével - végzi. Az érdemjegyekről a tanulót és a kiskorú tanuló szülőjét rendszeresen értesíteni kell. [color=red]A félévi és az év végi osztályzatot az érdemjegyek alapján kell meghatározni.[/color] Az osztályzatról a tanulót és a kiskorú szülőjét értesíteni kell. Az érdemjegy, illetőleg az osztályzat megállapítása a tanuló teljesítményének, szorgalmának értékelésekor, minősítésekor nem lehet fegyelmezési eszköz.// \\
+>> **(2)** //Az érdemjegyek és osztályzatok - a (3) bekezdésben meghatározott kivétellel - a következők:// \\
+>> //a) a tanuló tudásának értékelésénél és minősítésénél jeles (5), jó (4), közepes (3), elégséges (2), elégtelen (1);// \\
+>> //b) a tanuló magatartásának értékelésénél és minősítésénél példás (5), jó (4), változó (3), rossz (2);// \\
+>> //c) a tanuló szorgalmának értékelésénél és minősítésénél példás (5), jó (4), változó (3), hanyag (2).// \\
+>> **(3)** //Az első-harmadik évfolyamon - félévkor és év végén, továbbá a negyedik évfolyamon félévkor - szöveges minősítéssel kell kifejezni, hogy a tanuló kiválóan, jól vagy megfelelően teljesített, illetve felzárkóztatásra szorul. Ha a tanuló „felzárkóztatásra szorul” minősítést kap, az iskolának a szülő bevonásával értékelni kell a tanuló teljesítményét, fel kell tárni a tanuló fejlődését, haladását akadályozó tényezőket, és javaslatot kell tenni az azok megszüntetéséhez szükséges intézkedésekre. [color=red]Az iskola pedagógiai programja, az évközi érdemjegyek, a félévi és az év végi osztályzatok helyett a tanuló teljesítményének, szorgalmának, magatartásának értékelésére, minősítésére a (2) bekezdésben meghatározottaktól eltérő jelölés, illetőleg szöveges értékelés alkalmazását is előírhatja.[/color] Ha az iskola nem alkalmazza az (1)-(2) bekezdésben meghatározottakat, de arra iskolaváltás vagy továbbtanulás miatt szükség van, köteles a félévi és az év végi minősítést osztályzattal is elvégezni. Az iskola által alkalmazott jelölés, értékelés érdemjegyre, osztályzatra való átváltásának szabályait a helyi tantervben kell meghatározni. Az iskola pedagógiai programja meghatározhatja azokat a tananyagokat, tantárgyakat, amelyekből a tanuló teljesítményét, előmenetelét nem kell értékelni, illetve minősíteni, továbbá eltekinthet a magatartás és szorgalom értékelésétől és minősítésétől. Nem mellőzhető azonban a tanuló teljesítményének, előmenetelének értékelése és minősítése azokból a tantárgyakból, amelyek követelményeiből állami vizsgát kell, illetve lehet tenni. A szakiskola pedagógiai programjában kell meghatározni, hogy a szakmai előkészítő és szakmai alapozó oktatás, illetve a szakközépiskola pedagógiai programjában kell meghatározni, hogy a szakmai orientáció és a szakmacsoportos alapozó oktatás keretében elsajátított ismereteket hány tantárgy keretei között értékelik és minősítik, továbbá moduláris oktatás esetén az egyes modulok értékelését és minősítését.// \\
+>> **(4)** //Az egyes tanulók év végi osztályzatát a nevelőtestület osztályozó értekezleten áttekinti, és a pedagógus, illetve az osztályfőnök által megállapított osztályzatok alapján dönt a tanuló magasabb évfolyamba lépéséről. Abban az esetben, ha az év végi osztályzat a tanuló hátrányára lényegesen eltér a tanítási év közben adott érdemjegyek átlagától, a nevelőtestület felhívja az érdekelt pedagógust, hogy adjon tájékoztatást ennek okáról, és indokolt esetben változtassa meg döntését. Ha a pedagógus nem változtatja meg döntését, és a nevelőtestület ennek indokaival nem ért egyet, az osztályzatot az évközi érdemjegyek alapján a tanuló javára módosítja. //
+
+===== 1. „Rendes” diák =====
+
+Sima ügy: érdemjegyeket írunk évközben a naplóba; az osztályzatok kerülnek tanév végén a naplóba, bizonyítványba, törzslapra.
+
+**Figyelem:**
+
+
+>> (11/1994. (VI. 8.) MKM rendelet) **24. § (1)** //Ha a tantárgy oktatása félévkor fejeződik be, a tanuló osztályzatát az év végi bizonyítványban kell feltüntetni.//
+
+
+===== 2. Nem „rendes” diák =====
+
+==== 2.1. Magántanuló ====
+
+>> (1993. évi LXXIX. törvény a közoktatásról) **7. § (1)** //A tankötelezettség - a szülő választása alapján - iskolába járással vagy magántanulóként teljesíthető.//
+
+>> (1993. évi LXXIX. törvény a közoktatásról) **7. § (2)** //Ha az iskola igazgatója … megítélése szerint a tanulónak hátrányos, hogy tankötelezettségének magántanulóként tegyen eleget, vagy az így elkezdett tanulmányok befejezésére nem lehet számítani, köteles erről értesíteni a gyermek lakóhelye … szerint illetékes önkormányzat jegyzőjét. A jegyző dönt arról, hogy a tanuló milyen módon teljesítse tankötelezettségét. Hátrányos helyzetű tanuló esetén az iskola igazgatójának a döntéséhez be kell szereznie a gyermekjóléti szolgálat véleményét.//
+
+>> (1993. évi LXXIX. törvény a közoktatásról) **11. § (1)** A tanuló joga különösen, hogy \\ n) magántanuló legyen, továbbá, hogy kérje a tanórai foglalkozásokon való részvétel alóli felmentését;
+
+
+=== Magántanulóvá három módon válhat egy diák: ===
+
+ * szülői döntés alapján
+
+ * szakértői javaslatra (sajátos nevelési igényű; tanulási, stb. nehézséggel küzdő tanuló)
+
+ * szakorvosi javaslatra (tartósan beteg)
+
+Az első esetben az iskolát csak a vizsgáztatás terheli, a 2-3. esetekben felkészítési kötelezettsége is van!
+
+>> (11/1994. (VI. 8.) MKM rendelet) **23. § (1)** //Ha a tanuló - szülőjének a közoktatási törvény 7. §-a (2) bekezdésében szabályozott választása alapján - tankötelezettségének magántanulóként tesz eleget, az erről való bejelentést követő három napon belül az iskola igazgatója beszerzi a tanuló lakóhelye … szerint illetékes gyermekjóléti szolgálat véleményét, annak eldöntésére, hátrányos-e ez a megoldás a tanulónak.//
+
+>> (11/1994. (VI. 8.) MKM rendelet) **23. § (2)** //6Ha a tanuló tanulmányi kötelezettségének a szülő döntése alapján magántanulóként tesz eleget, felkészítéséről a szülő gondoskodik, illetőleg a tanuló egyénileg készül fel. Az az iskola pedig, amellyel a tanuló tanulói jogviszonyban áll - kivéve, ha a tanuló független vizsgabizottság előtt ad számot tudásáról - állapítja meg a tanuló érdemjegyeit és osztályzatait, továbbá dönt - minden esetben - a tanuló magasabb évfolyamra lépésével kapcsolatos kérdésekben. Az iskola igazgatója köteles tájékoztatni a tanulót, illetve a szülőt a magántanulói jogairól és kötelességeiről. //
+
+>> (11/1994. (VI. 8.) MKM rendelet) **23. § (3)** //Ha a sajátos nevelési igényű tanuló az illetékes szakértői és rehabilitációs bizottság, a beilleszkedési, magatartási, tanulási nehézséggel küzdő tanuló a nevelési tanácsadó szakértői véleménye alapján tanulmányait magántanulóként folytatja, iskolai neveléséről és oktatásáról - felkészítéséről, érdemjegyeinek és osztályzatainak megállapításáról, illetve az ehhez szükséges pedagógusokról - a szakértői véleményben foglaltak szerint - az az iskola gondoskodik, amellyel a tanuló tanulói jogviszonyban áll. //
+
+>> (11/1994. (VI. 8.) MKM rendelet) **23. § (4)** //Az iskola köteles gondoskodni a tanuló felkészítéséről, érdemjegyeinek és osztályzatának megállapításáról akkor is, ha a szakorvosi vélemény alapján otthoni ellátás keretében részesül tartós gyógykezelésben, és emiatt magántanulóként folytatja tanulmányait.//
+
+=== A magántanulónak minden tantárgyból (készségtárgyakból is!) osztályozóvizsgát kell tennie. ===
+
+>> (1993. évi LXXIX. törvény a közoktatásról) **69. § (3)** //A magántanulót az iskola **valamennyi** kötelező tanórai foglalkozása alól **fel kell menteni**//.
+
+>> (1993. évi LXXIX. törvény a közoktatásról) **69. § (4)** //Az, akit **felmentettek** a kötelező tanórai foglalkozásokon való részvétel alól, az igazgató által meghatározott időben, és a nevelőtestület által meghatározott módon, ad számot tudásáról.//
+
+>> (11/1994. MKM rendelet) **21. § (3)** //A tanuló osztályzatait évközi teljesítménye és érdemjegyei vagy az osztályozó vizsgán, … a javítóvizsgán nyújtott teljesítménye alapján kell megállapítani …//
+
+a 11/1994. MKM rendelet 1998. februárjáig érvényes szövege
+
+>>**21. § (6)** //A magántanulónak a magatartását és szorgalmát nem kell minősíteni. Az iskola helyi tanterve megengedheti, hogy a magántanulót mentesítsék a készségtárgyak tanulása alól.//
+
+ugyanez 1998. augusztusa óta:
+
+>>**21. § (5)** //A magántanulónak a magatartását és szorgalmát nem kell minősíteni.//
+
+=== A „magántanulóság” tényét a naplóban (és a törzslapon) záradék formájában rögzíteni kell (6. záradék). ===
+
+>> (6. záradék) //Tanulmányait a szülő kérésére (szakértői vélemény alapján) magántanulóként folytatja. (N., Tl.)//
+
+=== A magántanuló része az osztálynak ===
+
+A magántanuló „része” az osztálynak, és célszerű lenne, ha része legyen a tanköröknek; de „nem bír” hiányozni, illetve tanév közben nem kaphat érdemjegyeket!
+
+Az iskolai szervezet alapegysége ugyanis az **osztály**:
+
+>> (1993. évi LXXIX. törvény) **66. § (10)** //Az iskolába felvett tanulók osztályba … való beosztásáról … az igazgató dönt.//
+
+Továbbá: valamennyi kötelező nyomtatvány (beírási napló, haladási- és osztályozó napló, törzslap) osztály szerint tartja nyilván a diákokat, az adatokat.
+Így a magántanuló is mindenképpen tagja kell legyen egy osztálynak (egyszerűen nincs más lehetőség…).
+
+A tankör fogalmát a törvények, rendeletek nem ismerik, így ezekkel kapcsolatos szabályozás nincs, ugyanakkor mivel a diák nem magántanulónak születik,
+hanem körülményei okán azzá válik (pl. külföldi kiküldetés, betegség, sérülés, családi körülmények, stb.), s mindez többnyire nem szeptember elsején
+következik be -- tehát már vannak tanárai, valameddig eljutottak a tananyaggal, stb. -- logikusnak tűnik, hogy a magántanuló az e-napló lehetőségeit
+kihasználva tudja követni az osztály előrehaladását, tudjon kommunikálni tanáraival (akik vizsgáztatni fogják), osztálytársaival. Az tankörökből való
+automatikus kivétel ettől mind megfosztaná.
+
+
+
+==== 2.2. „Nem osztályozható” ====
+
+A "nem osztályozható" státusz csak megelelő számú mulasztás esetén következhet be.
+
+>> ((11/1994. MKM rendelet) **20. § (3)** //Ha a távolmaradást nem igazolják, a mulasztás igazolatlan. Az iskola köteles a szülőt értesíteni a tanköteles tanuló első igazolatlan mulasztásakor, illetve, ha a nem tanköteles kiskorú tanuló igazolatlan mulasztása a tíz órát eléri. Az értesítésben fel kell hívni a szülő figyelmét az igazolatlan mulasztás következményeire.//
+
+>> ((11/1994. MKM rendelet) **20. § (6)** //Ha a tanulónak egy tanítási évben az igazolt és igazolatlan mulasztása együttesen \\ \\
+ a) … a kettőszázötven tanítási órát, \\ \\
+ d) egy adott tantárgyból a tanítási órák harminc százalékát meghaladja \\ \\
+ és emiatt a tanuló teljesítménye tanítási év közben nem volt érdemjeggyel értékelhető, a tanítási év végén nem osztályozható, kivéve, ha a nevelőtestület engedélyezi, hogy osztályozóvizsgát tegyen. //
+
+A lehetséges esetek:
+
+=== a diák „keveset” hiányzik ===
+
+azaz összesen nem több mint 250 óra, és tantárgyanként legfeljebb 30% a hiányzások száma.
+
+Ekkor a diák osztályozható/osztályzandó (**szaktanár felelőssége**, hogy legyen elegendő érdemjegye!)
+
+=== a diák „sokat” hiányzik ===
+
+azaz összesen több mint 250 óra, vagy legalább egy tárgyból több mint 30% a mulasztások száma
+
+Ekkor a diák osztályozhatóságáról az érintett **szaktanár(ok) dönt(enek)** (~ van-e elég jegye)
+
+Ha legalább egy tanár nem osztályozhatónak nyilvánítja, nevelőtestület dönt az osztályozó vizsga engedélyezéséről (megtagadására csekély az esély)
+
+== engedély esetén a tanuló osztályozóvizsgát tesz az adott tárgy(ak)ból ==
+
+>> (11. záradék) // Mulasztása miatt nem osztályozható, a nevelőtestület határozata értelmében osztályozó vizsgát tehet.// (N., TI.)
+
+== ha nem tehet osztályozóvizsgát, évet kell ismételnie ==
+
+Kivételes esetben a nevelőtestület megtagadhatja az osztályozóvizsga lehetőségét, akkor erről egy formailag tökéletes, külön dokumentumban rögzített, aláírt, postázott, stb. határozat születik.
+
+>> (11/1994. MKM rendelet) **20. § (6)** // A nevelőtestület az osztályozóvizsga letételét akkor tagadhatja meg, ha az igazolatlan mulasztások száma meghaladja az igazolt mulasztások számát, és az iskola eleget tett a (3) bekezdésben meghatározott értesítési kötelezettségének. Ha a tanuló a tanítási év végén nem osztályozható, tanulmányait évfolyamismétléssel folytathatja. Ha a tanuló mulasztásainak száma már az első félév végére meghaladja a meghatározott mértéket, és emiatt teljesítménye nem volt érdemjeggyel értékelhető, félévkor osztályozóvizsgát kell tennie. //
+
+Kapcsolódó záradékként a fent emlegetett határozatra való hivatkozást rögzítünk az osztálynaplóba:
+
+> (35. záradék - egyedi szövegezést tesz lehetővé) // A .../... számú határozat alapján a tanévet megismételheti.//
+
+
+==== 2.3. „Felmentett” ====
+
+A felmentésnek **három** esetét kell megkülönböztetnünk (mindhárom esetben **igazgató által hozott határozat** intézkedik a felmentésről!):
+
+=== adott tárgyból (rész)értékelés alóli felmentés ===
+
+Csak szakértői és rehabilitációs bizottság vagy a nevelési tanácsadó szakvéleménye alapján adható ilyen felmentés,
+mely esetben a tanulónak az órákon részt kell venni, de érdemjegyet, osztályzatot nem kap (rész-mentesítés esetén kap!).
+
+>> (1993. évi LXXIX. törvény a közoktatásról) **30. § (9)** //A sajátos nevelési igényű tanulót, illetve a beilleszkedési, tanulási, magatartási nehézséggel küzdő tanulót - jogszabályban meghatározott munkamegosztás szerint - a szakértői és rehabilitációs bizottság vagy a nevelési tanácsadó szakértői véleménye alapján … az igazgató mentesíti egyes tantárgyakból, tantárgyrészekből az értékelés és a minősítés alól. Ha a tanulót egyes tantárgyakból, tantárgyrészekből mentesítik az értékelés és minősítés alól, az iskola … egyéni foglalkozást szervez részére. Az egyéni foglalkozás keretében - egyéni fejlesztési terv alapján - segíti a tanuló felzárkóztatását a többiekhez. Az érettségi vizsgán az érintett tantárgyak helyett a tanuló - a vizsgaszabályzatban meghatározottak szerint - másik tantárgyat választhat. A tanuló részére a felvételi vizsgán, az osztályozó vizsgán, … a javítóvizsgán, az érettségi vizsgán, … biztosítani kell a hosszabb felkészülési időt, az írásbeli beszámolón lehetővé kell tenni az iskolai tanulmányok során alkalmazott segédeszköz (írógép, számítógép stb.) alkalmazását, szükség esetén az írásbeli beszámoló szóbeli beszámolóval vagy a szóbeli beszámoló írásbeli beszámolóval történő felváltását.//
+
+példa:
+<file>
+Diszkalkulia miatt mentesítve a matematika értékelés alól
+
+Ekkor matematikából nem kaphat jegyet, de tagja a tankörnek (hiányzásait jegyezni kell!)
+</file>
+<file>
+Diszgráfia miatt mentesítve a helyesírás értékelése alól
+
+Ekkor nyelvtanból kell jegyet kapnia (csak nem helyesírásra), és természetesen tagja a tankörnek.
+</file>
+
+Kapcsolódó záradék:
+
+>> (4/B. záradék) // Mentesítve ..... tantárgyból az értékelés és a minősítés alól.// (N., Tl., B.)
+
+
+=== Órák látogatása alóli felmentés ===
+
+Az igazgató engedélyezheti, hogy a tanuló az órákon ne vegyen részt. Ekkor évközben érdemjegyeket nem kap, évvégi jegyét osztályozó vizsgán kell megszereznie (ha nem csak "rövid" időszakra szól a felmentés)
+
+>> (1993. évi LXXIX. törvény a közoktatásról) **69. § (2)** // Az igazgató … a tanulót kérelmére - részben vagy egészben - felmentheti az iskolai kötelező tanórai foglalkozásokon való részvétel alól, ha a tanuló egyéni adottságai, sajátos nevelési igénye, továbbá sajátos helyzete ezt indokolttá teszi. …//
+
+>> (1993. évi LXXIX. törvény a közoktatásról) **69. § (4)** //Az, akit felmentettek a kötelező tanórai foglalkozásokon való részvétel alól, az igazgató által meghatározott időben, és a nevelőtestület által meghatározott módon, ad számot tudásáról. //
+
+példa:
+<file>
+élsportoló; kérelem és egyéni elbírálás alapján
+</file>
+
+Kapcsolódó záradékok:
+
+>> (5. záradék) //Egyes tantárgyak tanórai látogatása alól az 19...../..... tanévben felmentve ............................................ miatt.// Kiegészülhet: //osztályozó vizsgát köteles tenni.// (N., TI., B.)
+
+>> (10. záradék) //A(z) ... tantárgy óráinak látogatása alól felmentve ...-tól ...-ig.// Kiegészülhet: //Osztályozó vizsgát köteles tenni.// (N.)
+
+=== Tárgy tanulása alóli felmentés ===
+
+>> (1993. évi LXXIX. törvény a közoktatásról) **69. § (2)** // … Az igazgató a tanulót kérelmére mentesítheti a készségtárgyak tanulása alól, ha azt egyéni adottsága vagy sajátos helyzete indokolttá teszi.//
+
+Ez az az eset, amikor a tanulónak az órákon nem kell részt vennie, évközi érdemjegyet, illetve évvégi osztályzat sem kap. Csak **készségtárgyaknál** fordulhat elő.
+
+>> (11/1994. (VI. 8.) MKM rendelet) **23. § (5)** //Ha a tanulót a közoktatási törvény 69. §-ának (2) bekezdése alapján egyéni adottsága vagy sajátos helyzete alapján mentesítették a testnevelés, a művészetek, a technika tantárgyak és egyéb gyakorlati jellegű tantárgyak, foglalkozások tanulása alól, tudásáról nem kell számot adnia. A mentesítés iránti kérelemben meg kell jelölni a kérelem indokát. Ha a mentesítést a sajátos nevelési igényű tanuló testi, érzékszervi, értelmi, beszédfogyatékosságára, autizmusára, halmozottan fogyatékosságára, vagy a pszichés fejlődés zavarai miatt a nevelési, tanulási folyamatban való tartós és súlyos akadályozottságára tekintettel kérik, az illetékes szakértői és rehabilitációs bizottság, ha pedig tanulási nehézségre tekintettel kérik, a nevelési tanácsadó szakértői véleményét be kell csatolni.//
+
+Tipikusan: testnevelés III. kategória:
+
+>> (1993. évi LXXIX. törvény a közoktatásról) **35. § (8)** //A gyógytestnevelés feladata a gyermek, a tanuló speciális egészségügyi célú testnevelési foglalkoztatása, ha az iskolaorvosi vagy szakorvosi szűrővizsgálat gyógy- vagy könnyített testnevelésre utalja.//
+
+>> (1. számú melléklet a 11/1994. (VI. 8.) MKM rendelethez) **1.** //A tanuló, ha egészségi állapota miatt a testnevelési órák gyakorlatait csak részben vagy egyáltalán nem tudja elvégezni - az orvosi szakvéleményben foglaltak szerint - a kötelező testnevelési óra keretében vagy helyett könnyített testnevelésre (a továbbiakban: I. kategória) vagy a kötelező testnevelési óra helyett gyógytestnevelésre (a továbbiakban: II. kategória) kell beosztani, illetve fel kell menteni (a továbbiakban: III. kategória) mindenféle testnevelési órán való részvétel alól.//
+
+Kapcsolódó záradék:
+
+>> (7. záradék) //Mentesítve a(z) [a tantárgy(ak) neve] ....................... tantárgy tanulása alól.// (N., TI., B.)
+
+
+==== 2.4. Előrehozott osztályozó vizsga - a „Gyors” ====
+
+Tipikusan: előrehozott érettségi vizsgát kíván tenni a tárgy tanulásának befejezése előtt
+
+>> (11/1994. (VI. 8.) MKM rendelet) **21. § (4)** //A félévi és a tanév végi osztályzat megállapításához a tanulónak osztályozó vizsgát kell tennie, ha\\ \\
+b) engedélyezték, hogy egy vagy több tantárgy tanulmányi követelményének egy tanévben, illetve az előírtnál rövidebb idő alatt tegyen eleget,//
+
+Kapcsolódó záradékok:
+
+>> (4/C. záradék) //... tantárgy ... évfolyamainak követelményeit egy tanévben teljesítette a következők szerint: ... // (N., Tl., B.)
+
+>> (8. záradék) //Tanulmányi idejének megrövidítése miatt a(z) ... évfolyam tantárgyból osztályozó vizsgát köteles tenni. // (N., TI.)
+
+A tanuló az adott tárgy **érettségiig hátralévő anyagából** tesz osztályozó vizsgát/vizsgákat.
+
+**Minden érintett év/évfolyam** anyagából külön-külön osztályzatot kap!
+
+>> (11/1994. (VI. 8.) MKM rendelet) **24. § (3)** //Ha a tanuló egy vagy több tantárgy több évfolyamra megállapított követelményeit egy tanévben teljesíti, osztályzatait minden érintett évfolyamra meg kell állapítani.//
+
+Az „előrehozott” vizsga eredménye a naplóba nem kerülhet bele (hiszen az adott évfolyamhoz tartozó napló még nem áll rendelkezésre!)
+- csak ha szorgalmi időszakban (tanítási év, tanév alatt ~ szept. 1. - jún. 15. között) az osztály aktuális évfolyamában szerzett zárójegyről van szó.
+
+Az előrehozott érettségi után a tanulót a tankörből célszerű kivenni, hiszen a továbbiakban az adott tárgyat tanulnia nem kötelező, így értékelni, hiányzásait adminisztrálni sem kell.
+
+>> (11/1994. (VI. 8.) MKM rendelet) **26 § (5)** //Ha a tanuló előrehozott érettségi vizsgát tett valamely vizsgatantárgyból, ezáltal e tantárgy tanulmányi követelményeit teljesítette. Az iskola magasabb évfolyamán vagy évismétlés esetén ezt a tantárgyat nem köteles tanulni.//
+
+==== 2.5. Utólag letett osztályozó vizsga - a „Lassú” ====
+
+A tanuló utólag vizsgázik egy tárgy korábbi éveinek anyagából (pl. mert érettségizni szeretne belőle, de valamiért órákon nem tanulta)
+
+Kapcsolódó záradék:
+
+>> (17. záradék) //A(z) ... tantárgyból ...-án osztályozó vizsgát tett. // (N., Tl.)
+
+vagy
+
+>> (4/C. záradék) //... tantárgy ... évfolyamainak követelményeit egy tanévben teljesítette a következők szerint: ... // (N., Tl., B.)
+
+Az adott tárgy **hiányzó éveinek/évfolyamainak** anyagából tesz osztályozó vizsgát/vizsgákat.
+
+**Minden érintett év** anyagából külön-külön osztályzatot kap!
+
+>> (11/1994. (VI. 8.) MKM rendelet) **24. § (3)** //Ha a tanuló egy vagy több tantárgy több évfolyamra megállapított követelményeit egy tanévben teljesíti, osztályzatait minden érintett évfolyamra meg kell állapítani.//
+
+Az „utóvizsgázó” eredménye a naplóba nem kerülhet bele (hiszen a napló már le van zárva!) - csak ha szorgalmi időszakban (tanítási év, tanév alatt ~ szept. 1. - jún. 15. között) az osztály aktuális évfolyamában szerzett zárójegyről van szó.
+
+===== 3. Vizsgák =====
+
+A vizsgák (javító, osztályozó, pótló) lebonyolítási rendje (bizottság, tétel, felkészülési idő, stb.) gyakorlatilag megegyezik az érettségivel.
+
+>> [[http://net.jogtar.hu/jr/gen/hjegy_doc.cgi?docid=99400011.mkm#pr2800|lsd. 9. számú melléklet a 11/1994. MKM rendelethez]]
+
+A vizsgák részeit, tartalmát viszont a tantestület állapítja meg.
+
+>> (11/1994. MKM rendelet) **26.§ (2)** //A tanulmányok alatti vizsga követelményeit, részeit (írásbeli, szóbeli, gyakorlati) és az értékelés rendjét a nevelőtestület a helyi tanterv alapján határozza meg, és a helyben szokásos módon nyilvánosságra hozza. A tanulmányok alatti vizsga - ha azt az iskolában szervezik - vizsgabizottságának elnökét és tagjait az igazgató … bízza meg.//
+
+A vizsgák eredménye tipikusan nem a naplóban, hanem jegyzőkönyvek alapján a bizonyítványban és a törzslapon kerül rögzítésre!
+Kivéve ha szorgalmi időszakban, az osztály aktuális évfolyamában szerzett zárójegyről van szó!
+
+Az osztályozó napló a szorgalmi időszak (lsd. tanítási év fogalma) alatt (szept. 1. - jún. 15. között) „él” (megnyitjuk - lezárjuk - irattárban őrizzük).
+
+>> (1993. évi LXXIX. törvény a közoktatásról) **121. § (1)** //E törvény alkalmazásában \\
+>> 38. tanév: az iskolában általában szeptember 1-jétől a következő év augusztus 31-éig tartó időszak;// \\
+>> **52. § (1)** //Az iskolában a szorgalmi idő, tanítási év minden év szeptemberének első munkanapján kezdődik és - az érettségi vizsga s a szakmai vizsga évét kivéve - minden év június hónap 15-én, illetve, ha ez a nap nem munkanap, a június 15-ét megelőző munkanapon fejeződik be.//
+
+Ebből következően:
+
+ * javítóvizsga (aug. második fele) eredménye nem kerülhet bele,
+
+ * pótlóvizsga (még később) eredménye nem kerülhet bele,
+
+ * „előrehozott” vizsga (napló még nincs!) eredménye nem kerülhet bele,
+
+ * „utóvizsgázó” (napló már lezárva!) eredménye nem kerülhet bele,
+
+ * osztályozóvizsga (magántanuló, mulasztó, felmentett), bekerül, ha a napló „életciklusa” alatt volt.
+
+==== 3.1. Osztályozó vizsga ====
+
+Osztályozó vizsgára akkor kerülhet sor, ha:
+
+=== a diák fel lett mentve az adott tárgy óráinak látogatása alól ===
+
+>> (11/1994. MKM rendelet) **21. § (4)** //A félévi és a tanév végi osztályzat megállapításához a tanulónak osztályozó vizsgát kell tennie, ha \\
+ a) felmentették a tanórai foglalkozásokon való részvétele alól,//
+
+Ekkor az érintett tárgy(ak)ból vizsgázik (félévben és a tanév végén)
+
+Adminisztráció: a vizsga eredménye: napló (jegy + záradék), bizonyítvány, törzslap
+
+>> (17. záradék) //A(z) ... tantárgyból ...-án osztályozó vizsgát tett.//
+
+=== a diák előrehozott érettségi vizsgát kíván tenni ===
+
+>> (11/1994. MKM rendelet) **21. § (4)** //A félévi és a tanév végi osztályzat megállapításához a tanulónak osztályozó vizsgát kell tennie, ha \\ \\
+b) engedélyezték, hogy egy vagy több tantárgy tanulmányi követelményének egy tanévben, illetve az előírtnál rövidebb idő alatt tegyen eleget,//
+
+Ekkor az adott tárgy(ak) érettségiig hátralévő anyagából vizsgázik (minden érintett év anyagából külön-külön osztályzatot kap!)
+
+Adminisztráció: a vizsga eredménye: bizonyítvány, törzslap (tehát: naplóban nem szerepel! - csak, ha az adott évfolyamra (is) vonatkozik a vizsga - pl. áprilisban vizsgázik, hogy a májusi érettségin részt vehessen)
+
+>> (4/C. záradék) //... tantárgy ... évfolyamainak követelményeit egy tanévben teljesítette a következők szerint: ...// (N., Tl., B.)
+
+Az osztályzatokat a törzslapra „előre” be kell írni, bizonyítványba csak akkor, ha minden osztályzata megvan!
+
+>> (11/1994. MKM rendelet) **24. § (3)** //… Ha a tanuló nem teljesíti az iskolai évfolyam valamennyi követelményét, az egyes tantárgyak osztályzatát a törzslapján valamennyi elvégzett évfolyamon fel kell tüntetni, és a vizsga évében, ezt követően az adott évben kiállításra kerülő év végi bizonyítványba be kell írni.//
+
+példa:
+<file>
+Egy éppen csak 11.-es diák szeptember elején levizsgázik a 11-12. évfolyam angol anyagából, hogy ősszel előrehozott érettségit tehessen.
+- A törzslapba mindkét eredményt be kell írni.
+- A 11.-es tanév végén a bizonyítványba bekerül a 11-es osztályzata;
+- A 12. évfolyam végén pedig a bizonyítványba bekerül a 12-es osztályzata.
+- A 11.-es naplóban a 11.-es osztályzat (zárójegy) jelenik meg;
+- A 12.-es napló még nincs és később se kerül bele ez a zárójegy
+- A diák évközben már nem kaphat érdemjegyet, nem regisztrálható hiányzása (se 11. se 12. évfolyamon) - tehát ez esetben célszerű megszűntetni a tankör tagságát!
+</file>
+
+=== a diák „sokat” mulasztott ===
+
+>> (11/1994. MKM rendelet) **21. § (4)** //A félévi és a tanév végi osztályzat megállapításához a tanulónak osztályozó vizsgát kell tennie, ha \\ \\
+c) a 20. § (6) bekezdésében meghatározott időnél többet mulasztott, és a nevelőtestület döntése alapján osztályozó vizsgát tehet,//
+
+Ekkor a szaktanárok által kijelölt tárgy(ak)ból vizsgázik (praktikusan a tanév végén).
+
+Adminisztráció: a vizsga eredménye: napló (osztályzat + záradék), bizi, törzslap
+
+>> (17. záradék) //A(z) ... tantárgyból ...-án osztályozó vizsgát tett.//
+
+=== a diák magántanuló ===
+
+Ekkor minden tantárgyból vizsgázik (félévben és a tanév végén)
+
+Adminisztráció: a vizsga eredménye: napló, bizi, törzslap
+
+>> (18. záradék) Osztályozó vizsgát tett.
+
+Jegyek szokásos helyen a naplóban.
+
+=== a diák „utóvizsgázó” ===
+
+Ekkor utólag vizsgázik egy tárgy korábbi éveinek anyagából (minden érintett év anyagából külön-külön osztályzatot kap!)
+
+Adminisztráció: a vizsga eredménye: bizi, törzsla (Tehát: naplóban nem szerepel!)
+
+példa:
+<file>
+Egy 11.-es diák levizsgázik a 9-10. évfolyam latin anyagából, mert korábbi iskolájában nem tanulta.
+- A törzslapba mindkét eredményt be kell írni.
+- A 9-10.-es bizonyítványába bekerül a két osztályzat.
+- A 11.-es naplóba erről nem kerül be semmi.
+</file>
+
+>> (17. záradék) //A(z) ... tantárgyból ...-án osztályozó vizsgát tett.//
+
+Osztályozó vizsgát szept. 1 - jún. 15. között (bármikor) lehet tartani, de az érintett - nyomós indok alapján - kérheti a vizsga más időpontban való megtartását is.
+
+>> (11/1994. (VI. 8.) MKM rendelet) **25. § (1)** //Az iskola osztályozó vizsgát a tanítási év során bármikor szervezhet. A vizsgák időpontjáról a tanulót a jelentkezéskor tájékoztatni kell.//
+
+>> (11/1994. (VI. 8.) MKM rendelet) **25. § (2)** //Az iskolában tartott tanulmányok alatti vizsga esetén az igazgató … engedélyezheti, hogy a tanuló az (1) bekezdés szerint előre meghatározott időponttól eltérő időben tegyen vizsgát.//
+
+Ha a tanuló az érintett tárgy(ak)ból rendelkezik (legalább elégséges) félévi osztályzattal, akkor csak a második félév anyagából kell vizsgáznia. A bizonyítványba a két osztályzat átlaga alapján képzett osztályzatot kell beírni.
+
+Ha a tanuló félévben nem osztályozható, akkor félévben is osztályozó vizsgát kell tennie.
+
+>> (11/1994. (VI. 8.) MKM rendelet) **20. § (6)** //... Ha a tanuló mulasztásainak száma már az első félév végére meghaladja a meghatározott mértéket, és emiatt teljesítménye nem volt érdemjeggyel értékelhető, félévkor osztályozóvizsgát kell tennie.//
+
+==== 3.2. Javítóvizsga ====
+
+Javítóvizsgát két esetben tehet a diák:
+
+=== a tanév végén elégtelen osztályzatot kapott valamely tárgyból ===
+
+>> (11/1994. MKM rendelet) **21. § (8)** //Ha a tanuló a tanév végén - a tantárgyak számától függetlenül - elégtelen osztályzatot kapott, javítóvizsgát tehet.//
+
+=== ha az osztályozó vizsgáról igazolatlanul hiányzott, nem fejezte be, az előírt időpontig nem tette le ===
+
+>> (11/1994. MKM rendelet) **21. § (9)** //Javítóvizsga letételével folytathatók a tanulmányok akkor is, ha a tanuló az osztályozó vizsgáról … igazolatlanul távol maradt, vagy azt nem fejezte be, illetve az előírt időpontig nem tette le.//
+
+>> (9. számú melléklet a 11/1994. (VI. 8.) MKM rendelethez) **2.16.** //Ha a vizsgázó az írásbeli vizsgáról felróható okból elkésik, távol marad, vagy a vizsgáról engedély nélkül eltávozik, az adott vizsgatantárgyból javítóvizsgát tehet az igazgató által meghatározott időben.//
+
+=== Javítóvizsgát augusztus 15- 31. között lehet szervezni. ===
+
+>> (11/1994. MKM rendelet) **25. § (1)** //Javítóvizsga letételére az augusztus 15-től augusztus 31-ig terjedő időszakban … kell a vizsgaidőszakot kijelölni.// \\
+>> **(2)** //Az iskolában tartott tanulmányok alatti vizsga esetén az igazgató … engedélyezheti, hogy a tanuló az (1) bekezdés szerint előre meghatározott időponttól eltérő időben tegyen vizsgát.//
+
+=== Adminisztráció ===
+
+javítóvizsga lehetősége: napló, bizonyítvány, törzslap
+
+>> (14. záradék) // A(z) ... tantárgyból javítóvizsgát tehet. //(N., Tl., B.)
+
+javítóvizsga eredménye: bizonyítvány, törzslap (Tehát: naplóban nem szerepel!)
+
+>> (14. záradék) //A javítóvizsgán ... tantárgyból ... osztályzatot kapott ... évfolyamba léphet.// (Tl., B.)
+
+>> (16. záradék) //A javítóvizsgán ... tantárgyból elégtelen osztályzatot kapott. Évfolyamot ismételni köteles.// (Tl., B.)
+
+==== 3.3. Pótlóvizsga ====
+
+Pótlóvizsga csak akkor tartható, ha a javítóvizsgán, vagy az osztályozó vizsgán a diák külső (igazolt!) ok miatt nem tudott megjelenni.
+
+>> (9. számú melléklet a 11/1994. (VI. 8.) MKM rendelethez) **2.15.** //Ha a vizsgázó az írásbeli vizsgáról fel nem róható okból elkésik, távol marad, a megkezdett vizsgáról engedéllyel eltávozik mielőtt a válaszadást befejezné// \\
+>> //a) az igazgató - ha ehhez a feltételek megteremthetőek - hozzájárulhat ahhoz, hogy az adott vizsganapon, vagy a vizsgázó és az intézmény számára megszervezhető legközelebbi időpontban a vizsgázó pótlóvizsgát tegyen,// \\ \\
+>> **2.17.** //A 2.16. és e pont alkalmazásában a vizsgázónak fel nem róható ok, minden olyan a vizsgán való részvételt gátló esemény, körülmény, amelynek bekövetkezése nem vezethető vissza a vizsgázó szándékos vagy gondatlan magatartására.//
+
+Adminisztráció:
+
+pótlóvizsga lehetősége: külön igazgatói határozat
+
+pótlóvizsga eredménye: bizonyítvány, törzslap (Tehát: naplóban nem szerepel!)
+
+Figyelem:
+
+>> (11/1994. MKM rendelet) **27. § (2)** // Ha a tanuló a következő tanév kezdetéig azért nem tett eleget a tanulmányi követelményeknek, mert az előírt vizsga letételére a nevelőtestülettől halasztást kapott, az engedélyezett határidő lejártáig tanulmányait felsőbb évfolyamon folytathatja. //
+
+
+===== 4. Idézett jogszabályok: =====
+
+<code>
+ 1993. évi LXXIX. törvény a közoktatásról (Kotv)
+
+ 11/1994. (VI. 8.) MKM rendelet a nevelési-oktatási intézmények működéséről (MűkR)
+
+Tanév, (ą) tanítási év
+
+ (Kotv)
+
+ 121. § (1) E törvény alkalmazásában
+
+ 38. tanév: az iskolában általában szeptember 1-jétől a következő év augusztus 31-éig tartó időszak;
+
+ 52. § (1) Az iskolában a szorgalmi idő, tanítási év minden év szeptemberének első munkanapján kezdődik és - az érettségi vizsga s a szakmai vizsga évét kivéve - minden év június hónap 15-én, illetve, ha ez a nap nem munkanap, a június 15-ét megelőző munkanapon fejeződik be.
+
+Érdemjegy, (ą) osztályzat
+
+ (Kotv)
+
+ 70. § (1) A pedagógus - … - a tanuló teljesítményét, előmenetelét tanítási év közben rendszeresen érdemjeggyel értékeli, félévkor és a tanítási év végén osztályzattal minősíti. A tanuló magatartásának és szorgalmának értékelését és minősítését az osztályfőnök - az osztályban tanító pedagógusok véleményének kikérésével - végzi. Az érdemjegyekről a tanulót és a kiskorú tanuló szülőjét rendszeresen értesíteni kell. A félévi és az év végi osztályzatot az érdemjegyek alapján kell meghatározni. Az osztályzatról a tanulót és a kiskorú szülőjét értesíteni kell. Az érdemjegy, illetőleg az osztályzat megállapítása a tanuló teljesítményének, szorgalmának értékelésekor, minősítésekor nem lehet fegyelmezési eszköz.
+
+ (2) Az érdemjegyek és osztályzatok - a (3) bekezdésben meghatározott kivétellel - a következők:
+
+ a) a tanuló tudásának értékelésénél és minősítésénél jeles (5), jó (4), közepes (3), elégséges (2), elégtelen (1);
+
+ b) a tanuló magatartásának értékelésénél és minősítésénél példás (5), jó (4), változó (3), rossz (2);
+
+ c) a tanuló szorgalmának értékelésénél és minősítésénél példás (5), jó (4), változó (3), hanyag (2).
+
+ (4) Az egyes tanulók év végi osztályzatát a nevelőtestület osztályozó értekezleten áttekinti, és a pedagógus, illetve az osztályfőnök által megállapított osztályzatok alapján dönt a tanuló magasabb évfolyamba lépéséről. Abban az esetben, ha az év végi osztályzat a tanuló hátrányára lényegesen eltér a tanítási év közben adott érdemjegyek átlagától, a nevelőtestület felhívja az érdekelt pedagógust, hogy adjon tájékoztatást ennek okáról, és indokolt esetben változtassa meg döntését. Ha a pedagógus nem változtatja meg döntését, és a nevelőtestület ennek indokaival nem ért egyet, az osztályzatot az évközi érdemjegyek alapján a tanuló javára módosítja.
+
+ (MűkR)
+
+ 24. § (1) Ha a tantárgy oktatása félévkor fejeződik be, a tanuló osztályzatát az év végi bizonyítványban kell feltüntetni.
+
+ (5) Ha a tanuló előrehozott érettségi vizsgát tett valamely vizsgatantárgyból, ezáltal e tantárgy tanulmányi követelményeit teljesítette. Az iskola magasabb évfolyamán vagy évismétlés esetén ezt a tantárgyat nem köteles tanulni.
+
+Magántanuló
+
+ (Kotv)
+
+ 7. § (1) A tankötelezettség - a szülő választása alapján - iskolába járással vagy magántanulóként teljesíthető.
+
+ (2) Ha az iskola igazgatója … megítélése szerint a tanulónak hátrányos, hogy tankötelezettségének magántanulóként tegyen eleget, vagy az így elkezdett tanulmányok befejezésére nem lehet számítani, köteles erről értesíteni a gyermek lakóhelye … szerint illetékes önkormányzat jegyzőjét. A jegyző dönt arról, hogy a tanuló milyen módon teljesítse tankötelezettségét. Hátrányos helyzetű tanuló esetén az iskola igazgatójának a döntéséhez be kell szereznie a gyermekjóléti szolgálat véleményét.
+
+ 11. § (1) A tanuló joga különösen, hogy
+
+ n) magántanuló legyen, továbbá, hogy kérje a tanórai foglalkozásokon való részvétel alóli felmentését;
+
+ 69. § (3) A magántanulót az iskola valamennyi kötelező tanórai foglalkozása alól fel kell menteni.
+
+ (4) Az, akit felmentettek a kötelező tanórai foglalkozásokon való részvétel alól, az igazgató által meghatározott időben, és a nevelőtestület által meghatározott módon, ad számot tudásáról.
+
+ (MűkR)
+
+ 23. § (1) Ha a tanuló - szülőjének a közoktatási törvény 7. §-a (2) bekezdésében szabályozott választása alapján - tankötelezettségének magántanulóként tesz eleget, az erről való bejelentést követő három napon belül az iskola igazgatója beszerzi a tanuló lakóhelye … szerint illetékes gyermekjóléti szolgálat véleményét, annak eldöntésére, hátrányos-e ez a megoldás a tanulónak.
+
+ (2) Ha a tanuló tanulmányi kötelezettségének a szülő döntése alapján magántanulóként tesz eleget, felkészítéséről a szülő gondoskodik, illetőleg a tanuló egyénileg készül fel. Az az iskola pedig, amellyel a tanuló tanulói jogviszonyban áll - kivéve, ha a tanuló független vizsgabizottság előtt ad számot tudásáról - állapítja meg a tanuló érdemjegyeit és osztályzatait, továbbá dönt - minden esetben - a tanuló magasabb évfolyamra lépésével kapcsolatos kérdésekben. Az iskola igazgatója köteles tájékoztatni a tanulót, illetve a szülőt a magántanulói jogairól és kötelességeiről.
+
+ (3) Ha a sajátos nevelési igényű tanuló az illetékes szakértői és rehabilitációs bizottság, a beilleszkedési, magatartási, tanulási nehézséggel küzdő tanuló a nevelési tanácsadó szakértői véleménye alapján tanulmányait magántanulóként folytatja, iskolai neveléséről és oktatásáról - felkészítéséről, érdemjegyeinek és osztályzatainak megállapításáról, illetve az ehhez szükséges pedagógusokról - a szakértői véleményben foglaltak szerint - az az iskola gondoskodik, amellyel a tanuló tanulói jogviszonyban áll.
+
+ (4) Az iskola köteles gondoskodni a tanuló felkészítéséről, érdemjegyeinek és osztályzatának megállapításáról akkor is, ha a szakorvosi vélemény alapján otthoni ellátás keretében részesül tartós gyógykezelésben, és emiatt magántanulóként folytatja tanulmányait.
+
+Nem osztályozható
+
+ (MűkR)
+
+ 20. § (3) Ha a távolmaradást nem igazolják, a mulasztás igazolatlan. Az iskola köteles a szülőt értesíteni a tanköteles tanuló első igazolatlan mulasztásakor, illetve, ha a nem tanköteles kiskorú tanuló igazolatlan mulasztása a tíz órát eléri. Az értesítésben fel kell hívni a szülő figyelmét az igazolatlan mulasztás következményeire.
+
+ (6) Ha a tanulónak egy tanítási évben az igazolt és igazolatlan mulasztása együttesen
+
+ a) … a kettőszázötven tanítási órát,
+
+ d) egy adott tantárgyból a tanítási órák harminc százalékát meghaladja
+
+ és emiatt a tanuló teljesítménye tanítási év közben nem volt érdemjeggyel értékelhető, a tanítási év végén nem osztályozható, kivéve, ha a nevelőtestület engedélyezi, hogy osztályozóvizsgát tegyen. A nevelőtestület az osztályozóvizsga letételét akkor tagadhatja meg, ha az igazolatlan mulasztások száma meghaladja az igazolt mulasztások számát, és az iskola eleget tett a (3) bekezdésben meghatározott értesítési kötelezettségének. Ha a tanuló a tanítási év végén nem osztályozható, tanulmányait évfolyamismétléssel folytathatja. Ha a tanuló mulasztásainak száma már az első félév végére meghaladja a meghatározott mértéket, és emiatt teljesítménye nem volt érdemjeggyel értékelhető, félévkor osztályozóvizsgát kell tennie.
+
+Felmentés
+
+ (Kotv)
+
+ 30. § (9) A sajátos nevelési igényű tanulót, illetve a beilleszkedési, tanulási, magatartási nehézséggel küzdő tanulót - jogszabályban meghatározott munkamegosztás szerint - a szakértői és rehabilitációs bizottság vagy a nevelési tanácsadó szakértői véleménye alapján … az igazgató mentesíti egyes tantárgyakból, tantárgyrészekből az értékelés és a minősítés alól. Ha a tanulót egyes tantárgyakból, tantárgyrészekből mentesítik az értékelés és minősítés alól, az iskola … egyéni foglalkozást szervez részére. Az egyéni foglalkozás keretében - egyéni fejlesztési terv alapján - segíti a tanuló felzárkóztatását a többiekhez. Az érettségi vizsgán az érintett tantárgyak helyett a tanuló - a vizsgaszabályzatban meghatározottak szerint - másik tantárgyat választhat. A tanuló részére a felvételi vizsgán, az osztályozó vizsgán, … a javítóvizsgán, az érettségi vizsgán, … biztosítani kell a hosszabb felkészülési időt, az írásbeli beszámolón lehetővé kell tenni az iskolai tanulmányok során alkalmazott segédeszköz (írógép, számítógép stb.) alkalmazását, szükség esetén az írásbeli beszámoló szóbeli beszámolóval vagy a szóbeli beszámoló írásbeli beszámolóval történő felváltását.
+
+ 35. § (8) A gyógytestnevelés feladata a gyermek, a tanuló speciális egészségügyi célú testnevelési foglalkoztatása, ha az iskolaorvosi vagy szakorvosi szűrővizsgálat gyógy- vagy könnyített testnevelésre utalja.
+
+ 69. § (2) Az igazgató … a tanulót kérelmére - részben vagy egészben - felmentheti az iskolai kötelező tanórai foglalkozásokon való részvétel alól, ha a tanuló egyéni adottságai, sajátos nevelési igénye, továbbá sajátos helyzete ezt indokolttá teszi. Az igazgató a tanulót kérelmére mentesítheti a készségtárgyak tanulása alól, ha azt egyéni adottsága vagy sajátos helyzete indokolttá teszi.
+
+ (4) Az, akit felmentettek a kötelező tanórai foglalkozásokon való részvétel alól, az igazgató által meghatározott időben, és a nevelőtestület által meghatározott módon, ad számot tudásáról.
+
+ (MűkR)
+
+ 23. § (5) Ha a tanulót a közoktatási törvény 69. §-ának (2) bekezdése alapján egyéni adottsága vagy sajátos helyzete alapján mentesítették a testnevelés, a művészetek, a technika tantárgyak és egyéb gyakorlati jellegű tantárgyak, foglalkozások tanulása alól, tudásáról nem kell számot adnia. A mentesítés iránti kérelemben meg kell jelölni a kérelem indokát. Ha a mentesítést a sajátos nevelési igényű tanuló testi, érzékszervi, értelmi, beszédfogyatékosságára, autizmusára, halmozottan fogyatékosságára, vagy a pszichés fejlődés zavarai miatt a nevelési, tanulási folyamatban való tartós és súlyos akadályozottságára tekintettel kérik, az illetékes szakértői és rehabilitációs bizottság, ha pedig tanulási nehézségre tekintettel kérik, a nevelési tanácsadó szakértői véleményét be kell csatolni.
+
+ 1. számú melléklet a 11/1994. (VI. 8.) MKM rendelethez: A könnyített és a gyógytestnevelés szervezésének és a tanulók könnyített vagy gyógytestnevelési órára történő beosztásának rendje
+
+ 1. A tanuló, ha egészségi állapota miatt a testnevelési órák gyakorlatait csak részben vagy egyáltalán nem tudja elvégezni - az orvosi szakvéleményben foglaltak szerint - a kötelező testnevelési óra keretében vagy helyett könnyített testnevelésre (a továbbiakban: I. kategória) vagy a kötelező testnevelési óra helyett gyógytestnevelésre (a továbbiakban: II. kategória) kell beosztani, illetve fel kell menteni (a továbbiakban: III. kategória) mindenféle testnevelési órán való részvétel alól.
+
+Vizsgák
+Javítóvizsga
+
+ (MűkR)
+
+ 21. § (3) A tanuló osztályzatait évközi teljesítménye és érdemjegyei vagy az osztályozó vizsgán, … a javítóvizsgán nyújtott teljesítménye alapján kell megállapítani … (a továbbiakban a felsorolt vizsgák együtt: tanulmányok alatti vizsga). A tanulmányok alatti vizsgát iskolában illetve … független vizsgabizottság előtt lehet tenni. … A szabályosan megtartott tanulmányok alatti vizsga nem ismételhető.
+
+ (8) Ha a tanuló a tanév végén - a tantárgyak számától függetlenül - elégtelen osztályzatot kapott, javítóvizsgát tehet.
+
+ (9) Javítóvizsga letételével folytathatók a tanulmányok akkor is, ha a tanuló az osztályozó vizsgáról … igazolatlanul távol maradt, vagy azt nem fejezte be, illetve az előírt időpontig nem tette le.
+
+ 25. § (1) Javítóvizsga letételére az augusztus 15-től augusztus 31-ig terjedő időszakban … kell a vizsgaidőszakot kijelölni.
+
+ (2) Az iskolában tartott tanulmányok alatti vizsga esetén az igazgató … engedélyezheti, hogy a tanuló az (1) bekezdés szerint előre meghatározott időponttól eltérő időben tegyen vizsgát.
+
+Pótlóvizsga
+
+ 9. számú melléklet a 11/1994. (VI. 8.) MKM rendelethez: A tanulmányok alatti vizsgák eljárási szabályai
+
+ 2.15. Ha a vizsgázó az írásbeli vizsgáról fel nem róható okból elkésik, távol marad, a megkezdett vizsgáról engedéllyel eltávozik mielőtt a válaszadást befejezné
+
+ a) az igazgató - ha ehhez a feltételek megteremthetőek - hozzájárulhat ahhoz, hogy az adott vizsganapon, vagy a vizsgázó és az intézmény számára megszervezhető legközelebbi időpontban a vizsgázó pótlóvizsgát tegyen,
+
+ 2.16. Ha a vizsgázó az írásbeli vizsgáról felróható okból elkésik, távol marad, vagy a vizsgáról engedély nélkül eltávozik, az adott vizsgatantárgyból javítóvizsgát tehet az igazgató által meghatározott időben.
+
+ 2.17. A 2.16. és e pont alkalmazásában a vizsgázónak fel nem róható ok, minden olyan a vizsgán való részvételt gátló esemény, körülmény, amelynek bekövetkezése nem vezethető vissza a vizsgázó szándékos vagy gondatlan magatartására.
+
+ 3.16. A szóbeli vizsgán és a gyakorlati vizsgán elkövetett szabálytalanság, a felróható, vagy fel nem róható okból történő vizsga megszakítás, vagy a vizsgán meg nem jelenés esetében az igazgató a 2.13., 2.15-2.18., 2.21. pontokban leírtak szerint jár el.
+
+Osztályozó vizsga
+
+ (MűkR)
+
+ 21. § (4) A félévi és a tanév végi osztályzat megállapításához a tanulónak osztályozó vizsgát kell tennie, ha
+
+ a) felmentették a tanórai foglalkozásokon való részvétele alól,
+
+ b) engedélyezték, hogy egy vagy több tantárgy tanulmányi követelményének egy tanévben, illetve az előírtnál rövidebb idő alatt tegyen eleget,
+
+ c) a 20. § (6) bekezdésében meghatározott időnél többet mulasztott, és a nevelőtestület döntése alapján osztályozó vizsgát tehet,
+
+ e) a tanuló a félévi, illetőleg év végi osztályzatának megállapítása érdekében független vizsgabizottság előtt tesz vizsgát.
+
+ (5) A magántanulónak a magatartását és szorgalmát nem kell minősíteni.
+
+ 24. § (3) Ha a tanuló egy vagy több tantárgy több évfolyamra megállapított követelményeit egy tanévben teljesíti, osztályzatait minden érintett évfolyamra meg kell állapítani. Ha a tanuló több iskolai évfolyam valamennyi követelményét teljesíti, az osztályzatokat valamennyi elvégzett évfolyam bizonyítványába be kell jegyezni. Ha a tanuló nem teljesíti az iskolai évfolyam valamennyi követelményét, az egyes tantárgyak osztályzatát a törzslapján valamennyi elvégzett évfolyamon fel kell tüntetni, és a vizsga évében, ezt követően az adott évben kiállításra kerülő év végi bizonyítványba be kell írni.
+
+ 25. § (1) … osztályozó … vizsga esetén a vizsgát megelőző három hónapon belül kell a vizsgaidőszakot kijelölni. Az iskola osztályozó vizsgát a tanítási év során bármikor szervezhet. A vizsgák időpontjáról a tanulót a jelentkezéskor tájékoztatni kell.
+
+ (2) Az iskolában tartott tanulmányok alatti vizsga esetén az igazgató … engedélyezheti, hogy a tanuló az (1) bekezdés szerint előre meghatározott időponttól eltérő időben tegyen vizsgát.
+
+ 26. § (1) A tanulmányok alatti vizsgát háromtagú vizsgabizottság előtt kell letenni. Ha a tanulmányok alatti vizsgát az iskola szervezi, a vizsgabizottság az iskola pedagógusaiból áll.
+
+ (2) A tanulmányok alatti vizsga követelményeit, részeit (írásbeli, szóbeli, gyakorlati) és az értékelés rendjét a nevelőtestület a helyi tanterv alapján határozza meg, és a helyben szokásos módon nyilvánosságra hozza. A tanulmányok alatti vizsga - ha azt az iskolában szervezik - vizsgabizottságának elnökét és tagjait az igazgató … bízza meg. A tanulmányok alatti vizsgák lebonyolításakor figyelemmel kell lenni e rendelet 9. számú mellékletének rendelkezéseire.
+
+Jegyzőkönyvek
+
+ 4. számú melléklet a 11/1994. (VI. 8.) MKM rendelethez
+
+ A nevelési-oktatási intézmények ügyintézésének, iratkezelésének általános szabályai és a tanügyi nyilvántartások
+
+ A nevelési-oktatási intézmény irattári terve, az iskolai záradékok és a kötelező nyomtatványok
+
+ Az iskola által kötelezően használt nyomtatványok
+
+ 13. Javítóvizsga-jegyzőkönyv
+
+ 14. Jegyzőkönyv a vizsgához
+
+ 23. Osztályozóív a vizsgához
+
+ 24. Osztályozóvizsga-jegyzőkönyv
+
+Záradékok
+
+ 4. számú melléklet a 11/1994. (VI. 8.) MKM rendelethez
+
+ A nevelési-oktatási intézmények ügyintézésének, iratkezelésének általános szabályai és a tanügyi nyilvántartások
+
+ A nevelési-oktatási intézmény irattári terve, az iskolai záradékok és a kötelező nyomtatványok
+
+Az iskolák által alkalmazott záradékok
+4. Tanulmányait évfolyamismétléssel kezdheti meg, illetve osztályozó vizsga letételével folytathatja.
+Bn., TI., N.
+4/A. ..... tantárgyból tanulmányait egyéni továbbhaladás szerint végzi. N., Tl., B.
+4/B. Mentesítve ..... tantárgyból az értékelés és a minősítés alól N., Tl., B.
+4/C. ..... tantárgy ..... évfolyamainak követelményeit egy tanévben teljesítette a következők szerint: .... N., Tl., B.
+5. Egyes tantárgyak tanórai látogatása alól az 19...../..... tanévben felmentve ............................................ miatt.
+N., TI., B.
+ Kiegészülhet:
+ osztályozó vizsgát köteles tenni
+6. Tanulmányait a szülő kérésére (szakértői vélemény alapján) magántanulóként folytatja. N., TI.
+7. Mentesítve a(z) [a tantárgy(ak) neve] ....................... tantárgy tanulása alól. N., TI., B.
+ Megjegyzés: A törzslapra be kell jegyezni a mentesítés okát is.
+8. Tanulmányi idejének megrövidítése miatt a(z) ................... évfolyam tantárgyból osztályozó vizsgát köteles tenni.
+N., TI.
+9. A(z) évfolyamra megállapított tantervi követelményeket a tanulmányi idő megrövidítésével teljesítette.
+N., TI., B.
+10. A(z) ....................... tantárgy óráinak látogatása alól felmentve .................... -tól ........................ -ig.
+N.
+ Kiegészülhet:
+ Osztályozó vizsgát köteles tenni.
+11. Mulasztása miatt nem osztályozható, a nevelőtestület határozata értelmében osztályozó vizsgát tehet.
+N., TI.
+13. A tanuló az .................. évfolyam követelményeit egy tanítási évnél hosszabb ideig, .................. hónap alatt teljesítette.
+N., TI.
+14. A(z) .................. tantárgyból javítóvizsgát tehet. N., TI., B.,
+ A javítóvizsgán ..................... tantárgyból .......................... osztályzatot kapott ....................... évfolyamba léphet.
+TI., B.
+15. A .................. évfolyam követelményeit nem teljesítette, az évfolyamot megismételheti.
+N., TI., B.
+16. A javítóvizsgán ................ tantárgyból elégtelen osztályzatot kapott.
+ Évfolyamot ismételni köteles. TI., B.
+17. A(z) ........................ tantárgyból .......... -án osztályozó vizsgát tett. N., TI.
+18. Osztályozó vizsgát tett. TI., B.
+19. A(z) .................. tantárgy alól ............... okból felmentve. TI., B.
+20. A(z) ................... tanóra alól .................. okból felmentve. TI., B.
+21. Az osztályozó (beszámoltató, különbözeti, javító-) vizsga letételére .............................-ig halasztást kapott.
+TI., B.
+22. Az osztályozó (javító-) vizsgát engedéllyel a(z) ................................ iskolában független vizsgabizottság előtt tette le.
+TI., B.
+
+
+ Alkalmazott rövidítések:
+
+Beírási napló Bn.
+Osztálynapló N.
+Törzslap TI.
+Bizonyítvány B.
+</code> \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/koncepcio.txt b/mayor-orig/mayor-wiki/wiki/data/pages/koncepcio.txt
new file mode 100644
index 00000000..d3ce013d
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/koncepcio.txt
@@ -0,0 +1,31 @@
+
+====== A MaYoR rendszer áttekintése ======
+
+===== Avagy: mi az amit érdemes tudni a rendszer belső felépítéséről =====
+
+A MaYoR alapját egy keretrendszer képezi. Ennek a keretrendszernek a fő feladata a felhasználói azonosítás, no meg az oldalak megjelenítéséhez szükséges háttér biztosítása, beleértve a többnyelvűség és a különböző skin-ek kezelését.
+
+A keretrendszer önállóan is működő rendszer, a napló nélkül is életképes, bár alapvetően azért készült, hogy a naplót rá lehessen építeni (általános célú portál motorból van rengeteg, minden bizonnyal jobbak és szebbek is mint a mi rendszerünk).
+A keretrendszer háromféle hozzáférési szintet kezel: a nyilvános (public) oldalak azonosítás nélkül elérhetők (bár van lehetőség itt is azonosításra, ha valamiért szükséges), külön azönosítási folyamaton esnek át a szülők (parent),
+illetve az iskolával jogviszonyban levő diákok, tanárok (private).
+
+Az egyes hozzáférési szinteken külön szabályozhatjuk, hogy milyen felhasználói azonosítást követelünk meg, illetve azt, hogy az azonosítókat milyen háttér adatbázisban tároljuk. Jelenleg kétféle
+háttéradatbázist használhatunk: MySQL-t és OpenLDAP-ot. Az előbbi kezelése jóval egyszerűbb, könyen lekérdezhetők, módosíthatók benne az adatok, az utóbbi pedig - mivel a posixAccount séma kiterjeszéseként
+felépülő azonosítókat használ - felhasználható más szolgáltatások azonosítási folyamataiban (levelezés, ssh, ftp...)
+
+----
+
+A keretrendszerre épülő napló modulban eltárolunk sokféle adatot. Többek között a diákok, tanárok adatait is. Alaphelyzetben ezen adatok és a felhasznái adatok között nincs semmilyen kapcsolat. A gyakorlatban
+persze szeretnénk a tanároknak, diákoknak, szülőknek, titkársági dolgozóknak saját azonosítót adni, mellyel képesek a saját adataikhoz hozzáférni. A felhasználói adatok és a naplóbeli személyek közötti
+kapcsolat a következők szerint alakul ki:
+
+ * A privete hozzáférési szinten "titkárság" kategóriába tartozó felhasználók hozzáférnek a titkárság számára engedélyezett oldalakhoz
+ * A private hozzáférési szinten "tanár" kategóriába tertozó felhasználók esetén a rendszer a oktatási azonosító alapján próbál kapcsolatot találni a naplóban szereplő tanárok és a felhasználói
+azonosító tulajdonosa között. Ha az azonosítóhoz tartozó oktatási azonosító (studyId) attribútum megegyezik valamely tanát oktatási azonosító attribútumával (oId), akkor a rendszer őket azonosnak
+tekinti. Így elvileg nem kizárt, hogy egyes tanárokhoz ne legyen felhasználói azonosító (pl. már megszűnt a jogviszonya), az is lehet, hogy valamiért több azonosítót készítünk hozzá (no erre nem
+tudnék értelmes példát mondani, hogy mire lenne jó), és az is elődordulhat, hogy egy tanár kategóriájú azonosítóhoz nincs megfelelő tanár a naplóban (ez azért többnyire hiba, hacsak nem abból
+adódik, hogy több intézmény adatait kezeljük egy rendszerben).
+ * A private hozzáférési szinten "diák" kategóriába tartozó felhasznlók esetén a rendszer (a tanárokhoz hasonlóan) az oktatási azonosítót használja a naplóbeli diákoknak való megfeleltetéshez.
+ * A parent hozzáférési szinten bejelentkezett felhasználót a program a userAccount attripútum alapján próbálja megfeleltetni a naplóban eltárolt szülők valamelyikével. Itt tehát közvetlenebb
+a kapcsolat, direkt módon a felhasználói azonosítót rendeljük hozzá a szülőhöz.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/modulok.txt b/mayor-orig/mayor-wiki/wiki/data/pages/modulok.txt
new file mode 100644
index 00000000..45799e91
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/modulok.txt
@@ -0,0 +1,8 @@
+====== Modulok ======
+
+A modulok bővítik ki a rendszer szolgáltatásait. A tervezett modulok:
+ * [[mayor-naplo]] - teljesértékű elektronikus napló
+ * [[mayor-portal]] - iskolai portál, statikus részekkel, hírbeküldéssel, kiírással
+
+A sor ízlés, igény és energia függvényében bővíthető (játékok, naptár, képtár, stb).
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo.txt
new file mode 100644
index 00000000..0b07d6cc
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo.txt
@@ -0,0 +1,11 @@
+
+====== MaYoR elektronikus napló ======
+
+Teljes értékű, web-felületű elektronikus napló.
+
+===== Mit tud? =====
+
+ * Több tanév párhuzamos kezelése
+ * Csoportbontások teljeskörű kezelése
+ * stb
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/azonositok.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/azonositok.txt
new file mode 100644
index 00000000..7f394c80
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/azonositok.txt
@@ -0,0 +1,21 @@
+====== Diák azonosítók generálása ======
+
+Az oldal arra szolgál, hogy a naplóba felvett tanulói adatokból generálhassunk felhasználói azonosítókat.
+A generálás előtt minden diáknak meg kell adni az oktatási azonosítóját is.
+
+A felhasználói azonosítók a ''kezdoEvfolyam+Betujel+kezdoTanev'' (pl. 7a2008) diák kategóriába kerülnek. Ez a private hozzáférési szint háttéradatbázisának típusától függően a következőt jelenti:
+ * ldap: A fenti néven az ''ou=diak'' alá kerülnek az azonosítók.
+ * mysql: Az azonosítók a fenti nevű csoportba kerülnek.
+Ha szükséges, a program létrehozza az azonosítókat tartalmazó kategóriát, csoportot is.
+
+A megjelenő űrlap első sorában megadhatjuk a generálandó diákok indulási jelszavát. Ha ilyet nem adunk meg, akkor a program a diák vezetéknevének CRC32-es kódját adja meg első jelszóként
+(sikeres létrehozás után meg is jeleníti a generált jelszót a név melett a program).
+
+Alatta az osztály diákjai jelennek meg. A program megpróbál minden névhez azonosítót keresni az oktatási azonosító alapján. Ha talál pontosan egy ilyet, akkor azt jeleníti meg a második oszlopban, egyéb esetben egy beviteli mezőt, az új azonosító generálásához. Ha az oktatási azonosítóhoz egyáltalán nem talál felhasználói azonosítót a rendszer, akkor javasol egy felhasználói azonosítót. Ezt kétféle algoritmus alapján teszi:
+ * unix stylusú azonosító: csupa kisbetűs, maximum nyolc karakteres, ékezettelen azonosító a vezetéknév és a keresztnév első betűjének felhasználásával.
+ * Vezetéknév.Keresztnév alakú, ékezetes, kis- és nagybetűket is használó azonosító.
+Hogy melyiket használja a rendszer, azt a ''/var/mayor/config/private-conf.php'' állomány ''$AUTH['private']['unixStyleAccounts'] true illetve false értékével befolyásolhatjuk.
+
+A következő oszlopban arról látunk információt, hogy a program talált-e olyan azonosítókat, amik esetleg az adott diákhoz tartozhatnak. Itt jelennek meg a diákéval azonos oktatási azonosítóval rendelkező azonosítók, ha több is van belőlük - ez nyilvánvaló hibát jelez, ilyenkor a kiírt azonosítókat kell rendbe rakni. Megjelenhetnek itt olyan azonosítók is, melyekhez a diákkal azonos név tartozik (de az oktatási azonosító különbözik). Ilyenkor ellenőrizhetjük, hogy nem az oktatási azonosító esetleges elírásáról van-e szó.
+
+Jóváhagyás után a progam felveszi a megadott azonosítókat - ha az azonosító nem foglalt már.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/fillhaladasi.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/fillhaladasi.txt
new file mode 100644
index 00000000..6145214b
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/fillhaladasi.txt
@@ -0,0 +1,23 @@
+====== Haladási napló visszamenőleges feltöltése ======
+
+Elsősorban tesztüzemben, a napló kipróbálási időszakában, vagy késedelmesen elkészült órarend esetén használhatjuk a visszamanőleges feltöltést. Ilyenkor az //orarendiOra// tábla szerint kerülnek a bejegyzések az //ora// táblába, az éves munkatervben beállított tanítási napokra.
+
+Használata egyszerű: a dátumok beállítása és az **OK** gomb után egy hosszabb-rövidebb listában jelzi, hogy mely napokra volt sikeres a betöltés.
+
+**__Tesztüzem:__**
+
+Általában a tanévek második féléve alkalmas a naplóval történő büntetlen ismerkedésre, próbálkozásra. Ebben az esetben - ha szeptemberig visszamenőleg feltöltjük a naplót, minden Kolléga töméntelen beíratlan órával fog rendelkezni. Ez a működést nem befolyásolja, de negatívan hathat a sok figyelmeztetés. Jó hír viszont, hogy az óraszámok - nagyjából - passzolni fognak.
+
+__Megoldás:__
+
+Egy ügyes SQL-paranccsal (a //naplo_[iskola]_[tanev]// adatbázisban) megszüntethetjük ezt az állapotot:
+
+ mysql> UPDATE ora SET leiras='Tesztüzem' WHERE dt<curdate();
+
+Így minden régi (mai nap előtti) órára tananyagként a 'Tesztüzem' került, a Kollégák nem kapnak beíratlan óra üzeneteket.
+
+**__Késedelmes órarend:__**
+
+Előfordul, hogy valamilyen ok miatt szeptember 1-jére (vagy a II. félév kezdetére) nem készül el az órarend. Ilyenkor "üresen" megy a napló, ám a bejegyzéseket pótolni kell. A gyakorlat szerint ez az időszak pár nap, legfeljebb egy hét. Elszámolások, illetve a korrekt naplóvezetés végett a Vezetőségnek ilyenkor **utólag** kell a helyettesítéseket, óraelmaradásokat, plusz órákat, stb. felvenni, ill. a speciális napokat rendezni.
+
+A késői betöltés éles üzemben azonnal szül egy újabb problémát: az órabeírás, hiányzásbeírási határidők lejár(hat)nak, így a Kollégák indokolatlan figyelmeztetéseket kaphatnak. Ebben az esetben a ///var/mayor/config/module-naplo/config_[iskola].php// állományban a szükséges határidőket ideiglenesen hosszabbítsuk meg, hogy minden Kolléga be tudja írni a hiányosságatit. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/import.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/import.txt
new file mode 100644
index 00000000..72d963fa
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/import.txt
@@ -0,0 +1,23 @@
+====== Adatok közvetlen betöltése az SQL adattáblákba ======
+
+Néha szükségünk lehet arra, hogy közvetlenül vigyünk be adatokat az egyes SQL táblákba. Természetesen ez a tevékenység veszélyeket is hordoz, hiszen mindenféle ellenőrzés nélkül, a logikai kapcsolatok, feltételek vizsgálata nélkül módosítjuk ilyenkor az adatbázist, ezért nagy körültekintéssel járjunk el, ha erre a lépésre szánjuk el magunkat. Fontos, hogy ismerjük a táblák szerkezetét (''/var/mayor/install/...'') és szerepét.
+
+Az import modul alkalmas új adatok felvitelére, illetve a már bent lévő rekordok egyes mezőinek frissítésére is.
+
+ - Töltsük fel a szerver ''/tmp'' könyvtárába az adatokat tartalmazó állományt. Fontos, hogy ez az állomány UTF-8 kódolású, tabulátorokkal tagolt szöveges állomány legyen. Előnyt jelent, ha a fájl első sorában a megfelelő mezőnevek szereplnek (rovatfej).
+ - Válasszuk ki a legördülő listából a táblát, melybe adatokat akarunk felvinni. A listában az intézményi adatbázis és az épp aktuális tanév adatbázisának táblái látszanak.
+ - A megjelenő input mezőbe adjuk meg az állomány elérési útját és nyomjuk meg az ''OK'' gombot. Ennek hatására a program beolvassa az input fájl első néhány sorát. Amennyiben a fájl első sorában a kiválasztott tábla mezőnevei találja, akkor ezeket kiválasztja és bejelöli a "van rovatfej" opciót.
+ - Ha a program nem ismeri fel az oszlopokat (hiányzó, vagy hibás fejléc miatt), akkor magunk választhatjuk ki oszloponként az egyes attribútumokat. Ha azt akarjuk, hogy a program valamelyik oszlop tartalmát figyelmen kívül hagyja a betöltés során, akkor ott ne válasszunk ki mezőt.
+ - Ellenőrizzük és szükség esetén javítsuk a "van rovatfej" opció tartalmát!
+ - A következő lépés a kulcs mező, illetve mezők megadása, erre szolgálnak az oszlopok tetején lévő jelölőnégyzetek. A kulcs a sorok egyedi azonosítására szolgál. A kulcsmezők alapján dől el, hogy egy importálandó adatsor új elemként kerül beszúrásra, vagy egy már meglévő rekord adatait frissítjük vele. Kulcsmezőt megadni kötelező.
+ - A beállítások után az ''OK'' gomb megnyomásával kezdetét veszi az importálás.
+
+Jó esetben egy információs üzentet kapunk a sikeres betöltésről. Rosszabb esetben csúnya hibaüzenetekbe botolhatunk. Ezek egyik oka az lehet, hogy a betöltendő adatok nem felelnek meg az adatbázis mezőkre vonatkozó megszorításoknak (külső kulcsok).
+
+
+==== Speciális import lehetőségek ====
+
+[[naplo:intezmeny:osztaly|Diákok adatainak betöltése osztályonként, osztályba sorolással]]
+
+[[naplo:intezmeny:tanar#tanarok_felvetele_adatallomanybol|Tanárok felvétele adatállományból]]
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/rpcprivilege.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/rpcprivilege.txt
new file mode 100644
index 00000000..c5c4ebea
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/rpcprivilege.txt
@@ -0,0 +1,35 @@
+
+====== RPC Jogosultságok beállítása ======
+
+Ezen az oldalon adhatunk meghatalmazást más MaYoR végpontoknak arra, hogy tőlünk - biztonságos, hitelesített csatornán keresztül - különféle adatokat kérdezzenek le.
+
+Az első ilyen éles szolgáltatásunk a Tantárgyfelosztás statisztikai összesítésének lekérdezhetősége, amire a fenntartónak lehet szüksége.
+
+===== Új végpont (node) hozzáadása =====
+
+A jogosultságokat adott végpont (node) adott felhasználójának (userAccount) adjuk. Új jogosultsági rekord felvételéhez tehát ezt a kettőt kell megadnunk:
+
+ - A végpontot a keretrendszer által ismert végpontok közül választhatjuk ki (Felhasználók/Szerver regisztráció/Ismert végpontok).
+ - A (távoli) felhasználó azonosítóját (userAccount) szövegként kell begépelnünk.
+
+A ''Felvesz'' gombra kattintva az új rekord megjelenik a listában. Alapértelmezés szerint két jogosultság beállításra kerül (''OMKod'', ''Jogosultság''), míg a harmadik tiltva van (''Tantárgyfelosztás'').
+
+===== Jogosultságok =====
+
+A jelenleg elérhető jogosultságok:
+
+==== OMKod ====
+
+Valójában nincs mögötte semmi... Mondjuk úgy: teszt - nyugodtan lehet kapcsolgatni, nem változtat semmit...
+
+==== Jogosultság ====
+
+A távoli felhasználónak engedélyezzük, hogy lekérdezze, mihez van nálunk joga.
+
+==== Tantárgyfelosztás ====
+
+A távoli felhasználónak engedélyezzük, hogy lekérdezze a mi rendszerünk naplójának Tantárgyfelosztás statisztikáját.
+
+===== További tervek =====
+
+A későbbiekben további szolgáltatások is megjelenhetnek, melyek engedélyezésére, illetve tiltására szintén itt lesz lehetőség
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/szemeszterek.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/szemeszterek.txt
new file mode 100644
index 00000000..229758f6
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/szemeszterek.txt
@@ -0,0 +1,24 @@
+====== Szemeszterek adatai ======
+
+Itt vehetjük fel a szemeszterekhez tartozó időszakokat. Az időszakok típusai a következők:
+
+ * zárás - Ebben az időszakban zárhatják le a szaktanárok a diákokat (tipikusan a konferenciát megelőző napok);
+ * bizonyítvány írás - Ebben az időszakban adhatnak magatartás/szorgalom jegyet az osztályfőnökök, illetve módosíthatnak zárójegyeket a vezetőség tagjai (tipikusan a konferencia után is tart néhány napig. A zárási és a bizonyítvány írási időszak kezdetének szigorúan meg kell egyeznie!);
+ * vizsga - ;
+ * előzetes tárgyválasztás - Ebben az időszakban jelentkezhetnek a tanulók a választható tankörökre - ilyenkor (még) nincs létszám minimum korlát;
+ * tárgyválasztás - Ebben az időszakban módosíthatják jelentkezésüket a diákok - de csak a maximális és minimális létszámkorlátok erejéig;
+ * tankörnévsor módosítás - Ebben az időszakban a tanárok módosíthatják saját tanköreik névsorát (tipikusan a tanév eleje);
+ * tankörnévsor módosítás - Ebben az időszakban van lehetőségük a szaktanároknak, hogy a saját tanköreikbe felvegyék a hozzájuk járó diákokat. Érdemes felhívni a szaktanárok figyelmét arra, hogy a felvétel során fokozottan ügyeljenek a tagok tankörhöz tartozó kezdő- és végdátumaira! Jellemzően tanév (és/vagy II. félév) elején használjuk.
+ * fogadóóra jelentkezés - Ebben az időszakban jelentkezhetnek online a szülők fogadóórára.
+ * tanmenet leadás - Ebben az időszakban lehet tanmeneteket rendelni az egyes tankörökhöz. Egy lehetséges időszak a szeptember hónap erre a célra.
+
+===== Új időszak felvétele =====
+
+Első lépésként válasszuk ki az érintett szemesztert!
+Ez után új időszak felvételéhez válasszuk ki az időszak kezdő és záródátumát (zárt intervallumként!), majd az időszak típusát, végül nyomjuk meg az ''OK'' gombot!
+
+===== Időszak törlése =====
+
+Jelöljük meg a törlendő időszakokat a típus előtti jelölőnyégyszögek segítségével, majd nyomjuk meg az ''Törlés'' gombot!
+
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/tanevek.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/tanevek.txt
new file mode 100644
index 00000000..dd2cbbf8
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/admin/tanevek.txt
@@ -0,0 +1,82 @@
+====== Tanévek kezelése ======
+
+===== Új tanév felvétele =====
+
+Új tanév felvételéhez először a tanév jelét kell felvenni. Ez a tanév első tanítási napjának éve legyen.
+
+A második lépés a tanév szemesztereinek (féléveinek) felvétele. Egy szemesztert a szemeszter első és utolsó tanítási napjának megadásával definiálhatunk (tehát zárt intervallumként adjuk meg
+a szemeszter időszakát). Egy szemeszter három féle státuszban lehet:
+
+ - tervezett - Azt jelenti, hogy hivatkozhatunk erre a tanévre, de még nem tartozik hozzá adatbázis.
+ - aktív - épp használatban lévő, saját adatbázissal rendelkező tanév (a saját adatbázisban tároljuk például a konkrét hiányzások adatait, vagy az év közben szerzett jegyeket és még sok egyéb, csak az adott tanévhez kapcsolódó adatot).
+ - lezárt - egy adatbázissal rendelkező, de már nem módosítható tanév.
+
+A szemeszterek új tanév létrehozásakor tervezett státuszúak lesznek. A tanév megnyitásával, illetve lezárásával kerülnek ''aktív'', illetve ''lezárt'' állapotba.
+
+===== Tanév szemeszterei =====
+
+Ha egy konkrét, már létező tanévet választunk ki, akkor lehetőségünk van a tanév szemesztereinek módosítására (pontosabban kezdő és záró dátumainak módosítására) és törlésére.
+**Vigyázzat!** Ez a funkció nem változtatja meg a [[naplo:tanev:munkaterv|éves munkaterv]]et, így az első és utolsó tanítási nap megváltoztatása esetén a munkaterv is hibás lesz.
+Jobb tehát ezzel a lehetőséggel csak ''tervezett'' státuszú tanév esetén élni.
+
+===== Tanév megnyitása =====
+
+Úgy is mondhatnánk: a tanév aktívvá tétele. Két esetben használhatjuk:
+
+ - Ha a tanév még csak tervezett státuszban van, akkor (a megfelelő MySQL felhasználói azonosító és jelszó ismeretében) aktívvá tehetjük, létrehozva a szükséges tanév adatbázist.
+ - Ha egy tanévet korábban lezártunk, de valamilyen módosítást mégis el kell végeznünk rajta, akkor újra megnyithatjuk - ekkor nincs szükség MySQL azonosítóra és jelszóra.
+
+===== Tanév lezárása =====
+
+Egy aktív tanévet akkor zárhatunk le, ha
+ - A tanév utolsó tanítási napján már túl vagyunk
+ - Az általunk megadott "tanév lezárás dátum" is a tanév utolsó tanítási napja utánra esik. Alaphelyzetben a program ezt a dátumot az utolsó tanítási nap után 7 nappal határozza meg, de szabadon változtathatunk a dátumon.
+
+A tanév lezárásához szorosan kapcsolódik néhány - innen közvetlenül nem elérhető - feladat, funkció:
+ * A befejezett tanév [[naplo:nyomtatas:haladasinaplo|haladási-]] és [[naplo:nyomtatas:osztalyozonaplo|osztályozónaplóit]] nyomtassuk ki minél hamarabb!
+ * Még fontosabb az adatok mentése és archiválása
+ * A következő év indításához érdemes a felmenő [[naplo:intezmeny:tankor|tankörök]] következő évi óraszámait rögzíteni!
+ * A már tudható osztály váltásokat végezzük el a lezárás előtt.
+
+A tanév lezárás több lépésből áll. Ezeket a lépéseket külön-külön is végrehajthatjuk egészen addig, amíg a tanév státuszát ''lezárt''-ra nem állítjuk (utolsó pont). Ezek után már csak akkor férhetünk a tanév lezárás lépéseihez, ha újra megnyitjuk a tanévet.
+
+==== Végzős tanulók jogviszonyának lezárása ====
+
+Végzősnek tekintünk egy tanulót, ha az osztályai közül a legkésőbb lezárulónak végző tanéve épp a kiválasztott tanév.
+ a tanulói az in
+Előfordulhat, hogy egy diák épp végez egy osztályban, de tovább fog menni egy másik osztályba. Ha az új osztályba előre felvesszük, akkor a program nem fogja végzősnek tekinteni.
+
+Az is megtörténhet, hogy egy intézményben egy teljes osztályról tudható, hogy a tanulói mind jogviszonyban maradnak az iskolával (egy másik osztályban) - ilyen lehet például egy nyelvi előkészítőt végző osztály. Ilyen esetek miatt van lehetőség arra, hogy megjelöljük azokat az osztályokat melyek diákjai valóban elhagyják az intézményt.
+
+A tanulói jogviszony lezárása maga után vonja a következőket is:
+
+ * A tanulót a megadott dátummal kiléptetjük a tanköreiből
+ * A tanulót a megadott dátummal kiléptetjük az osztályaiból
+
+(Ha év közben [[naplo:intezmeny:diak|szüntetjük meg egy diák jogviszonyát]], akkor a megadott dátum utáni hiányzások és jegyek törlését is elvégzi a program, de jelen esetben csak a tanév vége utáni dátummal lehet lezárni a tanévet.)
+
+
+==== Végzős osztályok lezárása (tagok és osztályfőnökök kiléptetése) ====
+
+Tanév lezárásakor a végzős osztályokat le kell zárni. Ennek lépései:
+
+ * Az osztály tagjainak kiléptetése az adott dátummal (függetlenül attól, hogy végzősek-e a diákok)
+ * Az osztály osztályfőnöki megbizatásainka lezárása az adott dátummal.
+ * Az érintett osztályfőnökök osztályfőnöki munkaközösségből történő kiléptetése, ha más osztályban nem osztályfőnökök
+
+==== A megszűnt jogviszonyú tanulók és szüleik felhasználói azonosítóinak törlése ====
+
+A program lekérdezi a megszűnt jogviszonyú tanulókat (nem csak a most lezártakat!) és ezek szüleit, majd törli a hozzájuk tartozó felhasználói azonosítókat.
+**Vigyázat!** Az egyéb ilyenkor szükséges tennivalókat (pl. home könyvtárak mentése, törlése) a program nem végzi el!
+
+A szülők esetén a program nem törli azokat a szülői azonosítókat, mely hozzá vannak rendelve valamely jogviszonyban lévő, vagy felfüggesztett jogviszonyú
+tanulóhoz (egész pontosan: statusz in ('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve')). Az accountok törlése mellett a program
+a ''szulo'' tábla ''userAccount'' mezőjét is ''NULL'' értékre állítja.
+
+==== Tanév lezárása ====
+
+Ezt a lépést akkor érdemes megtenni, ha a többi lépéssel már elkészültünk. Két funkciója van:
+
+ * A tanév adatbázisból lekérdezi a diákok hiányzási adatait (összes igazolt/igazolatlan hiányzások száma, késések száma, összesített hossza percben szemeszterenként) és eltárolja az intézményi adatbázisba.
+ * A tanév státuszát ''lezárt''-ra módosítja.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/csoportok.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/csoportok.txt
new file mode 100644
index 00000000..928bf75e
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/csoportok.txt
@@ -0,0 +1,27 @@
+====== Csoportok áttekintése ======
+
+A felhasználók jogosultságai a csoporttagságuktól függnek. A telepítés során alapértelmezett csoporttagságok jönnek létre. Ha valakinek több/kevesebb jogot akarsz, be/ki kell rakni egy új csoprotba/ból.
+
+ * legkevesebb joggal a **diák** rendelkezik. Csak és kizárólag a saját dolgait látja, még a testvért se, de anonim statisztikát (tantárgyi- és osztályátlagok, hiányzott órák száma, kitűnők, jelesek, bukások száma) láthat az egész iskoláról. Csak olvashat mindent, az Üzenőbe és a Hangyába írhat, kérdőívet tölthet ki (ha van), hírt küldhet be.
+
+ * kicsivel tágabb joggal rendelkezik a **szülő**. Csak a saját gyerekét/eit látja, és anonim statisztikát (tantárgyi- és osztályátlagok, hiányzott órák száma, kitűnők, jelesek, bukások száma) láthat az egész iskoláról. Csak olvashat mindent, az Üzenőbe és a Hangyába írhat, kérdőívet tölthet ki (ha van), hírt küldhet be, valamint jelentkezhet online fogadóórára.
+
+ * **tanár** (szaktanár): Csak a saját óráit (és a helyettesített órákat) írhatja be, csak ott tud hiányzókat, későket beírni, csak a saját tanköreiben adhat osztályzatot, csak a saját tanköreiben adhat bizonyítványjegyet, de mindent diák minden dolgát látja, névre szólóan. Az Üzenőbe és a Hangyába írhat, kérdőívet tölthet ki (ha van), hírt küldhet be.
+
+ * **osztályfőnök**: Ugyanaz a jog, mint a (szak)tanáré, de a saját osztályában a megadott határidőkig hiányzásokat egészíthet ki, igazolhat, félévi és év végi magatartás-szorgalomjegyet adhat. Nem módosíthatja a diákok adatait, az a titkárság feladata.
+
+ * **vezetőség**: Szinte mindenhez hozzáfér, a megadott határidőig (ZARASI_HATARIDO). Természetesen mindent lát, más menük is megjelennek, mint a többi felhasználónak, pl. Haladási elmaradások, Elszámolás, stb. Adhat igazgatói / nevelőtestületi dicséretet, intőt rovót, igazolhat igazgatói igazolással (de pl. osztályfőnökivel nem).
+
+ * **hírekadmin**: a beküldött híreket szerkesztheti, nyilvánossá teheti ([[portal:hirek:hirekadmin|Hírek]]).
+
+ * **üzenőadmin**: látja az összes üzenetet, törölheti őket.
+
+ * **naplóadmin**: a naplóban a legmagasabb jogosultsággal bíró felhasználói csoport. Vehet fel intézményt, tanévet, időszakokat, adhat a tanulóknak azonosítót, importálhat adatokat közvetlenül az egyes táblákba, betölthet órarendet,a félévi/év végi jegyeket módosíthatja, stb... Egyes tevékenységek az ő esetében is határidőhöz kötöttek azért...
+
+ * **diákadmin**: a diákok jelszavának cseréjhez van jussa. Megkönnyítendő szegény admin életét, pl. az infótanároknak meg lehet adni ezt a jogot... :-)
+
+ * **titkárság**: módosíthatja a diákok adatait, tanév közben érkező, távozó dákok be-kiléptetése, jogviszonyok módosítása a feladata.
+
+ * **mayoradmin**: az alapértelmezett naploadmin csoportban is benne lévő felhasználó.
+
+A jogosultságokkal csínján bánjunk! Ha indokolatlanul a kelleténél nagyobbra nyitjuk a hozzáférést, csak több gubanc lesz... (pl. az osztályfőnökök szeretnék a diákok adatait (lakcím, telefonszám, stb.) módosítani, megoldható, de ezzel nemcsak ezekhez fognak hozzáférni, hanem pl. jogviszonyokhoz, szülői hozzárendelésekhez... Óhatatlanul is, de hibalehetőségek tárházát nyitjuk meg - a végén úgyis a mayoradmin-nak kell mindent rendbetenni... :-D
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/ertekeles/kerdoivbetoltes.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/ertekeles/kerdoivbetoltes.txt
new file mode 100644
index 00000000..e9b26c35
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/ertekeles/kerdoivbetoltes.txt
@@ -0,0 +1,146 @@
+====== Értékelő kérdőívek betöltése ======
+
+A kérdőív felvétele két lépésben történik. Az első lépésben adjunk címet a kérdőívnek, jelöljük ki kezdő- év végdátummal, hogy mely időszakban lehet majd kitölteni a kérdőíveket. Meg kell adni ezek után azt, hogy kiknek kell majd kitöltenie a kérdőívet (címzettek). Végül egyszerű szöveges formában adjuk meg a kérédseket a rájuk vonatkozó válaszokkal a következő formában:
+
+ Kérdés 1.
+ Válasz 1/1.
+ Válasz 1/2.
+ ...
+ Válasz 1/n.
+
+ Kérdés 2.
+ Válasz 2/1.
+ Válasz 2/2.
+ ...
+ Válasz 2/n.
+
+ ...
+
+
+====== Hogy néz ki belülről ======
+
+A kérdőív kezeléshez több táblát is használunk. Ezek a tanév adatbázisában vannak:
+
+ mysql> use naplo_fasori_2008;
+ mysql> show tables like 'kerdoiv%';
+ +-------------------------------------+
+ | Tables_in_naplo_vmg_2008 (kerdoiv%) |
+ +-------------------------------------+
+ | kerdoiv |
+ | kerdoivCimzett |
+ | kerdoivKerdes |
+ | kerdoivMegvalaszoltKerdes |
+ | kerdoivValasz |
+ | kerdoivValaszSzam |
+ +-------------------------------------+
+ 6 rows in set (0.00 sec)
+
+Nézzük, hogy melyik tábla mire való:
+
+===== kerdoiv =====
+
+Ez fogja össze egy egységgé a kérdések sorát. Alapvetően egy szöveges cím és a kérdőív kitöltésére szánt időszak kezdő és végdátuma szerepel itt.
+
+ mysql> explain kerdoiv;
+ +-----------+------------------+------+-----+---------+----------------+
+ | Field | Type | Null | Key | Default | Extra |
+ +-----------+------------------+------+-----+---------+----------------+
+ | kerdoivId | int(10) unsigned | NO | PRI | NULL | auto_increment |
+ | cim | varchar(64) | NO | | | |
+ | tolDt | datetime | NO | | | |
+ | igDt | datetime | NO | | | |
+ +-----------+------------------+------+-----+---------+----------------+
+
+
+===== kerdoivCimzett =====
+
+Ebben a táblában mondjuk meg, hogy egy adott kérdőív kinek szól, kiknek kell kitöltenie. Mivel többféle címzett lehet (tanár, diák, szülő, tankör, stb), ezért eltároljuk a címzett típusát is az azonosítója mellett (pl 135-ös azonosítójú diák). A 0 azonosítóval jelöljük, ha az adott típus összes azonosítójának címezzük a kérdőívet. Mivel egy kérdőívhez így több címzettet adhatunk meg, lehetségessé válik, hogy ugyanazt a kérdőívet kitöltessük tanárokkal, diákokkal, szülőkkel is akár.
+
+A speciális címzett típusok (tankor, munkakozosseg, osztalySzulo, stb) arra utalnak, hogy az adott "csoport" tagjai töltik ki a kérdőívet, ami az adott csoportra vonatkozik. Az első például a tankör tanárának értékelése lehetm a második a munkaközösségvezetői munkát értékelő kérdőív, a harmadik példa lehet a szülők véleménye az osztályról, osztályfőnökről. Áttételesen a címzettek ilyenkor is szülők, diákok, vagy tanárok, de lehet, hogy egy-egy személy több példányban tölti ki az adott kérdőívet - más-más célcsoportra vonatkoztatva (több tankör értékelése).
+
+ mysql> explain kerdoivCimzett;
+ +--------------+-------------------------------------------+------+-----+---------+-------+
+ | Field | Type | Null | Key | Default | Extra |
+ +--------------+-------------------------------------------+------+-----+---------+-------+
+ | kerdoivId | int(10) unsigned | NO | PRI | | |
+ | cimzettId | int(10) unsigned | NO | PRI | | |
+ | cimzettTipus | enum('diak','szulo','tanar','tankor','tankorSzulo','munkakozosseg','osztaly','osztalySzulo')
+ | NO | PRI | diak | |
+ +--------------+-------------------------------------------+------+-----+---------+-------+
+ 3 rows in set (0.00 sec)
+
+===== kerdoivKerdes =====
+
+Ez tényleg egyszerű - az adott kérdőívhez tartozó kérdések.
+
+ mysql> explain kerdoivKerdes;
+ +-----------+------------------+------+-----+---------+----------------+
+ | Field | Type | Null | Key | Default | Extra |
+ +-----------+------------------+------+-----+---------+----------------+
+ | kerdesId | int(10) unsigned | NO | PRI | NULL | auto_increment |
+ | kerdoivId | int(10) unsigned | NO | MUL | | |
+ | kerdes | varchar(255) | NO | | | |
+ +-----------+------------------+------+-----+---------+----------------+
+ 3 rows in set (0.00 sec)
+
+===== kerdoivValasz =====
+
+Ez is elég egyértelmű - egy adott kérdésre adható válaszok.
+
+ mysql> explain kerdoivValasz;
+ +----------+------------------+------+-----+---------+----------------+
+ | Field | Type | Null | Key | Default | Extra |
+ +----------+------------------+------+-----+---------+----------------+
+ | valaszId | int(10) unsigned | NO | PRI | NULL | auto_increment |
+ | kerdesId | int(10) unsigned | NO | MUL | | |
+ | valasz | varchar(255) | NO | | | |
+ +----------+------------------+------+-----+---------+----------------+
+ 3 rows in set (0.00 sec)
+
+
+===== kerdoivValaszSzam =====
+
+Ez a végeredmény. Az adott címzettre vonatkozóan melyik válaszra hány szavazat érkezett. A címzett adja meg tehát, hogy egy szavazatszám melyik tanár, vagy osztály, vagy akármi értékelésére vonatkozik.
+
+ mysql> explain kerdoivValaszSzam;
+ +--------------+---------------------------------------+------+-----+---------+----------------+
+ | Field | Type | Null | Key | Default | Extra |
+ +--------------+---------------------------------------+------+-----+---------+----------------+
+ | valaszId | int(10) unsigned | NO | PRI | NULL | auto_increment |
+ | cimzettId | int(10) unsigned | NO | PRI | | |
+ | cimzettTipus | enum('diak','szulo','tanar','tankor','tankorSzulo','munkakozosseg','osztaly','osztalySzulo')
+ | NO | PRI | diak | |
+ | szavazat | int(10) unsigned | NO | | 0 | |
+ +--------------+---------------------------------------+------+-----+---------+----------------+
+ 4 rows in set (0.00 sec)
+
+
+===== kerdoivMegvalaszoltKerdes =====
+
+Ez a tábla szolgál arra, hogy ne lehessen egy embernek egy kérdésre többször szavaznia. Itt tároljuk el, hogy ki (felado), melyik kérdésre (kerdesId), mire vonatkozóan (cimzett) adott már le szavazatot.
+
+ mysql> explain kerdoivMegvalaszoltKerdes;
+ +--------------+---------------------------------------------+------+-----+---------+-------+
+ | Field | Type | Null | Key | Default | Extra |
+ +--------------+---------------------------------------------+------+-----+---------+-------+
+ | feladoId | int(10) unsigned | NO | PRI | | |
+ | feladoTipus | enum('diak','szulo','tanar') | NO | PRI | diak | |
+ | kerdesId | int(10) unsigned | NO | PRI | | |
+ | cimzettId | int(10) unsigned | NO | PRI | | |
+ | cimzettTipus | enum('diak','szulo','tanar','tankor','tankorSzulo','munkakozosseg','osztaly','osztalySzulo')
+ | NO | PRI | diak | |
+ +------------------------------------------------------------+------+-----+---------+-------+
+ 5 rows in set (0.00 sec)
+
+Ami már működik:
+Fel lehet venni kérdőívet egyszerű szöveges formában, megadva, hogy
+kik a címzettjei, és mettől meddig érvényes. Ez azt jeleni tehát, hogy
+kitöltjük a kerdoiv, kerdoivCimzett, kerdoivKerdes, kerdoivValasz
+táblákat.
+Ha valaki belép a Értékelés menüpontba és van rá vonatkozó, érbényes
+kérdőív, akkor az megjelenik, kitölthető (változik a kerdoivValaszSzam
+és kerdoivMegvalaszoltKerdes tartalma).
+
+Tehát a rendszer arra alkalmas, hogy begyűjtse az adatokat, de nem
+csinál belőle semmilyen összesítést, azt a fenti szerkezet szerint
+kézzel kell végezni. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/export/bizonyitvany.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/export/bizonyitvany.txt
new file mode 100644
index 00000000..bbf8cd6e
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/export/bizonyitvany.txt
@@ -0,0 +1,12 @@
+
+====== Bizonyítvány adatok exportálása ======
+
+Válasszuk ki először a szemesztert, majd az osztályt!
+
+A program ezek után lekérdezi az osztály tagjainak adatait és adott szemeszterhez tartozó zárójegyeit, melyeket egy
+tabulátorokkal tagolt szöveges állományba rak, soronként egy-egy diák adatát.
+
+A telepítési könyvtár ''export/module-naplo/'' alkönyvtárában szabálozható, hogy mely diákattribútumok kerüljenek a file-ba.
+A teljes attribútum lista nagyon hosszú, megtalálható az ''export/module-naplo/draft/bizonyitvany.php'' állományban. Az alapértelmezett
+attribútum lista az ''export/module-naplo/default/bizonyitvany.php'' állományban található. Saját beállításainkat az
+''export/module-naplo/<intézmény rövid neve>/bizonyitvany.php'' állományba helyezhetjük el.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/fogadoora.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/fogadoora.txt
new file mode 100644
index 00000000..2bb89b33
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/fogadoora.txt
@@ -0,0 +1,22 @@
+====== Fogadóóra ======
+
+Gyakori probléma az iskolákban, hogy a szaktanárok fogadóóráján káosz alakul ki: egyes tanárok ajtaja előtt kígyózó sorok várnak, mások viszont "üresjáratban" vannak. Az is előfordul, hogy egy-egy beszédesebb szülő vagy tanár elcsúszik a rá kiszabott idővel, így a többi szülő kénytelenek várakozni.
+
+Ezt a helyzetet (is) igyekszik a napló humánusabbá tenni: a szülőknek lehetőségük van a gyermeküket tanító tanárokhoz __előre megadott dátumra__, __előre megadott időpontra__ időpontot foglalni (akárcsak a különféle "nagy" hivatalokban...)
+
+Első lépés, hogy meg kell állapítani, mennyi is legyen a fogadóórán egy vizit hossza (alapértelmezésben 10 perc). A megadott érték 60 valamely pozitív osztója kell legyen! Módosítani a ///var/mayor/config/module-naplo/config_[iskolarovidneve]// állományban lehet.
+
+Ezek után a //mayoradmin// vagy a //vezetőség// a **Napló/Fogadóóra** menüpontban kijelöli a soron következő fogadóóra időpontját, időtartamát (tanáronként állítható) és helyszíneit.
+
+Fontos adminisztrátori teendő még a „Fogadóóra jelentkezés” időszak létrehozása a Napló/Admin/Szemeszterek menüpontban. Ez az az időszak, amikor a szülőknek lehetőségük van az időpontfoglalásra. Az időszak végének meghatározását jól fontoljuk meg, mivel az időszak lejárta után a szülő nem tudja megnézni, hogy kihez mikorra jelentkezett!
+
+A "Fogadóóra jelentkezés" időszakban a szülők a saját felületükön a **Napló/Fogadóóra** menüben választhatják ki, hogy mely időpontra, melyik (gyereküket tanító) tanárhoz foglalnak maguknak időpontot. A már lefoglalt vizitek passzívak, így a keveredés kizárva.
+
+A tanárok a saját felületükön a **Napló/Fogadóóra** menüpontban már láthatják, ki jelentkezett be hozzájuk (és természetesen mely időpontra). A szülők neve mögött szerepel a gyerek neve is, a könnyebb azonosíthatóság kedvéért.
+
+A fogadóóra tényleges időpontját elérve a lista nyomtatható:
+ * a tanár és a szülő a saját felületén a saját beosztását;
+ * a mayoradmin vagy a vezetőség az összes tanár fogadóóra-rendjét közvetlenül vagy PDF-be
+tudja nyomtatni (utóbbit pl. a terem ajtókra ki lehet függeszteni).
+
+A fenti módszert követve gyorsabb, követhetőbb a fogadóórák rendje és lezajlása, jobban szabályozhatók az elhúzódó, késő estékbe nyúló megbeszélések, a tanárok "lyukas", be nem táblázott időpontjaikban pedig fogadhatják a be nem jelentkezett szülőket. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/elmaradas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/elmaradas.txt
new file mode 100644
index 00000000..2a806bba
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/elmaradas.txt
@@ -0,0 +1,16 @@
+====== Haladási elmaradások ======
+
+A //vezetőség// által a tanárok adminisztratív fegyelmének ellenőrzését hivatott szolgálni a **Napló/Haladási napló/Haladási elmaradások** menüje.
+
+Ebben a //vezetőség// tagjai figyelemmel tudják kísérni a Haladási napló elmaradásait (csak az óra témáját, illetve a beírás megtörténtét, de a hiányzások bejegyzését nem!).
+A napló a \\
+''/var/mayor/config/module-naplo/config-[iskola_rovid_neve].php'' állományban definiált ''_HALADASI_HATARIDO'' alapján különbözteti meg (szín szerint is) a
+ * **beírandó** és a
+ * **lezárt**
+státuszokat.
+
+A **beírandó** órák azok, amik bár elmúlt napokhoz tartoznak, még beírhatók, míg a **lezárt**ak már
+csak a //vezetőség// (vagy a //naploadmin//) nevében belépve pótolhatók - némi ejnye-bejnye után... :-)!
+
+
+A program barna színnel jelöli azokat, akinek van **lezárt** státuszú órája, zöldel pedig azokat, akiknek csak beírt és **beírandó** órája van.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/elszamolas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/elszamolas.txt
new file mode 100644
index 00000000..04fdcfb7
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/elszamolas.txt
@@ -0,0 +1,47 @@
+====== Elszámolás ======
+
+A //vezetőség// tagjai a **Napló/Haladási napló/Elszámolás** menüt használhatják a különféle havi-, kéthavi- túlóra- és egyéb elszámolásokhoz.
+
+A dátum mezőket értelemszerűen kitöltve a táblázatban az adott időintervallumra vonatkozóan látszik a tanárok által beírt, azaz adminisztrált
+(tehát minden szempontból letudott :-D) óra, helyettesítés, összevonás, stb.
+
+A táblázat oszlopai a következő adatokat tartalmazzák:
+
+Lekötött / normál: A tanár órarendben szereplő saját (megtartott) tanórái.
+
+Lekötött / normál máskor: A tanár saját tanórái, amiket nem az órarend szerinti szokásos időben tartott meg. (áthelyezett órák)
+
+Lekötött + fennmaradó / helyettesítés: Azok az órák, amikor a tanár "szakszerű" helyettesítést végzett. (Tehát olyan tárgyú órát tartott, amihez van diplomája.)
+
+Fennmaradó / felügyelet: Azok az órák, amikor a tanár felügyelet jellegű helyettesítést végzett. (Tehát olyan tárgyú órát tartott, amihez nincs diplomája.)
+
+Fennmaradó / egyéb: A "rózsaszínű" elfoglaltságok, amiket a tanár maga írt be.
+
+Σ: Az eddigiek összege.
+
+Nem számolt / összevonás: Azok az órák, amikor a tanár összevonás jellegű helyettesítést végzett. (Összevont csoportnak tartott "szakszerű" tanórát.)
+
+Az összevonások esetén a tanár saját órája normál óraként jelenik meg a listában - így ha a megtartott órák számát akarjuk megtudni, akkor az összevonást nem kell beleszámítani. Az adat csak azért kerül megjelenítésre, hátha ezért a többlet teherért valamilyen plusz bért számol el a fenntartó. ;-)
+
+Heti óraszám órarend alapján: Ez a szám állandónak tekinthető, az elmaradó és plusz órák nem befolyásolják. (Csak az órarend megváltoztatása.)
+
+Előírt heti munkaóra N napra vetítve: Az oldal tetején beállított két dátum közötti intervallumban lévő tanítási napok száma (N) és az ennyi tanítási napra kiszámított, jogszabály szerinti határ-óraszámok. Ezek a számok különféle színű hátteret kaphatnak:
+
+Kék háttér: Az előírt minimális lekötött munkaideje sincs meg. (55% alatt - az első színezett oszlopban lévő szám alatt van az óraszáma.)
+
+Zöld háttér: A lekötött óraszáma megvan, de még nyugodtan terhelhető. (55%-65% között, tehát a második színezett oszlopban szereplő óraszámot nem haladja meg.)
+
+Sárga háttér: A lekötött órák felett még a kötött munkaidőből is adminisztrált órákat - ez lenne a normál eset. (De 80%-ot, azaz a harmadik színezett oszlopban lévő értéket nem haladja meg az óraszáma).
+
+Piros háttér: Túlterhelt, a törvényileg megengedett óraterhelésnél többet adminisztrált (80% feletti óraszám). Ebből persze lehet, hogy több órát nem a vezetőség írt elő a kollégának, tehát nem feltétlen jelent ez szabálytalan foglalkoztatást - benne lehet a maradék 20%, a
+kötetlen munkaidő egy része vagy egésze is.
+
+De azért a piros az egy komoly figyelmeztetés kellene legyen. Ha meg valakinél a 100%-ot meghaladó érték látszik, akkor kétség kívül túl van foglalkoztatva (feltéve, hogy az adminisztrációt a valóságnak megfelelően vezeti az illető).
+
+Az ideális állapot tehát, ha sárga színt lát a vezetőség és az összóraszám a harmadik, 80%-os óraszámmal egyezik meg.
+
+A táblázat a felületről nem exportálható, de egyszerű kijelöléssel, majd másolással ízlés szerint választott táblázatkezelőbe
+(pl. [[http://hu.openoffice.org/about-downloads.html|OpenOffice.org Calc]])
+szépen beilleszthető, és abban képletekkel, függvényekkel, diagramokkal további használatra alkalmassá tehető.
+
+Fontos, hogy a táblázat egészét jelöljük ki a másolás előtt. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/haladasi.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/haladasi.txt
new file mode 100644
index 00000000..d0624aca
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/haladasi.txt
@@ -0,0 +1,16 @@
+====== Haladási napló ======
+
+A haladási naplóban egy tanár, osztály vagy diák, esetleg egy tankör óráinak adatait tekinthetjük meg. A táblázat általában egy-egy hét napjait sorolja fel (kivéve ha egy tankör óráit nézzük meg - ilyenkor a tankör összes óráját megjeleníti a rendszer), ezeken belül láthatjuk az aznapi órák adatait:
+ * az adott napon hanyadik óra
+ * melyik tankör számára
+ * az óra típusa (normál, helyettesített, felügyelt, ...)
+ * az órát tartó tanár
+ * az adott óra óraszáma
+ * az óra anyaga
+ * továbblépési lehetőség a hiányzók beírására
+
+===== Óra beírása =====
+
+Az óra anyagát a megfelelő határidő lejártáig az órát tartó tanár írhatja be. Ha egy tankörhöz több tanár is tartozik, akkor a tanár átváltható. Ha egy tankör beletartozik egy tankör csoportba, akkor a tankörcsoport tagjai között is válthatunk (pl. magyar irodalom, vagy magyar nyelv óra közt szeretnénk váltani).
+
+Az órák anyagának beírása után valamelyik gomb megnyomásával rögzíthetjük az adatokat. Ezt a lépést ne hagyjuk ki :). \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/minuszora.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/minuszora.txt
new file mode 100644
index 00000000..b74588c2
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/minuszora.txt
@@ -0,0 +1,16 @@
+====== Óra elmaradás ======
+
+Az oldal arra való, hogy egy adott napon tanár, vagy osztály szerint kiválasztott órákat állíthassunk elmaradó státuszba.
+
+Az előbbi akkor lehet hasznos, ha a tanár nem hiányzik egész nap, akár még helyettesítésre is ki van írva más órában, de az egyik órája valamilyen okból elmarad. Ha ezt a ''Helyettesítés'' alatt akarjuk állítani, akkor először a tanárt hiányzóként kell jelölnünk, ezzel az összes óráját ''elmarad'' státuszúvá tesszük elveszítve az esetleges korábbi helyettesítési kiírásait.
+
+Az osztály szerinti óra elmaradás akkor jön jól, ha egy osztály valamilyen program miatt nem vesz részt a tanításon, vagy annak egy részén (osztálykirándulás, színház látogatás, orvosi vizsgálat, stb).
+
+===== Az elmaradó óra kiválasztása =====
+
+ * válasszunk ki egy dátumot
+ * majd egy tanárt, vagy osztályt
+ * megjelenik a tanár, vagy osztály adott dátum szerinti órarendje (pontosabban haladási naplója)
+ * az az óra tankörének neve előtti jelölőnégyzettel jelölhetjük meg az elmaradó órát, vagy órákat
+ * az ''OK'' gombbal jóváhagyhatjuk a változásokat
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/osszevonas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/osszevonas.txt
new file mode 100644
index 00000000..565ab893
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/osszevonas.txt
@@ -0,0 +1,31 @@
+====== Összevonás ======
+
+Bizonyos esetekben a [[helyettesítés]] oldalon nehéz kiírni az összevonásokat. Ezek kezelésére született ez az oldal.
+
+===== A probléma bemutatása - Példa =====
+
+Tegyük fel, hogy a 10.a osztályban Gipsz Jakab tanár úr tartja a matematika órákat csoportbontásban: 10.a matematika A1 és 10.a matematika A2 csoportok számára. Amikor az egyik csoportnak ő matematikát tart, addig a másik csoport más órán vesz részt, egyik nap például informatikán.
+
+Ha most hiányzik az informatika tanár, akkor előfordulhat, hogy szeretnénk egy összevont, egész osztályos matematika órát kiírni, másképp fogalmazva a második csoportnak informatika helyett egy - az első csoporttal összevont - matematika órát szeretnénk felvenni.
+
+Ezt a szituációt a következő módon kellett eddig kezelni:
+ * az informatika órát állítsuk 'elmarad' státuszúra
+ * a matematika órát is állítsuk 'elmarad' státuszúra (hogy fel tudjuk venni a másik matematika órát)
+ * a 'Plusz óra' menüpontban vegyünk fel a második matematika tankörnek egy órát
+ * az első matematika tankör státuszát 'elmarad'-ról állítsuk át 'összevonás'-ra
+
+Ez a meglehetősen nehézkes lépéssor abból adódik, hogy a program az órák módosításakor próbál minden lehetséges ütközést kiszűrni, így például egy tanár számára nem vehetünk fel olyan időpontra plusz órát, amikor már van órája.
+
+===== Az új oldal használata =====
+
+Az 'Összevonás' menüpont alatt lehetőségünk van olyan összevonás egyszerű felvételére, melyben egy tanár két tankörének óráit vonjuk össze: egyik egy már bejegyzett óra, ami mellé most szeretnénk felvenni egy új órát.
+
+Az új óra felvétele magával vonja, hogy az abba tartozó diákok tanköreinek nem lehet az adott idópontban órája - így ezeket a program - figyelmeztetés után - 'elmarad' státuszúvá teszi.
+
+Első lépésként az eszközsoron válasszuk ki a kívánt dátumot, majd a megjelenó legördülő listából az órát is.
+Ezek után választhatjuk ki a tanárt - azon tanárok közül, akiknek a megjelölt időpontban már van órája.
+
+A tanár kiválasztása után megjelennek a tanár adott napi órái, és egy újabb legördülő listában a tanár tankörei.
+Válasszuk ki a felveendő óra tenkörét (ne a már bejegyzett óra tanköre legyen!).
+
+A tankör kiválasztása után a program lekérdezi azokat a tanköröket melyekkel ütközne a felveendő új óra - ezeket kilistázza a képernyőre. Ha ezután az 'Óra felvétele' gombra kattintunk, akkor a kilistázott tankörök státusza 'elmarad'-ra változik és bejegyzésre kerül az új óra. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/pluszora.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/pluszora.txt
new file mode 100644
index 00000000..cea450af
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/pluszora.txt
@@ -0,0 +1,21 @@
+====== Plusz óra felvétele ======
+
+Ez a programrész arra használható, hogy az órarendben nem szereplő, plusz órákat vegyünk fel.
+
+Egy óra felvételéhez négy dolgot kell mindenképp megadni:
+ * dátum
+ * óra
+ * tanár
+ * tankör
+Ezen kívül még megadhatjuk az óra helyszínét (terem) és típusát (órarendi óra/plusz óra).
+
+Első lépésként dátumot kell választanunk az eszköztár segítségével.
+Ez után újabb eszközök jelennek meg. Javasolt második lépésként tanárt, vagy osztályt választani - ekkor ugyanis az választható órák listája szűkül, a már foglalt órákat nem tudjuk kiválasztani.
+
+Tanár vagy osztály választás után egy tankör lista, és a választott tanár vagy osztály napi óráit tartalmazó táblázat is megjelenik.
+
+Tankör választásakor a tankör tanárainak listája váltja fel a korábbi osztály vagy tanár választó eszközt. Ha a tankörnek egy tanára van (leggyakrabban ez az eset fordul elő), akkor a program ki is választja ezt a tanárt.
+
+Ha kiválasztjuk az órát is, akkor újabb lehetőségek nyílnak meg: választhatunk a szabad termek közül, végül kiválaszthatjuk a beszúrandó óra típusát és rögzíthetjük az órát.
+
+Az óra típusának a helyettesítések kezelésekor van jelentőssége. Az órarendi órák helyettesítései, óracseréi, mozgatásai visszaállíthatóak, míg plusz óra esetén erre nincs lehetőség (ld. [[helyettesítés]]).
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/specialis.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/specialis.txt
new file mode 100644
index 00000000..d3f506f4
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/specialis.txt
@@ -0,0 +1,15 @@
+====== Speciális nap összeállítása ======
+
+Ez az oldal akkor használható, ha speciális órarendű tanítási napot akarunk összeállítani - felhasználva az aktuális órarendet.
+
+Lépésenként:
+ - választása ki a dátumot
+ - ha szükséges, akkor a nap típusát állítsuk át (speciális tanítási nap) - ekkor az esetleg már betöltött órák törlődnek az adott napról (erre figyelmeztet is a program).
+ - a megjelenő űrlapon óránként (sáv) adhatjuk meg a betöltendő órákat - egész iskolára vonatkozóan. Ha van már az adott sávban óra, akkor az nem jelenik meg a szabad sávok között.
+ - ha rosszul vettünk fel egy sávot akkor törölhetjük az alsó űrlapon, majd felvehetjük újra.
+
+
+==== Mit tegyünk, ha ez nem megfelelő számunkra? ====
+
+Mit tehetünk, ha ennél összetettebb az órarendi változás, ha nem rakható össze az aktuális órarendből a speciális nap tanmenete?
+Betölthetjük a haladási napló adatait [[hogyan:speciális_tanításinap|közvetlenükl is]]. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/stat.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/stat.txt
new file mode 100644
index 00000000..04c52cdb
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/haladasi/stat.txt
@@ -0,0 +1,46 @@
+
+====== Haladási statisztika ======
+
+A haladási statisztika arra szolgál, hogy gyors képet kapjunk az egyes tankörök eddig megtartott és várható óraszámairól. Fontos ez,
+hiszen törvényi kötelezettség az előírt óraszámok legalább 90%-ának megtartása, ennek hiányában az órákat plusz órák beiktatásával pótolni kell.
+(Ha tud valaki pontos törvényi hivatkozást, szöveget, az írja meg nekünk :o) )
+
+
+A tanköröket listázhatjuk a tanár, az osztály, vagy akár egy konkrét diák alapján.
+
+A táblázatban több oszlop szerepel. Az első a tankör neve, a második az eddig megtartott órák száma (az aktuális óraszám),
+utána követezik a becsült hátralávő órák száma, majd az elöbbi kettő összegeként a becsült összes óra száma, végül a tervezett óraszám.
+
+Az utolsó, a tervezett óraszám a végzős
+tanítási hetek számát (_VEGZOS_TANITASI_HETEK_SZAMA) és a tankör adott tanévre megadott óraszámait
+(Intézményi adatok/Tankörök) alapul véve számolja ki az óraszámot.
+Ez nem mindig jó, lehet ugyanis olyan osztály (például egy éves nyelvi előkészítő képzés), amelyik végzős,
+abban az értelemben, hogy következő tanévben már jelenlegi a formájában nem lesz,
+de nem vonatkozik rá a rövidebb tanulmányi időszak (ami tipikusan az érettségiző osztályokra jellemző).
+
+A becsült hátralévő órák oszlopa a betöltött órarendet
+és munkatervet veszi alapul és abból számol óraszámot. Ez azt jelenti, hogy ha nem változik a munkaterv és az órarend év végéig,
+és nem lenne egy elmaradó óra sem a hátralévő időszakban, akkor pontosan ennyi lenne a hátralévő órák száma. Többnyire sajnos
+inkább kevesebb lesz ez a szám a gyakorlatban, hiszen órák el-elmaradnak, viszont ritkán kerülnek be plusz órák.
+
+A végzősök esetén vigyázni kell arra, hogy a rájuk vonatkozó órarendi bejegyzések csak a megfelelő dátumig legyenek érvényesek.
+Amikor ugyanis azórarendet év elején, vagy félévkor betöltjük, akkor általában egész évre töltünk be minden bejegyzést.
+Ez valójában hibás, mert a végzősök óráinak érvényességi ideje, az ő szorgalmi időszakuk hamarabb véget ér.
+Ennek helyrerakására szolgál a [[naplo:orarend:vegzosorarendlezaras|Napló/Tanév adatok/Végzős órarend lezárása]]
+menüpont.
+
+A __diákok__ és a __szülők/gondviselők__ csak a saját érintett tanköreiket látják, míg a __tanárok__ a teljes intézményét.
+
+Külön érdekesség, hogy diákot választva láthatóvá válik a diák adott tankör óráiról történt hiányzásának száma és aránya is.
+A **Hiányzás arány (megtartott|tervezett)** oszlopban a zárójelben az aktuális időpontig megtartott órákról történt hiányzása
+látszik százalékosan (első érték), míg a második az egész évi (tervezett) órákra vetítve mutatja a hiányzás arányát.
+Utóbbi akkor lehet érdekes, ha a diák hiányzása az adott tárgyból az órák 30%-át meghaladja (vagy valószínűleg meg fogja haladni).
+Lásd: [[jogtar:hianyzas|11/1994. (VI. 8.) MKM rendelet - a nevelési-oktatási intézmények működéséről]] (6) d) pont.
+
+Ilyenkor figyelemfelkeltő **piros** színnel jelenik meg az adott hiányzás.
+
+Diákot választva még egy plusz oszlop jelenik meg: az **Érdemjegyek száma**. Itt
+
+ Érdemjegyek száma / Tankörlétszám / Heti óraszám = Egy főre jutó érdemjegyek átlagos száma / Heti óraszám = Átlagos jegy szám
+
+értékeket láthatunk. Ez a statisztika a "Van-e elég jegy a tankörben?" kérdésre próbál választ adni... \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/hianyzas/osztaly.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/hianyzas/osztaly.txt
new file mode 100644
index 00000000..b9b4dbc1
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/hianyzas/osztaly.txt
@@ -0,0 +1,48 @@
+====== Osztály hiányzásainak összesítése ======
+
+Az oldal elsősorban az osztályfőnökök munkáját segíti, összesítést adva a diákok hiányzásairól.
+
+
+===== Megjelenítési beállítások =====
+
+Az eszközsor alatti sávban egyszerűen kiválaszthatjuk, hogy mely adatok megjelenítését kérjük a programtól:
+ * Lezárt - A már nem módosítható hiányzási adatok megjelenítése.
+ * Igazolható - A még igazolható/törölhető hiányzások, késések megjelenítése
+ * Összes - Összesítés a hiányzások, késések, felszerelés hiányok és felmentések adataiból.
+ * Fegyelmi utáni - Az igazolatlan hiányzások és késések miatt legutóbb beírt fegyelmi fokozat referencia dátuma utáni bejegyzések (hiányzás, késés, felszerelés hiány) összesítése.
+ * Fegyelmi fokozat - Az igazolatlan hiányzások és késések miatt adott legutóbbi fegyelmi fokozat megjelenítése, valamint új fegyelmi fokozat beírásának lehetősége.
+
+
+Az utolsó lehetőség, hogy beállítsunk egy viszonyítási dátumot (referencia dátum), mely előtti bejegyzéseket lezártnak tekintjük. Ezzel a lehetőséggel szigoríthatjuk a feltételt, tehát olyan hiányzásokat is lezártként jeleníthetünk meg, lezártként kezelhetünk, melyek valójában még igazolhatóak.
+
+A referencia dátum kerül be a fegyelmik beírásakor a naplo referenciaDt mezőjébe.
+
+===== A hiányzási adatok megjelenítése =====
+
+A hiányzások és késések többnyire három-három oszlopban jelennek meg: igazolatlan, igazolt és összes hiányzás, illetve késés száma. Kivétel ez alól a "fegyelmi utáni" kategória, ahol csak az igazolatlan késés, hiányzás és a felszerelés hiány adatok jelennek meg (ezek befolyásolják a fegyelmi fokozatot).
+
+Az igazolatlan késésekre állítva az egér kurzort a böngésző kiírja a késések összesített időtartamát.
+
+===== Fegyelmi fokozatok rögzítése =====
+
+A funkció még nem működik!
+
+A legördülő listából válasszuk ki a megfelelő fegyelmi fokozatot, majd nyomjuk meg a "rögzít" gombot. Ekkor a program rögzíti a bejegyzést. A bejegyzéshez tartozik egy úgynevezett "viszonyítási dátum", vagy referencia dátum. A program úgy tekinti, hogy az e dátum előtt beírt hiányzásokre vonatkozik a fegyelmi bejegyzés, így követhető, hogy a legutóbbi fegyelmi bejegyzés óta hány újabb keletkezett.
+
+===== Határidők kezelése =====
+
+A határidőket az alábbi konstansok értéke határozza meg:
+ * _HIANYZAS_HATARIDO - A szaktanár az itt megadott időpontig visszamenőleg beírhat hiányzást. Értékét nem érdemes túl nagynak választani, mert a késői beírás nagyban megnehezíti az osztályfőnök dolgát. Javasolt érték: 1-2 nap
+ * _OFO_HIANYZAS_BEIRAS - Az osztályfőnök számára ennyi tanítási napig lehet visszamenőleg hiányzásokat beírni. Kicsit lehet hosszabb határidő, mint a szaktanáré, hiszen saját munkáját nem zavarja, ha később írja be a hiányzást. Javasolt érték: 5 nap
+ * _OFO_HIANYZAS_HATARIDO - Az előző érték alapján kiszámított dátum.
+ * _IGAZOLAS_BEIRAS - Az osztályfőnök számára legfeljebb ennyi tanítási napig lehet visszamenőleg igazolásokat rögzíteni az után, hogy a diák leadta az igazolást. A pontosabb magyarázatot lásd alább. Javasolt érték: 5-8 nap.
+ * _IGAZOLAS_BEIRAS_HATARIDO - Az előző értékből számított dátum.
+ * _IGAZOLAS_LEADAS - A tanulónak a hiányzást követően legfeljebb ennyi tanítási nap áll rendelkezésre, hogy leadja igazolását. Ha az adott időszakban van osztályfőnöki órája, akkor nem ezzel az értékkel, hanem az osztályfőnöki óra dátumával számol a program.
+ * _IGAZOLAS_LEADAS_HATARIDO - _IGAZOLAS_LEADAS+_IGAZOLAS_BEIRAS tanítási nappal ez előtti dátum. E dátum előtt befejeződő hiányzások igazolásárá már nincs lehetősége a diáknak. A program konkrét tanuló esetén ezt az időszakot tovább szűkítheti, ha a megfelelő időszakban volt osztályfőnöki óra. Ilyen esetben az osztályfőnöki óra dátuma+_IGAZOLAS_BEIRAS tanítási nap eltelte után már nem igazolható a hiányzás.
+
+===== Fegyelmi fokozatok kezelése =====
+
+Az igazolatlan hiányzások összesítésének módját három konstans segítségével szabályozhatjuk:
+ * _HANY_KESES_IGAZOLATLAN - Ha ez az érték nem 0, akkor az itt megadott számú igazolatlan késést, mint fegyelmi vétséget átváltjuk igazolatlan hiányzássá.
+ * _HANY_FSZ_IGAZOLATLAN - Ha ez az érték nem 0, akkor az itt megadott számú felszerelés hiányt egy igazolatlan hiányzásnak megfelelő fegyelmi vétségként kezeljük.
+ * _KESESI_IDOK_OSSZEADODNAK - Ez a logikai érték dönti el, hogy élünk-e azzal a törvény adta lehetőséggel, hogy a hiányzásokat percek szerint rögzítjük és 45 percenként egy-egy igazolatlan hiányzásként könyveljük el. Az előző két opció csak ennek hamis értéke esetén lesz érvényes.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/hibabejelento/admin.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/hibabejelento/admin.txt
new file mode 100644
index 00000000..2f03335d
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/hibabejelento/admin.txt
@@ -0,0 +1,28 @@
+====== Hibajegykezelés (vezetőség, mayoradmin) ======
+
+Amikor egy //felhasználó// ([[naplo:hibabejelento:hibabejelento|hibajegyet/kérelmet ír]]), a //vezetőség// és a //naploadmin// **Kezdőlap**ján jobb oldalon a
+**Hangya** fül alatt megjelenik a friss hibajegy (portál modulos naplónál, egyébként a **Napló/Kérelmek** menü alá kell navigálni).
+A tartalmától függően a //vezetőség// és/vagy a //naploadmin// reagálhat rá.
+
+A működéssel kapcsolatos hibabejelentés mellett (ami egyértelműen a //naploadmin//-nak szól) itt van lehetősége a //felhasználóknak// -
+vagy inkább itt célszerű - a naplóval kapcsolatos hivatalos, a vezetőségnek szóló kérelmeik beadására. Iskolája válogatja, hogy ide mit vesznek be:
+tévesen beírt jegyek, bejegyzések, hiányzások, tankörmódosítás, órarendi módosítás, stb.
+Az idealisztikus elképzelés szerint a //naploadmin// az ilyen típusú kérelmeket csak a vezetőség utasítására, a vezetőség jóváhagyásával végzi/végezheti el.
+
+A kérelem tárgyától függően az illetékes (a **Napló/Kérelmek** menüben):
+ * kategorizálhatja (sürgős, névsor, jogviszony, stb), illetve telephelyhez rendelheti a kérelmeket (már ha van több telephely)
+ * írhat megjegyzést (további kérdés, kérés a //felhasználó// felé, vagy az intézkedő személy felé - __vigyázat, a hibajegyet író is lát mindent!__) a kérelemhez;
+ * jóváhagyhatja azt (ez jelzi a kérelem elfogadását, de még elintézetlen mivoltát);
+ * lezárhatja azt (a kérelem elfogadva, elintézve).
+
+
+A //vezetőség// és a //naploadmin// felületéről a lezárt kérelmek eltűnnek, további matatásuk csak SQL-szinten lehetséges,
+a //felhasználóknál// viszont a lezárást követő 5 napig megmarad "hangya".
+
+A Kérelem statisztika három száma a következő (classic skin-nél):
+ * kék alapon: összes kérelmek száma;
+ * zöld alapon: lezárt kérelmek száma;
+ * ciklámen alapon: a kérelmek átlagos elintézési ideje (nap).
+
+A "hangya" alatt/felett a színes téglalapokban a feladás, a megjegyzés, a jóváhagyás és a lezárás dátuma látszik, a feladó és az intézkedő
+(felhasználó)névhez köthető, tehát nyugodtan használhatjuk a napló ezen funkcióját a **szolgálati utat igénylő ügyek** intézésére... \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/hibabejelento/hibabejelento.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/hibabejelento/hibabejelento.txt
new file mode 100644
index 00000000..b48c6f79
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/hibabejelento/hibabejelento.txt
@@ -0,0 +1,24 @@
+====== Hibabejelentés, kérelem - "Hangya" ======
+
+A //felhasználók// (tanár, diák, szülő) saját felületükön a **Napló/Kérelmek** menüben, az **Új kérelem** alatt küldhetnek hibajegyet, amit a
+//vezetőség// és a //naploadmin// lát, illetve tud rá reagálni (vagy ezzel kapcsolatban intézkedni). Ugyanez a funkció elérhető a felület jobb oldalán,
+a kis hangyafejre kattintva.
+
+A működéssel kapcsolatos hibabejelentés mellett (ami egyértelműen a //naploadmin//-nak szól) itt van lehetőség - vagy inkább itt célszerű -
+a naplóval kapcsolatos hivatalos, a vezetőségnek szóló kérelmek beadására. Iskolája válogatja, hogy ide mit vesznek be: tévesen beírt jegyek, bejegyzések,
+hiányzások, elmaradt igazolások, tankörmódosítás, órarendi módosítás, stb.
+
+A //felhasználóknak// nincs más dolga, mint az etikettet betartva (köszönés, illedelmes, egyértelmű fogalmazás, elköszönés) megírni a "hangyát", majd az
+OK gombra kattintva elküldeni. Igyekezzünk pontos és elégséges információt megadni az esetleges javításhoz (melyik osztály/tankör/diák/óra érintett, igazolás
+esetén milyen típusú igazolásra volna szükség, stb).
+Amennyiben a //vezetőség// vagy a //naploadmin// további kérdéseket, kérések tesz fel megjegyzésként, ezek ugyanebben a
+hibajegyben/kérelemben a //felhasználó// által írt szöveg alatt egy külön mezőben jelennek majd meg.
+
+A feladott hibajegy/kérelem sorsát portál modullal ellátott napló esetén a **Kezdőlapon** középen színes keretben és jobb oldalon, a **Hangya** fül alatt, portál hiányában a **Napló/Kérelmek** menüpont alatt lehet figyelemmel kísérni.
+
+ * A még **feldolgozatlan** "hangya" a jobb oldali menüben fekete szövegű, a **Napló/Kérelmek** menüben háttere szürke, a bal alsó téglalapban megjelenő dátum a feladás idejét jelzi.
+ * A **megjegyzéssel** elátott "hangya" megjelenik a **Kezdőlapon** rozsdaszínű megjegyzés-mezővel, a jobb oldalon félkövér szöveget kap, a **Napló/Kérelmek** alatt háttere továbbra is szürke, alatta olvasható a megjegyzés.
+ * A **jóváhagyott**, tehát elfogadott, de még elintézetlen kérelem a **Kezdőlapon** és a jobb **Hangyában** zöld hátterűvé válik, a **Napló/Kérelmek**-ben a zöld háttér mellett megjelenik egy újabb téglalapban a jóváhagyás dátuma.
+ * A **lezárt**, tehát elintézett hibajegy a **Kezdőlapon** újra zöld hátterű, jobb oldalon visszáll szürkére, **Napló/Kérelmek** menüben szintén marad a zöld háttér, és felbukkan a harmadik dátumos téglalap a lezárás dátumával.
+
+A kérelmet/hibajegyet törölni nem lehet!
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/hirnok/hirnokfeliratkozas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/hirnok/hirnokfeliratkozas.txt
new file mode 100644
index 00000000..3df652f3
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/hirnok/hirnokfeliratkozas.txt
@@ -0,0 +1,68 @@
+====== Hírnök beállítások, feliratkozás ======
+
+A Hírnök képes arra, hogy bizonyos naplóbeli eseményekről (jelenleg - 2018. február 18. - csak tanárnak és diáknak) email-es értesítőt küldjön.
+
+===== Azok a bizonyos naplóbeli események... =====
+
+ * ... évközi értékelés (féljegy, jegy, százalékos, stb.
+ * ... félévi és évvégi zárójegy / -értékelés
+ * ... óra elmaradás, helyettesítés, összevonás, stb.
+ * ... dolgozatbejelentés
+ * ... hiányzás
+
+===== Levelezés beállítása =====
+
+
+Értelemszerűen szükség van valamiféle levélküldő szerverre. Ehhez [[hogyan:jelszoemlekezteto#levelkueldes_beallitasa|itt]] egy leírás - de persze ahány ház, annyi szokás...
+
+===== Config állomány szerkesztése =====
+
+Itt előfordulhatnak átfedések a szülői jelszó-emlékeztetővel kapcsolatos beállításoknál - figyelmesen járjunk el!
+
+Szerkesszük a main-config.php-t!
+
+ // Hirnok
+ define('__EMAIL_ENABLED', true);
+ define('__SUPPORT_EMAIL_ADDRESS','naplo@iskola.hu');
+ define('__SUPPORT_EMAIL_NAME',_SITE.' (Iskolai e-napló Support)');
+
+===== Időzítő - azaz cron =====
+
+Ahhoz, hogy a megfelelő időközönként kimenjenek a levelek, létre kell hozni az időzítőállományt, pl.:
+
+ nano /etc/cron.d/mayor
+
+És írjuk bele (aposztróf nélkül...!):
+
+ '*/10 * * * * root cd /var/mayor/www && php index.php naplo hirnok cronFutar >> /var/log/mayor.cron.log'
+
+Ez esetben a MaYoR **10 percenként** végignézi a feliratkozottak listáját (//intezmeny_iskola// adatbázis //hirokFeliratkozas// tábla), majd az abban szereplő utolsó email időpontjához viszonyítva kikeresi a táblákban, miről kit kell értesíteni.
+
+Első alkalommal a feliratkozott a __tanévbeli teljes történetét__ megkapja... :-)
+
+Más időzítéshez tanulmányozzuk a //cron// szintaktikáját, pl. [[https://www.pantz.org/software/cron/croninfo.html|itt]]!
+
+===== Beállítás =====
+
+A diák felületén csak az aktuálisan használt email-címe(ke)t kell megadnia, és legfeljebb 10 percet várnia...
+Jelenleg (r4371) a szülői email-címeket is itt kell felvenni.
+
+Figyelmeztessük a felhasználókat, hogy a levelek könnyen a SPAM mappában landolhatnak - keressék ott is, és állítsanak be rá szabályt!
+
+
+===== A Hírnök korlátozása =====
+
+Előfordul, hogy hibás működés miatt (vagy éppen szándékosan) nem szeretnénk a folyamatos tájékoztatást.
+Ilyenkor az alábbiak segíthetnek:
+
+ * Állítsuk le a levélküldő szolgáltatást!
+
+ # service postfix stop
+
+ * A //main-config.php// állományban ne engedélyezzük (bár ez az újabb feliratkozókat korlátozza csak...):
+
+ define('__EMAIL_ENABLED', false);
+
+ * Távolítsuk el a // /etc/cron.d/mayor// állományt, vagy kommenteljük ki a sor eljén egy #-gel...
+
+A napló elejére ilyenkor illik mindenképpen egy hírt kirakni, hogy miért is áll ez a szolgáltatás... :-)
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/diaktankorjelentkezes.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/diaktankorjelentkezes.txt
new file mode 100644
index 00000000..9df77a2a
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/diaktankorjelentkezes.txt
@@ -0,0 +1,10 @@
+====== Tankörjelentkezés ======
+
+Az intézmény által felajánlott választható tankörökbe jelentkezhetnek az erre jogosult diákok.
+
+Ehhez a vezetőségnek fel kell vennie a választható tanköröket. A [[naplo:intezmeny:tankor|tankörök felvételekor]] meg kell jelölni, hogy a tankör választható, meg kell adni a minimális és maximális létszámokat, fel kell venni a szemeszterenkénti óraszámokat, valamint meg kell jelölni, hogy a tankörbe mely osztályok tanulói jelentkezhetnek.
+
+Szükséges még a jelentkezési [[naplo:admin:szemeszterek|időszakok felvétele]] az adott tanévhez. Két időszakot féle időszakot adhatunk meg:
+ * előzetes tárgyválasztás: ebben az időszakban a program csak a maximális létszámokat figyeli. Ebben az időszakban dől el, hogy mely tankörökre lesz kellő számú jelentkező.
+ * tárgyválasztás: ebben az időszakban a program a maximális és minimáslis létszámokat is figyeli, így egy tárgyat leadni nem lehet, ha a létszám a minimális létszám alá menne, illetve tárgyat felvenni nem lehet, ha a létszám a maximális létszámot meghaladná.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/kepzes.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/kepzes.txt
new file mode 100644
index 00000000..a8e094d5
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/kepzes.txt
@@ -0,0 +1,31 @@
+====== Képzések ======
+
+===== Rögzítés lépései =====
+
+1. Képzés felvétele
+2. Képzés osztályhoz rendelése
+3. Képzés óratervének beállítása
+4. Diákok képzéshez rendelése
+
+
+==== Képzés felvétele ====
+
+Képzések menüpontban egy új képzés felvételénél írjunk be egy képzésre jellemző, de ne túl hosszú nevet (pl. hatévfolyamos angol), és adjuk meg a bevezetés évét, ami
+tulajdon képpen csak egy verziószám. A rögzítés után lehetőségünk van megadni a kezdő és záró évfolyamot (ezt mindenképp tegyük meg), illetve a résztvevő
+osztályokat az aktuális tanévben aktív osztályok betűjelei közül.
+
+==== Képzés óratervének beállítása ====
+
+A képzések óratervénél megjelenik a képzéseknél beállított kezdő és záróévfolyamok közötti kötelező és maximális HETI óraszámok, valamint az egyes tárgyakohoz tartozó
+HETI óraszámok rögzítési lehetősége. Az egyes tárgyaknál a félévi és évvégi osztályzatok típusát is be kell állítanunk.
+
+Az itt beállított követelmények lesznek érvényesek egy diák minden ahhoz a tárgyhoz tartozó tankörénél - természetesen
+évfolyamtól függően. (A képzés erősebb, mint a tárgyhoz beállított alapértelmezés.)
+
+==== Diákok képzéshez rendelése ====
+
+A diákokat a képzéshez az osztályon keresztül tudjuk rendelni. Az osztálynévsorban (osztály menüpont) ikszeljük be a megfelelő képzésneveket.
+A képzésekhez nem tartozik egyelőre dátumintervallum! Osztályváltáskor képzést is vált a diák.
+
+Bár egy diák tartozhat több osztályba és ezen keresztül több képzésbe is, ugyanakkor ha különböző évfolyamokra jár egyszerre és a képzéseihez ugyanazon tárgyhoz különböző
+zárókövetelmény is tartozik, az hibajelzéshez vezet. Ilyen szituáció azonban bár elvileg lehetséges, a gyakorlatban nem fordulhat elő!
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/munkakozosseg.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/munkakozosseg.txt
new file mode 100644
index 00000000..6268111d
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/munkakozosseg.txt
@@ -0,0 +1,21 @@
+====== Munkaközösségek ======
+
+A MaYoR rendszerben a munkaközösség fogalma nem felel meg a hétköznapi értelemben vett munkaközösségnek. Valahol a munkaközösség és a szak, végzettség között van. Arra szolgál, hogy eldönthesse a program, hogy egy-egy tárgyat ki taníthat szakszerűen.
+
+ * Egy valódi munkaközösségbe sokszor több tárgy tanárai is bekerülhetnek (pl. "kisebb" nyelvek munkaközössége: francia, spanyol, olasz tanárokkal). A naplóban ilyen összevonás nem szerencsés, mert ez azt eredményezné, hogy például szakszerű helyettesítésre kiírhatnánk egy francia szakos tanárt spanyol órára.
+ * A szaknál, végzettségnél viszont általánosabb a mi munkaközösségünk, hisz előfordulhat, hogy egy tárgyat több különböző végzettséggel is taníthatunk.
+
+===== Új munkaközösség =====
+
+Új munkaközösség felvételéhez lényegében csak egy nevet kell adnunk a munkaközösségnek, illetve opcionálisan megjelölhetjük a munkaközösség vezető személyét (ennek pillanatnyilag (még) nincs semmilyen lényeges következménye a program működését illetően, de később lehetnek ilyen irányú fejlesztések).
+
+===== Munkaközösség módosítása =====
+
+Módosíthatjuk a munkaközösség nevét, kiválaszthatjuk a munkaközösségvezetőt, felvehetünk tagokat a munkaközösségbe (a Ctrl gomb segítségével egyszerre több felveendő tagot is kijelölhetünk), törölhetünk tagokat a munkaközösségből (a Ctrl gomb itt is működik).
+
+A munkaközösség tagjain kívül fontos még megadnunk az adott munkaközösséghez tartozó tárgyakat is. Itt ismét csak egy nevet kell adnunk a tárgynak. A felvett tárgy nevét felületről már nem módosíthatjuk, lehetőség van viszont tárgy törlésére (ez magaután vonhat egyéb következményeket, kezdve az adott tárgyhoz tartozó tankörök törlésén...
+
+===== Munkaközösség törlése =====
+
+Szükség esetén akár egész munkaközösséget is törölhetünk. Ez persze magaután vonja a hozzá tartozó tárgyak törlését is, ez meg csak a tárgyhoztartozó tankörök törlésével oldható meg, egy tankörhöz viszont rengeteg egyéb adat kapcsolódhat (jegyek, órák, hiányzások, stb). Gondoljuk tehát meg, mielőtt törlésre szánjuk magunkat.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/osztaly.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/osztaly.txt
new file mode 100644
index 00000000..e5eff3e2
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/osztaly.txt
@@ -0,0 +1,109 @@
+====== Osztályok adminisztálása ======
+
+Ezen az oldalon vehetünk fel új osztályokat, illetve módosíthatjuk a már felvett osztályok bizonyos adatait.
+
+===== Új osztály felvétele =====
+
+Az osztály képzési formája egy egyszerű tájékoztató jellegű információ, más jelentőssége nincs (egyenlőre).
+
+Fontos viszont az osztály indulásának és végzésének __tanéve__, ami a végzés esetén lehet könnyen téveszthető: a tanévet ugyanis a tanévkezdés évével jelöljük, így **a végzés tanéve általában eggyel kisebb, mint a végzés éve**! Meg kell adjuk még az osztály induláskori évfolyamát és jelét. Az osztály jel többnyire egy, esetleg két-három betű.
+
+===== Osztály adatainak módodítása =====
+
+A módosítani kivánt osztály kiválasztása előtt ellenőrizzük, hogy megfelelő tanév szerint nézzük-e az osztályokat, hiszen az osztályok jelei tanévenként változnak. Ha szükséges váltsunk tanévet (egyes osztályok esetleg meg sem jelennek a listában, ha nem megfelelő tanévet választunk).
+
+Az osztály kiválasztása után lehetőségünk van a képzési információ szerkesztésére, valamint az osztályfőnöki megbizatás rögzítésére (megbizatást módosítani, törölni a felületről egyenlőre még nem tudunk).
+
+
+===== Osztály tagjainak felvétele/frissítése adatállományból =====
+
+Készítsünk egy tabulátorokkal tagolt szöveges állományt, melyben a fejléc sort az egyes tanulók adatait tároló sorok követik. A fejlécben érdemes a ''diak'' tábla mezőneveit használni, mert ekkor a program automatikusan felismeri ezeket. A ''diak'' tábla mezői:
+
+
+ mysql> explain diak;
+ +-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+-------------------------+----------------+
+ | Field | Type | Null | Key | Default | Extra |
+ +-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+-------------------------+----------------+
+ | diakId | int(10) unsigned | NO | PRI | NULL | auto_increment |
+ | oId | bigint(20) unsigned | YES | UNI | NULL | |
+ | diakigazolvanySzam | int(10) unsigned zerofill | YES | | NULL | |
+ | tajSzam | int(9) unsigned zerofill | YES | | NULL | |
+ | adoazonosito | bigint(10) unsigned zerofill | YES | | NULL | |
+ | szemelyiIgazolvanySzam | varchar(16) | YES | | NULL | |
+ | tartozkodasiOkiratSzam | varchar(16) | YES | | NULL | |
+ | viseltNevElotag | varchar(8) | NO | | | |
+ | viseltCsaladinev | varchar(64) | NO | | | |
+ | viseltUtonev | varchar(64) | NO | | | |
+ | szuleteskoriNevElotag | varchar(8) | NO | | | |
+ | szuleteskoriCsaladinev | varchar(64) | NO | | | |
+ | szuleteskoriUtonev | varchar(64) | NO | | | |
+ | szuletesiHely | varchar(16) | YES | | NULL | |
+ | szuletesiIdo | date | YES | | NULL | |
+ | nem | enum('fiú','lány') | YES | | NULL | |
+ | apaId | int(10) unsigned | YES | MUL | NULL | |
+ | gondviseloId | int(10) unsigned | YES | MUL | NULL | |
+ | neveloId | int(10) unsigned | YES | | NULL | |
+ | anyaId | int(10) unsigned | YES | MUL | NULL | |
+ | allampolgarsag | varchar(16) | YES | | magyar | |
+ | lakhelyOrszag | varchar(16) | YES | | Magyarorsz�g | |
+ | lakhelyHelyseg | varchar(16) | YES | | NULL | |
+ | lakhelyIrsz | varchar(8) | YES | | NULL | |
+ | lakhelyKozteruletNev | varchar(32) | YES | | NULL | |
+ | lakhelyKozteruletJelleg | enum('út','utca','útja','körút','tér','tere','körtér','köz','fasor','árok','lejtő','lakótelep','sétány','dűlő','átjáró','bástya','bástyája','domb','dűlőút','egyéb','elágazás','erdősor','fasora','forduló','főút','gát','hajóállomás','határsor','határút','hegy','helyrajzi szám','hídfő','játszótér','kapu','kert','kikötő','kilátó','körönd','körvasútsor','lakónegyed','lépcső','liget','major','mélykút','ösvény','park','parkja','part','piac','pihenő','puszta','rakpart','repülőtér','rét','sétaút','sor','sugárút','sziget','tanya','telep','udvar','üdülőpart','várkerület','vasútállomás','völgy','zug') | YES | | NULL | |
+ | lakhelyHazszam | varchar(20) | YES | | NULL | |
+ | lakhelyEmelet | varchar(5) | YES | | NULL | |
+ | lakhelyAjto | varchar(5) | YES | | NULL | |
+ | tartOrszag | varchar(16) | YES | | Magyarorsz�g | |
+ | tartHelyseg | varchar(16) | YES | | NULL | |
+ | tartIrsz | varchar(8) | YES | | NULL | |
+ | tartKozteruletNev | varchar(32) | YES | | NULL | |
+ | tartKozteruletJelleg | enum('út','utca','útja','körút','tér','tere','körtér','köz','fasor','árok','lejtő','lakótelep','sétány','dűlő','átjáró','bástya','bástyája','domb','dűlőút','egyéb','elágazás','erdősor','fasora','forduló','főút','gát','hajóállomás','határsor','határút','hegy','helyrajzi szám','hídfő','játszótér','kapu','kert','kikötő','kilátó','körönd','körvasútsor','lakónegyed','lépcső','liget','major','mélykút','ösvény','park','parkja','part','piac','pihenő','puszta','rakpart','repülőtér','rét','sétaút','sor','sugárút','sziget','tanya','telep','udvar','üdülőpart','várkerület','vasútállomás','völgy','zug') | YES | | NULL | |
+ | tartHazszam | varchar(20) | YES | | NULL | |
+ | tartEmelet | varchar(5) | YES | | NULL | |
+ | tartAjto | varchar(5) | YES | | NULL | |
+ | jogviszonyKezdete | date | YES | | NULL | |
+ | kezdoTanev | smallint(5) unsigned | NO | MUL | | |
+ | kezdoSzemeszter | tinyint(3) unsigned | NO | | | |
+ | jogviszonyVege | date | YES | | NULL | |
+ | telefon | varchar(64) | YES | | NULL | |
+ | mobil | varchar(64) | YES | | NULL | |
+ | email | varchar(96) | YES | | NULL | |
+ | statusz | enum('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') | NO | | jogviszonyban van | |
+ | penzugyiStatusz | enum('állami finanszírozás','térítési díj','tandíj') | YES | | állami finanszírozás | |
+ | szocialisHelyzet | set('szülei elváltak','három vagy több gyerekes család','rendszeres gyermekvédelmi támogatást kap','állami gondozott','veszélyeztetett','hátrányos helyzetű','halmozottan hátrányos helyzetű','sajátos nevelési igényű') | YES | | NULL | |
+ | fogyatekossag | set('tartósan beteg','mozgássérült','beszédfogyatékos','hallássérült','látássérült','diszlexia','diszkalkulia','diszgráfia','tanulásban akadályozott','értelmileg akadályozott','autista','tanulási képességek kevert zavarával küzdő') | YES | | NULL | |
+ | gondozasiSzam | varchar(128) | YES | | NULL | |
+ | elozoIskolaOMKod | mediumint(8) unsigned zerofill | NO | | | |
+ | kollegista | tinyint(3) unsigned | NO | | 0 | |
+ +-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+-------------------------+----------------+
+
+Az általunk készített állományban nem kell minden mezőnek szerepelnie, fontos azonban, hogy új tanulók felvételekor a ''statusz'', ''jogviszonyKezdete'', ''kezdoTanev'', ''kezdoSzemeszter'' mezők
+értékeinek megadása kötelező (adatfrissítéskor már nem), ezen kívül erősen ajánlott az oktatási azonosító (''oId'') megadása, ami az egyetlen megbízható kulcs mező.
+Végül megadhatjuk itt az osztályba kerülés (''beDt'') és várható kilépés (''kiDt'') dátumát is (bár ez utóbbit inkább akkor érdemes beállítani, mikor a tényleges kilépés meg is történik),
+ami ugyan nem a ''diak'' tábla mezője, de ezen az oldalon használható - az általános import oldal ([[naplo:admin:import|Admin/Import]]) működésétől ebben tér el az itteni importálás:
+a felvett/módosított diákokat a megadott dátummal fel is veszi a kiválasztott osztályba. Egy új tanulók adatait tartalmazó adatállomány tehát valahogy így nézhet ki:
+
+ oId viseltCsaladinev viseltUtonev kezdoTanev kezdoSzemeszter statusz jogviszonyKezdete beDt ...
+ 74864826801 Gipsz Jakab 2007 1 jogviszonyban van 2007-08-01 2007-08-01 ...
+ 77138079743 Vincs Eszter 2007 1 jogviszonyban van 2007-08-01 2007-08-01 ...
+ ...
+
+A fenti példában a Gipsz Jakab nevű új tanuló a 2007-2008-as tanév első szemeszterében került felvételre, osztályból való kikerülésének várható ideje 2009 június 30., osztályba kerülésének dátuma 2008. augusztus 1., ami egyúttal jogviszonyának kezdete is.
+
+**Az adatállomány UTF-8 kódolású kell legyen!**
+
+A kész állományt másoljuk fel a szerverre, például a ''/tmp'' könyvtárba, majd ennek az állománynak az elérési útját kell megadunk a beviteli mezőben.
+
+A jóváhagyás után a program beolvassa a file első 5 sorát - mintaként. Ha a mezőneveket felismeri a program, akkor automatikusan rendeli hozzá őket egy-egy oszlophoz, amúgy ezt kézzel kell végrehajtanunk.
+
+Mindenképp meg kell adnunk egy, vagy több mezőt, amit kulcsként használ majd a program a betöltés során. Ez azt jelenti, hogy egy sor betöltésekor, ha van már az adatbázisban vele azonos kulcsú, akkor a beszúrás (insert) helyett csak adatmódosítást (update) hajt végre.
+
+==== Beíratlan tanulók előzetes felvétele ====
+
+Ha a beiratkozás előtt előre be akarjuk tölteni a felvett tanulók adatait, akkor a következő formátumú állományt használjuk:
+
+ oId viseltCsaladinev viseltUtonev statusz jogviszonyKezdete kezdoTanev kezdoSzemeszter beDt
+ 7654321 Gipsz Jakab felvételt nyert \N 2012 1 2012-06-25
+
+Fontos tehát, hogy a státusz "felvételt nyert", a jogviszony kezdetének dátuma viszont mág ismeretlen (NULL értékű, ezt jelzi a ''\N'').
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tanar.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tanar.txt
new file mode 100644
index 00000000..1d2f8f3d
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tanar.txt
@@ -0,0 +1,67 @@
+====== Tanárok adminisztrálása ======
+
+===== Tanárok felvétele adatállományból =====
+
+Új rendszer telepítéskor a leggyorsabb megoldás, ha valamilyen adatforrásból megfelelő adatállományt készítünk, majd ezt betöltjük a programba. Ez a módszer arra is alkalmas lehet, hogy a már betöltött tanáradatokat frissítsük, módosítsuk.
+
+Készítsünk tehát egy tabulátorokkal tagolt, UTF8 kódolású, szöveghatárolók nélküli szöveges állományt, melyben a fejléc sort az egyes tanárok adatait tartalmazó sorok követik. A fejlécsorban érdemes a ''tanar'' adatbázistábla mezőneveit használni, így a program automatikusan felismeri ezeket. A mezők:
+
+ mysql> DESC tanar;
+ +------------------------+---------------------+------+-----+---------+----------------+
+ | Field | Type | Null | Key | Default | Extra |
+ +------------------------+---------------------+------+-----+---------+----------------+
+ | tanarId | int(10) unsigned | NO | PRI | NULL | auto_increment |
+ | oId | bigint(20) unsigned | YES | UNI | NULL | |
+ | beDt | date | YES | | NULL | |
+ | kiDt | date | YES | | NULL | |
+ | viseltNevElotag | varchar(8) | NO | | | |
+ | viseltCsaladinev | varchar(64) | NO | | | |
+ | viseltUtonev | varchar(64) | YES | | | |
+ | szuletesiHely | varchar(16) | YES | | NULL | |
+ | szuletesiIdo | date | YES | | NULL | |
+ | szuleteskoriUtonev | varchar(64) | YES | | | |
+ | szuleteskoriCsaladinev | varchar(64) | NO | | | |
+ | szuleteskoriNevElotag | varchar(8) | NO | | | |
+ | dn | varchar(128) | YES | | NULL | |
+ | hetiMunkaora | decimal(3,1) | YES | | 0.0 | |
+ | NEKAzonosito | varchar(16) | YES | | NULL | |
+ | userAccount | varchar(32) | YES | | NULL | |
+ | statusz | enum('határozatlan | YES | | határozatlan idejű |
+ idejű','határozott
+ idejű','tartósan
+ távol','jogviszonya
+ lezárva','külső
+ óraadó')
+ | hetiKotelezoOraszam | decimal(3,1) | YES | | 0.0 | |
+ | megjegyzes | varchar(255) | YES | | NULL | |
+ | besorolas | enum('Gyakornok', | YES | | Pedagógus I. |
+ 'Pedagógus I.',
+ 'Pedagógus II.',
+ 'Mesterpedagógus',
+ 'Kutatótanár')
+ +------------------------+---------------------+------+-----+---------+----------------+
+
+A ''tanarId'' mezőt nem kell megadni, hiszen az automatikusan növekvő sorszám, ugyanakkor az ''oId'' (oktatási azonosító), ''beDt'' (jogviszony kezdete) és a neveket tároló attribútumok (''viseltCsaladinev'', ''viseltUtonev'') megadása erősen javallott.
+További kötelezőnek tekinthető mezők a besorolás (ha nem adjuk meg, Pedagógus I. lesz), a hetiKotelezoOraszam (ha nem adjuk meg, 0 lesz) és a statusz (ha nem adjuk meg, határozatlan idejű lesz).
+
+Célszerű az új naplóban minden adatot (lehetőség szerint) a valóságnak megfelelően megadni, a régi naplók adatait pedig aktualizáni. Később mindenképpen szükség lehet rájuk.
+
+**Amennyiben nem adunk meg ''beDt'' paramétert (vagy az aktuális dátumnál nagyobbat adunk meg),** úgy a felvett tanár bekerül ugyan az adatbázisba, de nem jelenik meg a felületen - mert a program úgy tekinti, mint aki már/még nincs jogviszonyban. Ha nem ismerjük, adjuk meg az aktuális dátumot - később lehet módosítani.
+
+**Ha nem ismert a tanár oktatási azonosítója,** ideiglenes megoldásnak megfelel a dátum+sorszám, 11 jegyben megadva, pl. 20150810001.
+
+**Amikor új tanárt várunk az iskolába, de még nem tudjuk ki lesz** (pl. többen pályáztak, de még nincs döntés), a viselt nevekhez vegyük fel a **Testnevelés** (családi név) **Tanár** (utónév) formát. Utólag ezt is lehet a valódi névre cserélni.
+
+**A ''kiDt'' mezőt csak akkor kell megadni,** ha a tanár jogviszonya megszűnt, azaz nyugdíjba ment, másik iskolába ment, ne' adj 'sten, elhunyt.
+A GYES-es, fizetés nélküli szabadságon, hosszabb ideig külföldön tartozkodóknál használjuk a ''statusz'' mező **tartósan távol** elemét!
+
+Az állományt másoljuk fel a szerverre, például annak ''/tmp'' könyvtárába - ennek az állományak a teljes elérési útját kell megadnunk ezen az oldalon: Napló/Admin/Import, ''tanar'' tábla - majd az ''Adatállomány elérési útja'' mező, pl. /tmp/tanarok.csv.
+
+Jóváhagyás után a program beolvassa a file első öt sorát, ha megfelelőek a fejlécsor mezőnevei, akkor ezeket automatikusan felismeri, egyéb esetben nekünk kell beállítani, hogy van-e fejléc sor, és melyik oszlop melyik mezőnek felel meg.
+
+Ezek után mindenképp meg kell adnunk egy kulcs mezőt - célszerűen az oktatási azonosítót, ez biztos, hogy egyedi... Ennek szerepe, hogy ha az import az adatbázisban talál az adott kulcsmezőnek megfelelő rekordot, akkor módosítja annak megadott adatait. Ha pedig nem talál egyező oktatási azonosítójú rekordot, akkor újként felveszi.
+
+Ezzel a módszerrel lehet egyébként tömeges adatmódosítást végezni a ''tanar'' táblában: aktualizált ''beDt''-k, besorolások, kiderített születéskori nevek, születési idők és helyek...
+
+
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tankordiak.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tankordiak.txt
new file mode 100644
index 00000000..ebe95ab5
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tankordiak.txt
@@ -0,0 +1,37 @@
+====== Tankör tagjainak kezelése ======
+
+A tankörök tagjait általában az adminisztrátor változtathatja. Kivétel ez alól a tanév eleje, a tanulócsoportok kialakulásának időszaka. Ekkor a vezetőség tagjai és az egyes tankörök tanárai is módosíthatják a tankörnévsorokat.
+Ezt az időszakot az '[[naplo:admin:szemeszterek|Admin/Szemeszterek]]' menüpont alatt vehetjük fel (tankörnévsor módosítás).
+
+A módosítást lehetővé tevő űrlap tehát csak akkor jelenik meg, ha a fentiek értelmében jogunk van a névsor módosítására.
+
+A munkaközösség, illetve tárgy megadásával szűkíthetjük a tankörök listáját. A tanév megváltoztatásával megpróbálhatunk hozzáférni az előző évek tanköreihez is - erre azonban csak 'aktív' tanévek esetén és csak az adminisztrátornak van lehetősége.
+
+
+===== Tankör adatainak megjelenítése =====
+
+A tankörök névsora a tanév folyamán változhat.
+Ezért első lépésként ki kell választanunk a dátumot (referencia dátum), amelyik napon érvényes névsort szeretnénk látni.
+
+A megjelenő űrlap tetején a tankör tanárának nevét olvashatjuk, alatta a tagok adott napon érvényes névsora szerepel.
+Az egyes nevek mellett rádiógombok segítségével állíthatjuka tag jellemzőit:
+ * jelenlét (kötelező/nem kötelező): a tanulónak meg kell-e jelennie a tankör óráin, vagy esetleg felmentést kapott ez alól (magántanuló, felmentett...)
+ * követelmény (aláírás, jegy, vizsga): a tankörben milyen követelményt kell teljesítenie a diáknak (aláírás - pl szakkör esetén, jegy a legtöbb esetben, vagy vizsga - pl. a magántanulók esetén)
+ * engedélyezés (igen/nem) - felvehető tárgyak esetén lesz jelentőssége: a tanulók jelentkezhetnek egy-egy tankörbe, majd ezt engedélyezi, vagy elutasítja a vezetőség.
+A módosítások a referencia dátumtól lesznek érvényesek. Megadhatjuk azt is, hogy a módosítás meddig legyen érvényes, de bármilyen értéket is adunk meg az érvényesség megszakad, ha a diák tankörbeli tagságában szakadás van.
+
+Például, ha a diák szeptember 1-től október 1-ig, majd október 2-től november 1-ig, végü november 5-től július 30-ig tagja egy tankörnek és referencia dátumként egy szeptemberi időpontot választunk, akkor módosításaink csak legfeljebb november 1-ig érvényesíthetők. Ha a fennmaradó időszakban is módosítani szeretnénk, akkor azt külön lépésben tehetjük meg azután, hogy a referencia dátumot november 5-re állítottuk.
+
+----
+
+A tanulók melletti jelölőnégyzetben jelölhetjük a kiléptetésre szánt tanulókat. A tankörből való kilépés dátuma a referencia dátum, ami azt jelenti, hogy jóváhagyás után már nem fog a listán szerepelni a törölt tanuló, de ha egy nappal korábbi névsort nézünk ott még szerepel(het). Szükség esetén a kiléptetésnél is megadhatunk egy dátumot, így a törlés adott időszakra szűkíthető.
+
+A törlés mindíg egész tankörcsoportokra vonatkozik, azaz ha törlünk egy tanulót egy tankörből, akkor a vele egy csoportba tartozó tankörökből is törli a program a diákot.
+
+Visszamenőleges kiléptetéskor a program ellenőrzi, hogy érint-e hiányzást, illetve beírt jegyet a módosítás. Amennyiben érint, úgy a kiléptetés nem történik meg, és hibaüzenetet kapunk.
+
+----
+
+Egy-egy új tanulót felvehetük a második űrlap segítségével. Itt a be- és kilépés dátumát is megadhatjuk (a kilépés nem kötelező).
+
+A harmadik űrlapon több új tanulót vehetünk fel a tankörhöz rendelt osztályokból. A névsorban benne vannak a már felvett tanulók is, de nem okoz semmilyen problémát, ha véletlenül ismét felvételre jelölünk egy diákot. Itt is megadható a be- és kikerülés dátuma. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tankorszemeszter.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tankorszemeszter.txt
new file mode 100644
index 00000000..480532d7
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tankorszemeszter.txt
@@ -0,0 +1,22 @@
+====== Tanör óraterve ======
+
+Ezen az oldalon egy tankör "életpályáját" tekinthetjük meg, illetve megfelelő jogosultság birtokában módosíthatjuk is.
+
+Első lépésként válasszunk ki egy kiindulási tanévet. Ennek a tanévnek a tankörei közül választhatjuk ki a megjelnítendő tanköröket az eszközsor további eszközeinek segítségével:
+ * tanát tankörei
+ * munkaközösség tankörei
+ * osztály tankörei
+
+A tankörök a kiválasztott tanévben használt elnevezés szerint lesznek megjelenítve. A kiválasztott tanév oszlopa a többitől eltérő színű, a jobb áttekinthetőség kedvéért.
+
+A táblázat celláiban lévő pipák jelzik, hogy egy tankör az adott szemeszterhez (félévhez) hozzá van-e rendelve. Ha hozzá van rendelve, akkor a pipa alatt a tervezett heti óraszám is megjelenik (ez félévente eltérhet és lehet tört szám is), valamint az egérrel a jelölő négyszögre állva láthatjuk a tanör adott tanévben használt nevét is.
+
+
+
+===== Óraterv módosítása =====
+
+Az óratervet a napló adminisztrátor módosíthatja, de csak a nem lezárt tanévek esetében. Hozzárendelés törlésére egyenlőre nincs lehetőség (kockázatos beavatkozás lenne, nem javasolt eljárás).
+
+A tervezett óraszámokat tetszés szerint változtathatjuk, pillanatnyilag nincs jelentősssége - a későbbiekben az órarend elkészítésében lehet szerepe, illetve ellenőrzési célokat szolgálhat. Új hozzárendelés esetén üresen is hagyhatjuk - ekkor 0 óraszámmal lesz rögzítve a tankör. Már meglevő hozzárendelés óraszámát csak pozitív értékre változtethatjuk.
+
+Új hozzárendelés készítésekor a program a tankör tanárainak megbizatását is kiegészíti az új szemeszterek egészére. Mindig a kiválasztott tanév utolsó napján érvényes tanárok lesznek az új szemeszterekre is megbízva. Ha más tanárt vagy tanárokat szeretnénk megbízni ezekre a szemeszterekre a tankör tanításával, akkor a [[tankorTanar|Tankör tanárok]] menüpontban módosíthatjuk ezt a beállítást. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tankortanar.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tankortanar.txt
new file mode 100644
index 00000000..29c5f4b5
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/tankortanar.txt
@@ -0,0 +1,8 @@
+====== Tankör tanárai ======
+
+Itt nézhetjük meg, illetve módosíthatjuk, hogy a tanköröknek a kiválaszott tanévben ki a tanára.
+Megfelelő jogosultság mellett módosíthatjuk is a beállításokat - de csak teljes tanévekre vonatkozóan.
+
+** Fontos **
+
+A tanár megbizatása mindig határozott időre szól, nem lehet "nyílt végű" (kiDt is NULL).
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/valtas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/valtas.txt
new file mode 100644
index 00000000..8eb0829d
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/intezmeny/valtas.txt
@@ -0,0 +1,7 @@
+====== Intézmény és tanév választás ======
+
+A MaYoR elektronikus napló képes több intézmény több tanévének egyidejű kezelésére. A gyakorlatban persze általában egy intézmény épp aktuális tanévének adataival dolgozunk, de néha szükség lehet korábbi évek adataira is.
+
+A válthatóság feltétele, hogy a tanév státusza 'aktív', vagy 'lezárt' legyen, a 'tervezett' státuszú tanév adatbázisa még nem áll rendelkezésre, így ilyet nem választhatunk ki.
+
+A 'lezárt' státuszú tanév adatai nem módosíthatók, míg az 'aktív' státusz esetén a felhasználó besorolása (diák, tanár, vezetőségi tag, adminisztrátor, titkársági dolgozó) és a módosítási határidők szabják meg, hogy az adatok változtathatók-e. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/mayor-naplo.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/mayor-naplo.txt
new file mode 100644
index 00000000..5896d16f
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/mayor-naplo.txt
@@ -0,0 +1,34 @@
+====== elektronikus napló ======
+===== mayor-naplo =====
+
+A mayor-naplo egy teljesértékű elektronikus naplót megvalósító modul, mely képes kiváltani a hagyományos papír alapú naplót, könnyen használható és kellőképpen rugalmas ahhoz, hogy képes legyen kielégíteni a legtöbb középiskola igényeit.
+
+célkitűzések:
+ * tanárok és diákok adatainak kezelése
+ * órarend kezelése
+ * osztályokon és évfolyamokon átívelő tankörök kezelése, fakultatív tárgyak esetén jelentkeztetéssel
+ * több tanév adatainak kezelése
+ * éves munkaterv kezelése
+ * haladási napló
+ * helyettesítések, óracserék, elmaradások, speciális tanítási napok kezelése
+ * hiányzások, igazolások kezelése
+ * osztályzatok kezelése
+ * szaktanári bejegyzések (dicséretek, figyelmeztetők) kezelése
+ * nyomtatás (PostScript és PDF formátumok támogatása)
+
+----
+==== Adatbázis-szerkezet ====
+
+A rendszer [[http://www.mysql.com|MySQL]] alapú adatbázisra épül. Az adatbázis-szerkezet három szintű.
+
+=== naplo-base ===
+
+Itt tároljuk a naplóval kapcsolatos [[kérelmek]] adatait, az aktuális [[session]] adatait és az elektronikus napló által kezelt [[intézmények]] adatait.
+
+=== naplo-intezmeny ===
+
+Itt tároljuk azokat az adatokat, amik egy intézményhez kapcsolódnak és több évre meg kell őriznünk őket. Ide tartoznak a tanárok és diákok adatai, a tanított tárgyak, sőtt a tankörök adatai is.
+
+=== naplo-tanev ===
+
+Itt tároljuk az adott tanév adatait, melyeket nem várható, hogy több év múlva is elő kívánunk venni. Ide tartoznak az év közbeni osztályzatok, hiányzások, igazolások, az órarend, a haladási napló, a helyettesítések, dicséretek és figyelmeztetések... \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/nyomtatas/szovegesertekeles.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/nyomtatas/szovegesertekeles.txt
new file mode 100644
index 00000000..99fab802
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/nyomtatas/szovegesertekeles.txt
@@ -0,0 +1,71 @@
+====== Szöveges értékelés nyomtatása ======
+
+A szöveges értékelés nyomtatása sablon fájl alapján történik. A sablon tartalmaz speciális azonosítókat, amik helyére a program a megfelelő értékeket fogja behelyettesíteni.
+
+A ''/var/mayor/print/module-naplo/templates'' könyvtárba találhatók a sablonok, illetve nekünk is ide kell elhelyezni a sajátunkat az intézmény rövid nevének megfelelő nevű alkönyvtárba. Ha ilyen alkönyvtár nincs, vagy nincs benne megfelelő sablon, akkor a ''default'' alkönyvtárban található sablonokat használja a rendszer. Találunk még egy ''draft'' alkönyvtárat is, amibe a lecsupaszított sablonok találhatók - ezek mutatják meg a lehetséges használható sablonelemeket.
+
+A szöveges értékelés nyomtatásakor a rendszer egy ''szovegesErtekeles.tmpl'' nevű sablon állományt keres - előbb az intézmény mappájában, majd ha ott nem talált ilyet, akkor a ''default'' mappában.
+
+A sablonban a következő speciális jelöléseket használjuk:
+
+ %!függvény kiterjesztés
+
+Ez a vezérlősor csak a file első sora lehet, különben a program figyelmen kívül hagyja. Arra szolgál, hogy megmondjuk a sablon alapján generált szöveges állományt feldolgozó függvény nevét és a keletkező állomány kiterjesztését. Például:
+
+ %!pdfLaTeXA5 pdf
+
+Ha nincs ilyen sor, akkor a program egyszerű szöveges állományt készít.
+
+----
+
+ %$paraméterNév
+
+Egyszerű lecserélendő, behelyettesítendő változót takar.
+
+ %{blokkNév
+ ...
+ %}blokkNév
+
+A blokk nyitó, illetve csukó jelekkel egy szövegrészt foghatunk közre. Fontos, hogy a nyitó és csukó szimbólumok külön-külön, önálló sorokat alkossanak. Egy-egy ilyen blokk többször, többféle paraméterezéssel lesz bemásolva a végső szövegbe. Körlevél szerű megoldásról van szó, azzal a különbséggel, hogy itt lehetnek egymásba ágyazott blokkok is. Például a szöveges értékelések esetén minden diák számára el kell készíteni egy-egy értékelést (ez egy diák blokk-kal írható le), ezeken belül tárgyanként lesznek értékelések, a tárgyak blokkjain belül az egyes tárgyakra vonatkozó szempontok jelennek meg, azon belül a szempontokra vonatkozó minősítések jelennek meg. Ez így adjuk meg:
+
+ %{diak
+ ...
+ %{targy
+ ...
+ %{szempont
+ ...
+ %{minosites
+ ...
+ %}minosites
+ ...
+ %}szempont
+ ...
+ %}targy
+ ...
+ %}diak
+
+----
+
+Az utolsó a feltételes szövegrészek jelölése:
+
+ %?paraméterNév|igazSzöveg|hamisSzöveg%?
+
+A program ilyen esetben a szöveg kifejtésekor az adott helyen megvizsgálja a megadott paraméter logikai értékét (csak valódi logikai értéket vesz figyelembe!), és igaz esetén az ''igazSzöveg''-et, hamis logikai érték esetén a ''hamisSzöveget'', minden egyéb esetben üres sztringet fog helyettesíteni a kifejezés helyére. Például:
+
+ %?valasztott|X|O%? %$minosites
+
+A fenti sor kifejtése során, ha olyan minősítéshez jutunk, ami az adott tanuló esetén ki lett választva, meg lett jelölve, akkor a file-ba ''X'' kerül a minősítés szövege elé, míg egyéb esetben a minősítés magában áll, vagy ''O'' előzi meg.
+
+ %?elsoValasztott|%$minosites||?%?%tobbedikValasztott|, %$minosites||%?
+
+A fenti sor két elágazást tartalmaz: az első kiválasztott minősítést kiírjuk (vessző nélkül), a többedik - szintén kiválasztott - minősítéseket bevezető vesszővel írjuk ki. Így tulajdonképpen a kiválasztott minősítések listáját kapjuk meg.
+
+ %>utolsó<%>nem utolsó%>
+
+Kísérleti opció! A blokk utolsó, illetve nem utolsó elemére vonatkozó elágazás. Lehet bele ágyazva %? szerkezet.
+
+Ha a forrásszövegbe valódi % jelet kívánunk elhelyezni (pl. TeX komment), akkor használjuk a
+
+ %%
+
+jelölést!
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/nyomtatas/torzslap.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/nyomtatas/torzslap.txt
new file mode 100644
index 00000000..9ef7434f
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/nyomtatas/torzslap.txt
@@ -0,0 +1,50 @@
+====== Törzslap nyomtatása ======
+
+A MaYoR napló A4-es méretű, egy tanév adatait tartalmazó törzslap-nyomtatvány generálására képes egy osztály, vagy azon belül egy konkrét tanuló számára.
+
+A nyomtatvány részei:
+
+ * Alapadatok (táblázat)
+ * Osztályzatok (magatartás/szorgalom, tantárgyak)
+ * Hiányzási adatok
+ * Szöveges minősítés
+ * Bejegyzések (dicséretek)
+ * Záradékok
+
+===== Alapadatok =====
+
+==== Törzslapszám ====
+
+A program két forrásból veheti a törzslapszámot: generálhatja automatikusan, vagy kiolvashatja a ''diak'' tábla megfelelő mezőjéből. Amennyiben ez utóbbi mező (ami a diák adatlapján módosítható) nem üres, úgy a program az itt található értéket jeleníti meg törzslapszámként, amúgy a generált törzslapszámot használja.
+
+==== Osztálynapló sorszáma ====
+
+Program által generált adat, a tanuló adott osztálynaplóbeli sorszáma.
+
+==== Feljegyzések személyi adatok változásához ====
+
+A program itt az 39/B jelű, "egyedi törzslap záradék" típusú, kötetlen szövegű záradékok szövegét jeleníti meg ebben a mezőben. Ilyen típusú záradékot használjunk tehát pl. név változás rögzítésére.
+
+===== Osztályzatok =====
+
+Amennyiben a tanulót az adott tanévben valamely tantárgyból nyújtott teljesítményét, illetve magatartását, szorgalmát osztályzattal értékelték/minősítették, a program ezt egyszerű táblázatos formában megjeleníti a nyomtatványon. A tantárgyi dicséretek nem itt, hanem a **Bejegyzések** szakaszban fognak megjelenni szöveges formában.
+
+===== Hiányzási adatok =====
+
+Az előző táblázat folytatásaként, szintén táblázatos formában jelennek meg a hiányzási adatok: igazolt és igazolatlan hiányzások, illetve késésekből összeadódó mulasztások.
+
+===== Szöveges minősítés =====
+
+Amennyiben a tanuló valamely tantárgyból nyújtott teljesítményét szöveges minősítéssel értékelték, a program ezt szöveges felsorolásként megjeleníti a törzslap nyomtatványon.
+
+===== Bejegyzések =====
+
+Bejegyzések alatt a törzslap esetén a különböző dicséreteket értjük. Ezek két forrásból kerülhetnek a nyomtatványra:
+ * Az osztályzatoknál jelölt dicséreteket a program szöveges formába öntve jeleníti meg
+ * A ''Bejegyzések/Új bejegyzés'' menüpont alatt "tanévvégi bejegyzés"-ként megjelölt bejegyzéseket a program ezen a helyen szöveges formában szintén megjeleníti
+
+===== Záradékok =====
+
+Az egyedi törzslap záradék kivételével itt jelenik meg az összes, a rendeletben törzslapban is megjelenítendőnek jelölt záradék. Ide kerül az utolsó helyre a tanuló továbbhaladására vonatkozó záradék is.
+
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/asc_timetables_xml.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/asc_timetables_xml.txt
new file mode 100644
index 00000000..5acbe359
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/asc_timetables_xml.txt
@@ -0,0 +1,16 @@
+====== Órarend import: aSc Timetables XML ======
+
+Ezt az import modult akkor használhatjuk, ha előzőleg az aSc számára [[ascExport|az adatokat átadtuk]] a MaYoR rendszerből, majd ezen adatok felhasználásával készítettünk órarendet. Az így elkészült órarendet az aSc ''Fájl/Export/aSc Órarend XML'' menüpontjában exportálhatjuk - megfelelő licence birtokában. Az exportáláshoz először le kell tölteni az export sablon állományt. Az importáláskor ezt az állományt kell felülírni, és felmásolni a szerverre.
+
+A modul az állományt beolvassa és tartalmát konvertálja UTF-8 kódolásúvá. Ezek után beolvassa az így kapott XML-ből a tanárok, osztályok, tárgyak és termek adatait (alapadatok). Következő lépésben az órák adatait dolgozza fel (lesson): megkeresi, hogy egy óra mely tanköröket érinti, és ezekhez milyen tanárok, illetve osztályok tartoznak. Ebben a lépésben többféle hibát is észlelhet a program:
+
+ * Hiányzó tanár: Ez azt jelenti, hogy az érintett tankörhöz a naplóban (MaYoR) nincs megadva tanár. A problémán könnyen segíthetünk: rendeljünk hozzá tanárt (tanár nélkül nem beszélhetünk kész órarendről - ha tehát tényleg nincs információnk a tanárról, akkor vagy halasszuk el a betöltést, vagy "kényszerítsük" a programot az adatok betöltésére a megjelenő opció bejelölésével. Ilyenkor a hibás adatok kivételével a többi óra adata bekerül az órarendbe)
+ * Hibás tanár hozzárendelés: Azt jelenti, hogy a tankör naplóban szereplő (első) tanára nem szerepel az aSc-ben megjelölt lehetséges tanárok között. Az ellentmondást valahogy fel kell oldanunk: vagy a naplóban kell javítanunk a tankör tanárát, vagy az aSc-ben kell hozzárendelni az érintett órához a naplóban megjelölt tanárt (is), esetleg közvetlenül javíthatjuk az XML állományt is - de akkor vigyázunk, hogy az érintett ''lesson'' bejegyzésen túl a ''card'' bejegyzéseket is javítanunk kell.
+ * Hibás osztály hozzárendelés: Kevésbé kritikus, mint az előzőek, de mindenképp valami hibára utal - nevezetesen arra, hogy a tankör naplóban szereplő (első) osztálya nem szerepel az aSc-ben megjelölt lehetséges osztályok listájában. A javítás az előzőekhez hasonlóan történhet a MaYoR felületen, az aSc-ben, vagy közvetlenül az XML állományban (csak a lesson bejegyzést érinti).
+
+Az órák adatainak feldolgozása után következnek a kártyák. Ezen belül az első lépés a lessonid elemzése. Ennek formátuma a korábbi MaYoR-aSc adatátadáskor kellett, hogy kialakuljon. Formája a következő:
+ t|b[óraszám]-tankorId[_tankorId ...]
+Például:
+ b2-243_233_126
+Az első karakter jelzi, hogy blokk, avagy tankör adata következik-e (a feldolgozás szempontjából mindegy, de könnyebb értelmezni így), ezek után jön (jöhet), hogy hány egymást követő órát kell lerakni az érintett tankörökből (szimpla, dupla, vagy tripla órák), végül egy kötőjel után az érintett tankör/tankörök azonosítója/azonosíytói következnek (egymástól aláhúzás karakterekkel elválasztva). A fenti példa jelentése tehát, egy olyan tankör blokk duplaórája, melybe a 243, 233 és 126 azonosítójú tankörök tartoznak. Ha a program a fent vázolttól eltérő formátumú lessonid-t talál, akkor hibaüzenetet generál - kényszerített módban az ilyen bejegyzéseket, kártyákat figyelmen kívül hagyja.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/asc_timetables_xml_tankoeroek_nelkuel.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/asc_timetables_xml_tankoeroek_nelkuel.txt
new file mode 100644
index 00000000..81372538
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/asc_timetables_xml_tankoeroek_nelkuel.txt
@@ -0,0 +1,20 @@
+====== aSc Timetables import modul - tankörök hozzárendelése nélkül ======
+
+Amennyiben az órarendet az aSc programmal készítettük, de nem a MaYoR-ból átadott adatokból, akkor használhatjuk ezt a beviteli módot.
+
+Használata előtt az aSc-ben fel kell vennünk a tanárok és termek mezői közé ''MaYoR ID'' néven a MaYoR rendszerben használt azonosítókat.
+Ezt a "Megadás" menüpont alatt, a megfelelő kategória (Tanárok, Termek), majd objektum (egy tanár vagy terem) kiválasztása után tehetjük meg,
+a "Módosítás" opció alatti "Szokásos mezők" lehetőség kiválasztásával.
+
+Ha az alapadatokat (tanárok, termek, osztályok, stb.) már felvettük a MaYoR rendszerbe, akkor az Órarend/ascExport segítségével könnyen
+megtudhatjuk a MaYoR ID-ket.
+
+Ha ezzel megvagyunk, akkor a szokásos export sablonnal készítsünk XML exportot az aSc-ből (Fájl/Export/aSc Timetables XML).
+Ehhez elõször le kell tölteni a MaYoR-ból az aSc export állományt. Az aSc-ben a fent megadott helyen a mentés során ezt a letöltött export XML
+fájlt kell felülírni. Utána az elkészült XML fájlból az elsõ sor(ok)ban lévõ <?xml version="1.0" encoding="windows-1250"?> sort törölni kell
+(bár az újabb verziók már automatikusan kihagyják ezeket a sorokat). Az így módosított file-t másoljuik fel a szerverre, mondjuk a ''/tmp'' könyvtárba,
+majd kezdhetjük a betöltést.
+
+A modul ellenőrzi a tanárazonosítók megfelelését és betölti az orarendiOra táblába a rekordokat. Az orarendiOraTankor táblát nem módosítja.
+Ez azt jelenti, hogy az órarend betöltése után még tanáronként végigmenve el kell végeznünk az órarendi órák tankörökhöz való hozzárendelését.
+A program azokat a kártyákat, melyek több tanárhoz vannak hozzárendelve külön bejegyzésekként veszi fel, illetve kezeli a dupla és tripla órákat is.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/ascexport.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/ascexport.txt
new file mode 100644
index 00000000..46bf9dcf
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/ascexport.txt
@@ -0,0 +1,102 @@
+====== Adatok exportálása az aSc Timetables számára ======
+
+Az [[http://www.asctimetables.com/|aSc Timetables]] órarendkészítő program számára az adatokat egy egyszerű szerkezetű XML formátumban tudjuk átadni. Ennek legenerálását végezhetjük itt. A két program belső felépítése lényegesen eltér egymástól, ami teljesen természetes, hiszen két különböző funkcióra készültek. Ugyanakkor az adatok átadásakor ez korlátozza a lehetőségeket.
+
+
+====== Mit tudunk átadni az aSc számára ======
+
+ * Alap adatok
+ * Tanárok
+ * Osztályok
+ * Diákok
+ * Tárgyak
+ * Termek
+ * Az órák (lessons)
+ * tankörök
+ * tankör blokkok
+ * és ezek különböző órabontásai (dulpa/tripla órák)
+ * Adott dátum szerinti órarend (card)
+
+Alapvetően három féle export készíthető:
+ - Alapadatok órarend nélkül + tankörök/blokkok szemináriumként + órabontások
+ - Alapadatok órarend nélkül + tankörök/blokkok egész osztályos órakén + órabontások
+ - Alapadatok adott dátum szerinti órarenddel (egy hét órarendje!) + tankörök/blokkok szemináriumként - órabontások nélkül
+
+===== Alapadatok =====
+
+Az alap adatok átadása a későbbi visszatölthetőség miatt fontos, ugyanis ilyenkor a MaYoR programból kapják az egyes objektumok az azonosítóikat.
+
+A diákok exportálása elsőre talán furcsának tűnhet, hiszen általában az órarend elkészítéséhez ezekre az adatokra nem szokott szükség lenni, inkább az osztályok különböző csoport bontásaival dolgozunk. Sajnos azonban ilyen jellegű adat a MaYoR naplóban nincsen, így a tényleges csoportnévsorokra építünk inkább, az órák tehát - az aSc szóhasználata szerint - szemináriumokként jelennek meg majd a programban.
+
+Ha ettől el kívánunk térni, akkor az a lehetőségünk marad csak, hogy az órákat mind egész osztályos órákként exportáljuk, majd az aSc-ben állítjuk be a csoportbontásokat.
+
+
+
+
+
+===== Az órák - lessons =====
+
+Az aSc óra fogalma nagyjából a naplóban használt tankörnek felel meg, de nem teljesen fedi egymást a két fogalom. Az aSc-ben külön óraként kell felvenni egy tankör szimpla, dupla, tripla, stb órás változatait - mert másfajta leteendő kártya lesz belőlük - a naplóban ilyen megkülönböztetésre nincs szükség. Másrészt az együtt mozgatandó tanköröket is külön óraként kell megjeleníteni az aSc-ben - erre szolgálnak a naplóban a tankör blokkok, amiket szintén exportálhatunk.
+
+==== Az exportálandó blokkok és óraszámaik megadása ====
+
+A program felsorolja a már definiált blokkokat. Ha a blokkok listáján szeretnénk változtatni, akkor azt a [[naplo:tanev:tankorBlokk|Tanév adatok/Tankörblokkok]] menüpont alatt tehetjük meg (vigyázzunk a megfelelő tanév kiválasztására!).
+
+A blokkoknál megadhatjuk, hogy melyik blokk, heti hány órával kerüljön exportálásra - ezen óraszámokat természetesen az érintett tankörök óraszámából levonjuk majd. A blokk exportálandó óraszáma ennek értelmében nem lehet nagyobb a blokkot alkotó tankörök óraszámainak legkisebbikénél. Ha a blokk export-óraszáma 0, akkor a blokk nem kerül exportálásra.
+A blokk óraszámánál megengedünk tört értéket is. A tankör óraszámából ilyenkor a megadott tört értéket vonjuk le, exportálásra viszont mindig a felfele kerekített érték kerül.
+
+==== Órabontás megadása ====
+
+Ha az órarendben dupla, tripla, vagy esetleg más többszörös óraként szeretnénk megjeleníteni valamely tankör bizonyos óráit, akkor
+ * válasszuk ki az érintett tankört a legördülő menüből.
+ * írjuk be a bontást, az óraszámokat + jelekkel összefűzve.
+ * nyomjuk meg az ''Ok'' gombot.
+
+Ha például egy 5 órás nyelvi csoport óráit két dupla és egy szimpla óraként akarjuk felvenni, akkor a tankör kiválasztása után az ''Órabontás'' mezőbe írjuk a ''2+2+1'' sztringet (elég a 2+2-t beírni, a szimpla órákkal való kitöltést a program elvégzi). Ha ugyanebben az esetben ''3+2+2''-t adunk meg, akkor a program hibaüzenetet ad és nem rögzíti az órabontást.
+
+Többszörös órákat nem csak tankrök esetén adhatunk meg, kiválaszthatunk blokkokat is, teljesen hasonló módon.
+
+Ha egy órabontást meg akarunk változtatni, akkor vegyük fel újra úgy, mintha most vennénk fel először - ez felülírja a korábbi beállítást.
+
+Órabontást (illetve órabontásokat) törölni a ''Törlendő bontás'' cimkéjű listából való kiválasztással, majd az ''Ok'' gomb megnyomásával lehet. Több tankör/blokk kijelöléséhez használjuk a ''Ctrl'' és ''Shift'' módosító gombokat.
+
+
+===== Az órarend =====
+
+Lehetőség van az órarend átadására is. Ez különösen apróbb módosítások elvégzésekor jöhet jól.
+
+Korlátai:
+ * Csak egy hét órarendjét exportálhatjuk. Ha több hetes az órarend, akkor a hetekről külön-külön készítsünk exportot.
+ * Az órarend exportálásakor nincs lehetőség a dupla, tripla és más többszötös órák exportálására - ezek amúgy is akkor hasznosak inkább, ha épp új órarendet készítünk.
+ * Órarend exportáláskor az órák csak szemináriumként exportálhatók, tehát az tankörök diáknévsorokkal együtt lesznek exportálva
+
+Következmény:
+ * Ha a tankörnévsorok ütközéseket tartalmaznak (egy diáknak egyszerre, egy időben több órán kellene jelen lennie), akkor az aSc-ben az érintett kártyák nem lesznek lerakva. Ez persze tekinthető egyfajta ellenőrzésnek is.
+
+===== Egyéb lehetőségek =====
+
+Az exportálás előtt további három paramétert adhatunk meg.
+
+==== Szakköri órák exportálása ====
+
+Alapértelmezés szerint a program csak a azokat a tanköröket exportálja, melyeknek ''jelenlet'' attribútuma ''kötelező'' értékű. Ha ettől eltérve a ''nem kötelező'' jelenlét attribútumú tanköröket is exportálni akarjuk (ilyenek tipikusan a szakkörök), akkor válasszuk ki ezt alehetőséget.
+
+==== Exportálás blokkok nélkül ====
+
+Ha nem akarjuk elveszíteni és nullára állítani a tankörblokkok export óraszámát, de valamilyen okból blokkok nélkül szeretnénk exportálni az órarendet, akkor válasszuk ki ezt az opciót.
+
+==== Tárgyak típusokra bontása ====
+
+Ezzel az opcióval a naplóban szereplő tárgyak mellett ezek "variánsait" is exportálhatjuk.
+
+Ha van például ''8.a angol nyelv Cs1'' nevű, és ''8.a angol nyelv Pr1'' nevű tankörünk (melyek az ''angol nyelv'' tárgyhoz vannak tehát rendelve) és szeretnénk ezeket az aSc-ben is megkülönböztethető módon felvenni, akkor ezt az opciót kiválasztva az első az aSc-ben ''angol nyelv Cs1'', a második ''angol nyelv Pr1'' tárgyhoz (subject) lesz rendelve.
+
+Fontos ez azért is, mert az aSc-ben egy diák egy tárgyból csak egy szemináriumnak lehet tagja, így például az előbbi példa két tankörében hiába lenne közös tag, az aSc az egyik tagságot "lenyelné".
+
+Hátránya, hogy a tárgyakra vonatkozó megszorításokat minden altípusra is rögzíteni kell az aSc-ben.
+
+Előfordulhat, hogy ezt a felbontást csak bizonyos tankörökre adjuk meg. Ekkor elég az ''__ASC_BONTANDO_TARGYAK'' konstansban megadni a bontandó tárgyak azonosítóinak vesszővel tagolt listáját a ''/var/mayor/config/module-naplo/config-[intézmény].php'' állományban:
+
+define('_ _ASC_BONTANDO_TARGYAK','1,12');
+
+Ha csak az 1 és 12 ''targyId''-vel rendelkező tárgyakat bontsuk. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarend.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarend.txt
new file mode 100644
index 00000000..68f92b5c
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarend.txt
@@ -0,0 +1,3 @@
+====== Órarend ======
+
+Megjegyzés: Ha egy tanárhoz nincs egyetlen darab orarendiOraTankor összerendelt pár sem, akkor az órarendben redukált módon jelennek meg az órái. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarendbetolto.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarendbetolto.txt
new file mode 100644
index 00000000..12c4690b
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarendbetolto.txt
@@ -0,0 +1,31 @@
+====== Órarend betöltés ======
+
+Az órarend betöltésének lépései:
+
+ * Válasszuk ki az érintett tanévet (új tanév órarendjének betöltésekor könnyen lehet, hogy nem az aktuális tanév amire a betöltendő órarend vonatkozik)
+ * Válasszuk ki, hogy melyik órarendi hét órarendjét töltjük be (nincs lehetőség többhetes órarend betöltésére, csak hetenként külön!). Kiválaszthatunk fiktív órarendi hetet is - az ezekhez rendelt órarendeket speciális tanítási napokon használhatjuk.
+ * Válasszuk ki az órarend érvényességének dátum határait (legtágabb intervallum: első tanítási naptól az utolsó tanítási napig)
+ * Adjuk meg a betöltendő file elérési útját (előzetesen fel kell másolni a szerverre)
+ * Válasszuk ki a betöltendő állománynak megfelelő import modult. Az import lehetőségek:
+ * Microsoft Excel XML
+ * [[aSc Timetables XML]]
+ * [[aSc Timetables XML (tankörök nélkül)]]
+ * csv
+ * default
+
+Ha mindent beállítottunk, akkor megnyomhatjuk az ''OK'' gombot. Ha valamit kifelejtettünk, akkor a program hibaüzenetet küld.
+
+A betöltés közben keletkezhetnek egyéb hibaüzenetek, de ezek az import modultól függőek - a modulok leírásában tájékozódhatunk felőlük (ha an leírásuk egyáltalán). Ha a betöltés sikeres volt, erről informál minket a rendszer. Ha nem volt sikeres, de lehetőség van az adatok részleges betöltésére, akkor a rendszer kirak egy ''kényszerítve'' opciót. Mielőtt ezt a lehetőséget használjuk alaposan olvassuk el az import modul hibaüzeneteit, illetve leírását!
+
+===== Az adatok betöltésének folyamata =====
+
+Ha az adatok betöltésének nincs akadálya, akkor az a következő lépések során valósul meg:
+
+ * A korábbi orarendi bejegyzések törlése:
+ * A megadott időintervallumba eső, adott órarendi héthez tartozó bejegyzéseket töröljük.
+ * A megadott időintervallumot lefedő, adott órarendi héthez tartozó bejegyzések hatályát érvénytelenítjük a megadott intervallumon (tehát a megelőző és az azt követő időszakokra korlátozzuk).
+ * A megadott időintervallumba belenyúló, adott órarendi héthez tartozó bejegyzések hatályát szintén szűkítjük, hogy az megadott intervallumon érvényüket veszítsék.
+ * Az új órarendi bejegyzések felvétele, a megadott dátumhatárokkal és órarendi héttel.
+ * A hiányzó 'órarendi óra - tankör' hozzárendelések felvétel - ha ezekről van információ az adott import formátumban.
+
+Sikeres betöltés után - import modultól, import formátumtól függően - szükség lehet még az órarendi órák tankörökhöz rendelésére is. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarendtankor.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarendtankor.txt
new file mode 100644
index 00000000..6e2df6bb
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarendtankor.txt
@@ -0,0 +1,9 @@
+====== Órarendi óra - tankör összerendelés ======
+
+Az [[hogyan:orarend|órarend]] alapvetően két táblából áll. Az ''orarendiOra'' tartalmazza az órarendi bejegyzéseket, az ''orarendiOraTankor'' pedig ezekhez a bejegyzésekhez rendel hozzá egy-egy tankört.
+
+Ezt a hozzárendelést végezhetjük el ezen az oldalon.
+
+Ehhez először válasszunk ki egy dátumot - hogy az órarendnek melyik változatát akarjuk épp megjeleníteni (érvényesség, illetve többhetes órarend, A-hét, B-hét, stb)
+
+Ezután válasszunk tanárt. Ha minden jól megy, akkor megjelenik a tanár adott dátum szerinti órarendje, az egyes bejegyzésekben a választható tankörök egy-egy legördülő menüben jelennek meg. A hozzárendeléskor a (''tanarId'', ''osztalyJel'', ''targyJel'') hármas lesz a kulcs, ami meghatároz egy tankört. Tehát olyan bejegyzésekhez, melyekben ez a három paraméter megegyezik nem lehet különböző tankört rendelni. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarendteremmodositas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarendteremmodositas.txt
new file mode 100644
index 00000000..eb443026
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/orarendteremmodositas.txt
@@ -0,0 +1,9 @@
+====== Teremmódosítás ======
+
+Ebben a menüpontban az órarendi órák terembeosztását tudjuk változtatni, méghozzá az __órarendbelit__ (vagyis az //orarendiOra// táblát). A változtatások **nem vonatkoznak** a Haladási napló óráira (vagyis az //ora// táblára).
+
+A tanév és a referenciadátum kiválasztása után a teremmódosítást tanárok szerint végezhetjük el. Válasszuk ki a tanárt, a hetet, a napot, az órát és megjelenik az aktuális órához rendelt terem.
+
+A teremlistában értelemszerűen a zölddel jelölt termek az üresek, a pirosak foglaltak.
+
+Amennyiben egy másik tanár, másik csoport által foglalt termet választunk, a változás létrejön és a mezők automatikusan a "kitúrt" tanár órájára állnak, hogy el ne felejtsünk az elfoglalt terme helyett másikat adni szegénynek... :-) \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/tanarorarend.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/tanarorarend.txt
new file mode 100644
index 00000000..9a5af868
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/tanarorarend.txt
@@ -0,0 +1,10 @@
+====== Összesített tanári órarend ======
+
+A már működő, teljesen feltöltött naplóból különböző célokra kinyerhető az összesített tanári órarend (hetenkénti) óriás lepedője.
+Négyféle formátumú exportra van lehetőség:
+ * csv
+ * xls
+ * txt
+ * html
+A tantárgyak neve mögötti számok, jelölések a tankör (//tankorId//) és a terem azonosítóját (//teremId//) jelölik!
+Az export fájlok tovább szerkeszthetők, importálhatók esetleg nyomtathatók (pl. teremajtókra, tanári szobába, stb.). \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/vegzosorarendlezaras.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/vegzosorarendlezaras.txt
new file mode 100644
index 00000000..3b577fb1
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/orarend/vegzosorarendlezaras.txt
@@ -0,0 +1,15 @@
+====== Végzős osztályok órarendjének lezárása ======
+
+Ha egyes végzős osztályok tanulmányi időszaka rövidebb, mint a többi osztályé, tehát nem tart a tanév végéig (pl. a tavaszi érettségi időszak miatt), akkor ezen az oldalon törölhetjük az ő óráikat egy adott dátumtól kezdeve az órarendből - ennek hatására a program nem tölti be a haladási naplóba ezeket az órákat.
+
+===== Hogy csináljam? =====
+
+ * Válasszuk ki azt a dátumot, amitől kezdve már nem kell betölteni a végzősök óráit. Tehát a kiválasztott nap az első olyan nap, amikor nem lesznek betöltve az órák.
+ * Jelöljük meg a lezárni kívánt osztályokat (csak a végzős osztályok közül választhatunk).
+ * Nyomjuk meg az OK gombot.
+
+===== Mi történik ekkor? =====
+
+A program alapvetően két dolgot csinál:
+ - Módosítja az órarendet, hogy a megjelölt osztályokat - és csak azokat - érintő órák az adott dátum után már ne legyenek az órarendben. Azok az órák, amik nem csak a megjelölt osztályokhoz vannak rendelve nem lesznek törölve. Ha pl. megjelöltük a 12.a és 12.b osztályt, akkor a 12.a, 12.b és 12.ab kezdetű tankörök törlődnek, de pl. a 12.ac, 12.abd vagy 11-12 kezdetűek nem.
+ - Azokból a tankörökből, melyekben az érintett osztályoknak vannak tagjai, de nem lettek törölve az órarendből, törli a program az érintett osztályok tagjait - a megadott dátumtól.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo.txt
new file mode 100644
index 00000000..8b3ee90f
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo.txt
@@ -0,0 +1,3 @@
+====== Osztályozónapló ======
+
+A tanulók osztályzatainak megtekintése, kezelése. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/diak.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/diak.txt
new file mode 100644
index 00000000..e3656374
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/diak.txt
@@ -0,0 +1,11 @@
+====== Diák osztályzatai ======
+
+===== Diák kiválasztása =====
+
+A tanuló kiválasztásához használjuk az eszközsort! Válasszunk először osztályt, majd az osztály tagjai közül egy tanulót!
+
+===== Diák jegyeinek áttekintése =====
+
+A megjelenő táblázatban a tanuló egyes tárgyakból (nem tankörökből!!) szerzett osztályzatait láthatjuk. Egy jegyre állva leolvashatjuk, hogy melyik tankörben és mikor született, illetve a jegyre kattintva megnézhetjük annak egyéb adatait is ([[jegy|Jegy módosítása]]).
+
+A diák által meg nem írt dolgozatokat egy kötőjel jelzi a jegy helyén, erre állva láthatjuk melyik dolgozatról van szó, és mikor jelentették be az érintett dolgozatot. További részleteket tudhatunk meg, ha rá is kattintunk a kötőjelre [[dolgozat|--> dolgozat adatai]] \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/dolgozat.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/dolgozat.txt
new file mode 100644
index 00000000..376cbb9a
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/dolgozat.txt
@@ -0,0 +1,41 @@
+====== Dolgozatok kezelése ======
+
+===== Dolgozat kiválasztása =====
+
+Az eszközsor segítségével válasszuk ki azt a tanárt, vagy osztályt, esetleg diákot, akinek a dolgozatai közül szeretnénk választani. A megjelenő listát tovább szűkíthetjük egy tankör kiválasztáaával.
+
+A listában felsorolt dolgozatok közül válasszuk ki, amelyik részleteire kíváncsiak vagyunk. Ezt a dolgozat nevére való kattintással tehetjük meg.
+
+
+===== Dolgozat adatainak megtekintése =====
+
+A kiválasztott dolgozat adatai a következők:
+ * Megnevezés
+ * Bejelentés dátuma
+ * A számonkérés tervezett dátuma
+ * A dolgozathoz rendelt tankörök
+ * A dolgozathoz tartozó jegyek - tankörönként
+
+A jegyekre állva leolvashatjuk azok naplóbakerülésének dátumát és az esetleges hozzáfűzött megjegyzéseket is. A jegyre kattintva megtekinthetjük a jegy további adatait ([[jegy|Jegy módosítása]]).
+
+===== Dolgozat adatainak módosítása =====
+
+Egy dolgozat adatait aktív tanév esetén az adminisztrátor módosíthatja, illetve az épp folyó tanévben a dolgozat tanköreinek tanárai.
+
+==== Egyszerű adatok módosítása ====
+
+Az első űrlapon a dolgozat alapadatai láthatóak. Ezek közül a dolgozat megnevezését és tervezett időpontját változtathatjuk meg.
+
+==== Tankörhozzárendelés módosítása ====
+
+A második űrlapon láthatjuk a dolgozathoz rendelt tankörök listáját, pontosabban a dolgozat tantárgyához tartozó tankörök listáját, köztük kijelölve a már hozzárendelteket.
+
+A kijelölt tankörök listáját bővíteni a Ctrl gomb nyomvatartása mellett lehet az egér kattintásával. Ha a Ctrl gombot nem tartjuk nyomva, akkor a korábbi kijelölés eltűnik és csak a kiválasztott tankör lesz megjelölve. A kijelöltek listáját szűkíteni hasonló módon, szintén a Ctrl gomb nyomvatartása mellett lehet.
+
+A tankormódosításnál fontos, hogy
+ * legalább egy tankört meg kell jelölnünk
+ * olyan tankört nem törölhetünk a listából, amelyikhez tartoznak jegyek - a dolgozat jegyei közül.
+
+==== Jegyek törlése (tervezett funkció) ====
+
+Jegyek törlésére pillanatnyilag csak egyesével van lehetőség, de a későbbiekben itt is lesz rá mód. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/jegy.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/jegy.txt
new file mode 100644
index 00000000..97add1e6
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/jegy.txt
@@ -0,0 +1,29 @@
+====== Jegy módosítása ======
+
+Ezen a lapon tekinthetjük egy-egy osztályzat részletes adatait:
+ * ki kapta a jegyet
+ * melyik tankörben
+ * milyen osztályzatot kapott
+ * milyen típusú számonkérésen
+ * mikor
+ * milyen megjegyzést fűztek a jegyhez
+ * melyik órához lett hozzárendelve a számonkérés
+ * mely dolgozathoz tartozik a jegy - amennyiben csoportos jegyről van szó
+
+
+
+
+===== Jegy és adatainak módosítása =====
+
+Jegyet módosíthat az adminisztrátor, ha a tanév nincs lezárve, illetve a jegy tanköréhez tartozó szaktanár - az épp folyó tanév során.
+
+Amennyiben van jogosultságunk a jegy módosítására (adminisztrátorok, vagy az adott tankör tanárai vagyunk), akkor az adatokat megváltoztathatjuk. A módosítások után a "Rögzít" gomb megnyomásával véglegesíthetjük a módosításokat.
+
+A diák nevére kattintva megnézhetjük az ő osztályzatainak összesítését ([[diak|Diák osztályzatai]]).
+
+Csoportos jegy esetén a "dolgozat" feliratva kattintva eljuthatunk a dolgozat adatainak kezeléséhez ([[naplo:osztalyozo:dolgozat|Dolgozatok kezelése]]).
+
+
+===== Jegy törlése =====
+
+Jegyet törölni a "Töröl" gomb megnyomásával, vagy a jegy típusának "törölt"-re állításával lehet.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/szempontrendszer.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/szempontrendszer.txt
new file mode 100644
index 00000000..2b024747
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/szempontrendszer.txt
@@ -0,0 +1,32 @@
+====== Szöveges értékelés szempontrendszerének megadása ======
+
+A [[szovegesErtekeles#szöveges értékelés]]hez először el kell készítenünk egy szempontrendszert. Egy szempontrendszer értékelési szempontokat és ezekhez tartozó, előre definiált minősítéseket tartalmaz. Például egy szempont lehet magyar irodalom tárgyból: "Hangos olvasás", a hozzá tartozó minősítések pedig: "jól hangsúlyozott", "folyamatos", "akadozó", "szótagoló"... A minősítéseknek nem kell egymást kizáróknak lenniük.
+
+===== A szempontrendszer tágyának megadása =====
+
+Először azt kell meghatározzuk, hogy mire vonatkozik a szempontrendszer. Végeredményben a szöveges értékelés mindig egy diák adott tárgyban nyújtott teljesítményére vonatkozik majd, de a szempontrendszer lehet ennél általánosabb.
+
+Három dolog határozza meg, hogy mikor, milyen tárgyak/diákok esetén alkalmazzuk az adott szempontrendszert (és tervezünk egy negyediket):
+
+ * Az évfolyam - ez kötelező paraméter. Ha más paraméter nincs megadva, akkor az évfolyam összes tárgyára alkalmazható a szempontrendszer.
+ * A tárgy - nem kötelező, de ezzel szűkíthetjük, hogy csak az adott évfolyam ezen tárgyára legyen alkalmazható a szempontrendszer.
+ * A képzés - (fejlesztés alatt) nem kötelező, de tovább szükíthetjük az érintett tárgyak körét, hogy csak az adott képzési formában tanuló diákok értékelésénél lehessen használni a szempontrendszert
+ * Tárgy típus - (tervezett) nem lesz kötelező, a tárgyhoz hasonlóan működik majd, de annál kicsit általánosabb, lehet pl: nyelv, szakmai gyakorlat...
+
+Amikor egy diákot adott tárgyból értékelünk, akkor a rendszer megpróbálja kiválasztani a "legspecifikusabb" szempontrendszert, tehát azt, ami a legtöbb szempontból illeszkedik a diákra. Az egyezést évfolyam, tárgy (majd tárgy típus), képzés sorrendben vizsgálja. Ha van olyan, ami mindhárom szempontból stimmel, akkor azt választja, ha nincs, akkor először az évfolyam/tárgy párnak megfelelőt keres, ha ilyet sem talál, akkor az évfolyam/képzés párt vizsgálja, végül ha egyik sincs, akkor olyan szempontrendszert keres, ami az adott évfolyamra vonatkozik csak.
+
+===== A szempontok és minősítések megadása =====
+
+A szempontok és minősítések egy egyszerű szöveges formában adhatók meg:
+
+ Szempont1
+ Minoősítés1/1
+ Minoősítés1/2
+ Minoősítés1/3
+
+ Szempont2
+ Minoősítés2/1
+ Minoősítés2/2
+ ...
+
+A szempontok között üres sor kell legyen, egy-egy szemponthoz tartozó minősítések pedig sor kihagyás nélkül, külön-külön sorba kerülnek.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/szovegesertekeles.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/szovegesertekeles.txt
new file mode 100644
index 00000000..fdfa816e
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/szovegesertekeles.txt
@@ -0,0 +1,11 @@
+====== Szöveges értékelés ======
+
+A tanulókat [[szempontRendszer#előre rögzített szempontrendszer]] alapján tárgyanként értékelhetjük.
+
+Értékeléshez az adott tárgyat tanító tanároknak, valamint az adminisztrátornak van joga. Az értékelés mindig az aktuális dátummal kerül rögzítésre. Ha egy nap folyamán többször értékelünk egy tanulót ugyanabból a tárgyból, akkor a korábbi (adott napi) értékelés elvész. Másképp fogalmazva egy tanuló egy tárgyból napi rendszerességgel értékelhető, sűrűbben nem.
+
+Az oldalon diákokat és tanköröket választunk ki, de az értékelés - ahogy az osztályzatok esetén - tárgyra vonatkozik. Azaz, ha egy diák egy tárgyat két tankörben is tanul, akkor e két tankörhöz ugyanaz az értékelés tartozik, így mindkét tankör tanára változtathatja azt.
+
+Ha egy diák több évfolyamra/képzésre is jár, akkor előfordulhat, hogy ki kell választanunk az értékelendő évfolyamot, illetve képzést is.
+
+Ha kiválasztunk egy dátumot, akkor a program a kiválasztott dátum napján, vagy korábban keletkezett értékelések között keresi meg a legkésőbbi keltezésűt és annak tartalmát mutatja meg (ha van ilyen). Ha van jogosultságunk az értékeléshez, akkor egy ilyen korábbi értékelésből kiindulva készíthetjük el az új értékelést. Ilyenkor tehát nem a korábbi értékelést módosítjuk - erre nincs lehetőség - hanem a korábbi értékelés módosításával készítjük el a mai nap értékelését.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/tankor.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/tankor.txt
new file mode 100644
index 00000000..19c1dd6a
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/tankor.txt
@@ -0,0 +1,47 @@
+====== Osztályozónapló - tankör nézet ======
+
+Az osztályozónaplónak ezt a nézetét a tanárok használják, hiszen itt egy-egy tankör összes osztályzatát áttekinthetjük.
+
+==== Tankör kiválasztása ====
+
+Első lépésként a megfelelő tankört kell kiválasztanunk. Ezt két úton tehetjük meg: vagy egy tanárt választunk ki először az [[naplo:toolbar|eszközsoron]], vagy egy osztályt. Az első esetben a tanár tankörei, a második esetben az osztály tankörei jelennek meg új elemként az eszköztár alatt. Az osztály tanköreinek körét tovább szűkíthatjük, ha egy tanulót az osztály egy tagját választjuk ki.
+
+
+
+==== Osztályzatok megjelenítése ====
+
+Az oldal valójában nem a tankör jegyeit, hanem a tankör tanulóinak a tankör tárgyához tartozó jegyeit jeleníti meg.
+A diákok közt a tankör összes tanulóját felsorolja a rendszer, függetlenül attól, hogy az adott tanuló osztályozható-e az adott tankörben.
+
+A más tankörhöz tartozó jegyeket, illetve dolgozatokat barnás színezetű háttérszínük különbözteti meg a tankörhöz tartozó jegyektől.
+
+Fontos, hogy a tankör tagjait, illetve az érintett tanköröket és azok tanárait a program a megadott időintervallum alapján kérdezi le, így ezek az adatok a dátumok függvényében változhatnak.
+
+A megjelenített jegyre állítva a kurzort láthatjuk, hogy az adott jegy mikor, melyik tankörben született, valamint láthatjuk az adott tankörhöz tartozó tanárok listáját is.
+
+A jegy típusára a színe utal.
+
+A jegyen kattintva a jegy adatainak részleteit láthatjuk, illetve megfelelő jogosultsággal módosíthatjuk is.
+
+
+
+==== Osztályzatok beírása ====
+
+Év közben jegyet azok a tanulók kapnak, akik tankörbeli követelménye "jegy" (lásd [[naplo:intezmeny:tankorDiak|Tankör tagok kezelése]]).
+
+Az osztályzatok két típusba sorolhatók:
+ * Egyéni jegy (kis és normál jegy típus): egy-egy személy számára adható, nincs összefüggésben más jegyekkel. Ilyen lehet például egy felelet.
+ * Csoportos jegy (dolgozat, témazáró, vizsgajegy): a tankör összes tanulóját érintő számonkérések. Az így adott osztályzatok összetartoznak, számítható belőlük átlag.
+
+A jegyek beírásánál első lépésként válasszuk ki tanulónként a kívánt jegyet. Ezután, ha akarjuk megjelölhetjük, hogy az óra melyik tanítási órához kötődik (mikor történt a számonkérés). Csoportos jegy beírása esetén ki kell választanunk az értékelendő számonkérést, dolgozatot a jobb alsó sarokban. A dolgozatokat felvehetjük előre, vagy választhatjuk itt is az "új dolgozat" lehetőséget. Ilyen esetben javasolt a jegyek beírása után a dolgozat adatainak, elnevezésének megváltoztatása ([[dolgozat|dolgozatok módosítása]]).
+
+Az adatok módosítása után a kívánt jegytípusnak megfelelő gomb megnyomásával rögzíthetjük a jegyeket.
+
+A rögzített jegyek módosítása, törlése egyessével történhet, az adott jegyre való kattintás után ([[jegy|Jegy módosítása]]).
+
+
+==== Zárójegyek beírása ====
+
+Zárójegyet az a tanuló kaphat kinek tankör beli követelménye "jegy", vagy "vizsga" (lásd [[naplo:intezmeny:tankorDiak|Tankör tagok kezelése]]).
+
+Az osztályozó naplóban írhatjuk be a szemesztereket (féléveket) lezáró jegyeket is. Az adminisztrátor bármely zárójegyet módosíthatja, ha nincs lezárva a tanév. A szaktanárok mindig az épp aktuális, épp folyó szemeszterek lezárására jogosultak, persze a beírt jegy a szemeszter végéig szabadon módosítható. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/vizsga.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/vizsga.txt
new file mode 100644
index 00000000..c7c7939b
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/osztalyozo/vizsga.txt
@@ -0,0 +1,33 @@
+====== Vizsgák kezelése ======
+
+Az oldal arra szolgál, hogy listázzuk, illetve kezeljük a különböző (záró) vizsgákat: osztályozó vizsgák, különbözeti vizsgák, javítóvizsgák, illetve beszámoltató vizsgák.
+
+===== Vizsgák listázása =====
+
+Ha az eszköztáron kiválasztunk egy diákot, vagy tárgyat, esetleg évfolyamot, akkor az ezekhez tartozó vizsgák listája jelenik meg.
+
+===== Vizsgajelentkezés =====
+
+Új vizsgát bejegyezni akkor lehet, ha kiválasztjuk az érintett diákot, a vizsga tárgyát és évfolyamát.
+
+A fentiek kiválasztása után megjelenő ''Vizsgajelentkezés'' űrlapban megadhatjuk a jelentkezés dátumát és kiválaszthatjuk a vizsga típusát (osztályozó vizsga, különbözeti vizsga, javítóvizsga, vagy beszámoltató vizsga). Végül az ''OK'' gomb megnyomásával vehetjük fel a vizsgát a listába.
+
+===== Vizsgaidőpont megadása =====
+
+Vizsgajelentkezés után a vizsgalistában megjelenő vizsga időpontját a lista ''vizsga'' oszlopában adhatjuk meg. A módosítást ezúttal is jóvá kell hagyni. Egyszerre több vizsga időpontját is megadhatjuk...
+
+===== Vizsga halasztása =====
+
+A vizsga halasztására akkor kerülhet sor, ha már ki van jelölve a vizsga, de még nem értékeltük. Ha a vizsga kijelölt időpontja még nem érezett el, akkor ez az alapértelmezett funkció, a vizsga időpontjától kezdve viszont az értékelésre van alaphelyzetben lehetőségünk, a halasztott vizsgaidőpont megadásához a jobb oldalon megjelenő ''halasztás'' feliratú gombra kattintva juthatunk el.
+
+Ha a halasztott vizsga időpontját megadtuk, akkor a rendszer megfelelő záradékkal látja el a vizsgát, majd felveszi az új időpontra kiírt vizsgát.
+
+===== Vizsga értékelése =====
+
+Vizsgát értékelni (jegyet adni) csak akkor lehet, ha már megadtuk a vizsga időpontját és a vizsga még nem lett se elhalasztva, se értékelve.
+
+Ha a vizsga időpontja már elmúlt, akkor vizsga értékelésre van alapértelmezetten lehetőségünk, egyéb esetben a jobb szélen megjelenő ''értékelés'' feliratú gombra kattintva juthatunk a megfelelő űrlapelemekhez.
+
+A vizsga értékeléshez meg kell adnunk a követelmény típusát (jegy, aláírás, stb) és a konkrét értékelést. Amennyiben nem választunk követelmény típust, úgy az összes értékelési forma lehetséges értéke megjelenik a legördülő listában. A módosításokat itt is jóvá kell hagyni az ''OK'' gomb megnyomásával.
+
+Több módosítás (vizsgaidőpont megadás, halasztás, értékelés) együtt is jóváhagyható, nem kell külön-külön végezni a módosításokat. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/small_faces.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/small_faces.txt
new file mode 100644
index 00000000..afaee412
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/small_faces.txt
@@ -0,0 +1,104 @@
+====== Arcok a naplóban ======
+
+Nem, linkjével ellentétben ez nem a **Small Faces** zenekar oldala, azt [[http://en.wikipedia.org/wiki/Small_Faces|itt]] találod! :-)
+
+===== Első feltöltés =====
+
+A napló egyik extra szolgáltatása, hogy a diákok neve mellé a **fényképük** is belekerülhet. Ezt a diákok úgy értelmezik, hogy immár biztos, miszerint a tanárok pofára fognak osztályozni, de jobban átgondolva beláthatjuk, hogy rendkívüli segítség a pedagógusok számára, hogy az új diákok arcát-nevét gyorsabban megtanulják, a helyettesítő Kolléga hamarabb azonosíthatja a tankör tagjait, illetve a titkárság, a rendszergazda munkája során könnyebben tudja, melyik diákról is van az adott esetben szó.
+
+Első lépésként meg kell szereznünk a diákok fényképeit. Lehet egy lelkes diákkal végigfotóztatni - célszerűen osztályonként, vagy valamilyen iskolai központi nyilvántartásból kiszedni, esetleg jobb minőségű osztályfényképről szkennelgetni...
+
+Lényeg, hogy **négyzetes arányú** képre van szükség. A naplóban kicsi képek jelennek meg, és a gyors oldalbetöltés végett okos dolog kisméretű, de még felismerhető képekkel dolgozni (az alapértelmezett 100x100 px-es képek, kb. 4-5 kB-osak).
+
+Egy roppant jó működő, wine-vel is tökéletesen működő program: [[http://www.oldapps.com/old_version_XnView.php|XnView 1.50]] (az újabb verziók kevésbé hatékony méretcsökkentéssel dolgoznak...) :-o
+
+A képek lehetnek **jpg, png, gif** formátumúak.
+
+A napló config-jában (///var/mayor/config/module-naplo/config.php//) állítsuk be, hogy a képek látszódjanak:
+
+ define('__SHOW_FACES', 'always');
+
+A napló main-conf.php állományában lehet a megjelenő képek kinézetét beállítani:
+
+ define('__SHOW_FACES_TYPE','classic'); // circle, square, classic
+
+A kész képeket töltsük fel valamilyen módszerrel a naplóba:
+
+==== Feltöltés a felületen ====
+
+A diák adatlapján - kitallózva a fényképet - egyesével feltölthetőek. A képet a napló a megfelelő könyvtárba teszi, és átnevezi a diák naplóbeli diakId-jére.
+
+==== Scp, ssh, putty és WinScp használata ===
+
+A képeket a diák naplóbeli //diakId//-jére (//intezmeny_[iskolarovidneve]// adatbázis //diak// tábla) kell nevezni (pl. //574.png//)
+A fenti programok, parancsok segítségével töltsük fel a képeket a ///var/mayor/download/private/naplo/face/[adotttanev]// könyvtárába (pl. ///var/mayor/download/private/naplo/face/2010//), a könyvtár(ak)nak adjunk **755**, a fényképeknek **644** jogosultságot, valamint tulajdonosnak állítsuk be a **www-data** user-t!
+
+ # chown www-data /var/mayor/download/private/naplo/face/2010/
+ # chmod 755 /var/mayor/download/private/naplo/face/2010/
+ # chown www-data /var/mayor/download/private/naplo/face/2010/*
+ # chmod 644 /var/mayor/download/private/naplo/face/2010/*
+
+A képek az __Osztályzónaplóban__, az __Üzenőben__, és a diák __adatlapján__ jelennek meg.
+
+=====Tanári fényképek=====
+
+A tanárok fényképeit - szintén az Id-jük (tanarId) szerint - a ///var/mayor/download/private/naplo/face/tanar/// könyvtárba töltsük fel, a fenti könyvtár- és fájljogosultságokkal.
+
+A tanárok fényképe az __Üzenőben__ jelenik meg.
+
+=====Fényképek a szülői oldalakon====
+
+Alapértelmezés szerint a szülői oldalakon nem jelennek meg a fényképek. A Szülő csak a saját gyereke(i) dolgaiban érdekelt - az ő arcukat meg úgyis ismeri =), de pl. az __Üzenőben__ csökkenti a technika adta személytelenséget, ha a tanárokkal (esetleg hébe-hóba a diákokkal) történő üzenetváltás során fényképet is lát a Szülő.
+
+A ///var/mayor/download/parent/naplo// könyvtár alatt hozzuk létre hasonlóan //...private// részhez a //face//, //tanar// és a tanévek könyvtárait!
+
+Ellenőrizzük, hogy megvan-e a **www-data** tulajdonos és a **755** jog!
+
+Hozzunk létre //symlink//eket az eredeti fényképekhez!
+
+ ln -s /var/mayor/download/private/naplo/face/tanar/* /var/mayor/download/parent/naplo/face/tanar/
+
+Ezzel megjelennek a tanári fényképek a szülői oldalakon.
+
+ ln -s /var/mayor/download/private/naplo/face/2011/* /var/mayor/download/parent/naplo/face/2011/
+
+Ezzel a 2011-es (2011/2012) tanév diákjainak fényképe jeleni meg a szülői oldalakon.
+----
+**FIGYELEM!** Ha új diák- vagy tanárkép kerül a naplóba (évközbeni belépéskor), az adott képe(ek)re a //sylink//(ek)et létre kell hozni!
+
+===== A képek átvitele az új tanévre =====
+
+Először a ///var/mayor/download/private/naplo/face/// könyvtár alatt hozzuk létre az új tanévnek megfelelő könyvtárat, pl. a //2011//-est:
+
+ # mkdir /var/mayor/download/private/naplo/face/2011
+
+Ellenőrizzük:
+
+ # ls -l /var/mayor/download/private/naplo/face/
+
+Másoljuk át a tavalyi összes képet! (Ez a lépés badarságnak tűnik, hiszen a tavaly végzettek képére már nincs is szükség, de egyszerűbb az új könyvtárból törölgetni, mint a régiből válogatva másolni. Persze, ha valakinek ez a szimpatikus... :-) )
+
+Természetesen megtehetjük, hogy nem töröljük a tavaly végzettek képeit, így minden évben (5 kB-os képekkel számolva) osztályonként cca. 150-200 kB-tal növekszik a könyvtár mérete. Hosszú távon azonban érdemes rendbe tenni a fájlokat...
+
+ # cp /var/mayor/download/private/naplo/face/2010/* var/mayor/download/private/naplo/face/2011/
+
+Ellenőrizzük a tulajdonost és a jogokat!
+
+ # ls -l /var/mayor/download/private/naplo/face/2011
+
+Ilyesmit kell látni:
+
+ rw-r--r-- 1 www-data mayor 3963 2010 okt 12 100.jpg
+
+Ha nem passzol, javítsuk (lásd fentebb)!
+
+A távozott diákok fényképeinek a szűrését többféleképp is el tudjuk végezni, ehhez mindenképp némi kézimunkára van szükség.
+Gyűjtsük ki az adatbázisból, vagy a felületen a diákexportból a még hozzánk járó diákokat:
+
+ mysql> SELECT diakId, viseltCsaladinev, viseltUtonev FROM diak WHERE jogviszonyVege IS NULL;
+
+A kapott listát és ///var/mayor/download/private/naplo/face/2011// tartalmát másoljuk egy táblázatkezelőbe, sorberendezés (és némi kozmetikázás után) pl. feltételes formázással jelöljük azokat a diakId-ket (sorokat) ahol nem egyezik a két érték (a fénykép-fájl neve és a diákId). Így viszonylag egyszerűen szűrhetjük a már nem hozzánk járó, illetve a fényképpel még nem rendelkező diákokat.
+
+===== Mentés =====
+
+Mivel a **MaYoR** "gyári" automata mentőszkriptje nem végzi a fényképek mentését, ezt feltétlen érdemes kézzel megtenni - legalább a tanév elején, a bejövő diákok fotóinak elkészülte után!
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/fogadoora.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/fogadoora.txt
new file mode 100644
index 00000000..a08c94d8
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/fogadoora.txt
@@ -0,0 +1,22 @@
+====== Fogadóórák kezelése ======
+
+Az oldal fő funkciója, hogy a szülők számára lehetőséget adjon a fogadóórákra való előzetes jelentkezésre.
+
+===== Előzetes adminisztrátori teendők =====
+
+Először az include/modules/naplo/config-{iskola rövid neve}.php állományban kell beállítani, hogy egy fogadóóra látogatás tervezett hossza hány perc (_VIZITHOSSZ). A megadott érték 60 valamely pozitív osztója kell legyen, ajánlott érték 10-15 perc.
+
+Az adminisztátor vagy egy vezetőségi tag állíthatja be ezek után a következő fogadóóra tervezett időpontját (mettől-meddig).
+
+Ezen az oldalon egy áttekintő táblázat is megjelenik az egyes tanárok fogadoóráinak időpontjairól, valamint a kijelölt termekről. A tanárok nevére kattintva egy-egy tanár adatainak részleteit is megtekinthetjük. Az így elért oldalon, ha egy tanár a megadottól eltérő időpontban tudja csak megtartani a fogadoóráját, akkor lehetőség van az időpont egyedi megváltoztatására, illetve megadhatjuk tanáronként a fogadóóra helyszínét is.
+Időpontként akár múltbéli időpontot is megadhatunk - ezzel lényegében töröljük az adott tanár fogadóóráját.
+
+Fontos adminisztrátori teendő még a "Fogadóóra jelentkezés" időszak létrehozása a Napló/Admin/Szemeszterek menüpontban. Ez az az időszak, amikor a szülőknek lehetőségük van az időpontfoglalásra. Az időszak végének meghatározását jól fontoljuk meg, mivel az időszak lejárta után a szülő nem tudja megnézni, hogy kihez mikorra jelentkezett!
+
+===== Szülői jelentkezés fogadóórára =====
+
+Szülőként bejelentkezve egy egyszerű táblázatot látunk, melyben rádiógombok segítségével jelölhetjük meg, hogy melyik időpontban melyik tanárhoz szeretnénk menni. A program az esetleges ütközéseket ellenőrzi.
+
+===== Tanár nézet =====
+
+A jelentkezésekről a tanárok is képet kaphatnak saját oldalukon. Itt a már betöltött és a még szabad helyek listáját láthatjuk, már rögzített jelentkezés esetén a szülő és gyermeke/gyermekei nevével. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/munkaterv.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/munkaterv.txt
new file mode 100644
index 00000000..beeb7006
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/munkaterv.txt
@@ -0,0 +1,92 @@
+
+====== Éves munkaterv ======
+
+Az éves munkaterv határozza meg, hogy a tanév szorgalmi időszakában (ld. [[naplo:admin:tanevek|Admin/Tanévek]]) mely napok lesznek tanítási napok,
+tanítási szünetek, tanítás nélküli munkanapok, illetve speciális tanítási napok.
+
+===== Nap típusok =====
+
+==== Tanítási nap ====
+
+A tanátási nap számozott nap, melyen az tanítás alapvetően a betöltött órarend szerint zajlik. A tanítási nap fontos jellemzője, hogy melyik heti
+órarend szerint folyik aznap a tanítás - ha többhetes órarendet használunk. A program az órarendi heteket számozva jelöli, így ha egy intézményben
+kéthetes órarend szerint zajlik a munka, azaz van egy "A" és egy "B" hét, akkor az a programban "1. órarendi hét", illetve "2. órarendi hét" néven
+fog szerepelni.
+
+==== Speciális tanítási nap ====
+
+A speciális tanítási nap számozott nap, melyben a tanítás nem az órarend szerint zajlik, hanem valamilyen egyedi rend szerint. Ilyen egyedi tanítási rendet összeállíthatunk [[naplo:haladasi:pluszora|plusz óra]] felvétellel, vagy a [[naplo:haladasi:specialis|Haladási napló/Speciális nap]] menüpont alatt. Ilyen napokon az órarendi hét paraméternek nincs szerepe, ezért az automatikusan 0 értékre változik.
+
+==== Tanítás nélküli munkanap ====
+
+Minden tanévben az iskolák jogszabályban rögzített számú tanítás nélküli munkanapot szervezhetnek. Ilyen lehet egy konferenciákra szánt nap,
+egy egésznapos nevelési értekezlet, vagy továbbképzés, középiskolákban egyes érettségi napok, stb. Ezeken a napokon tehát nincs tanítás, így
+az órarendi hét paraméternek sincs szerepe (automatikusan 0 értéket vesz fel), a nap viszont beleszámít a munkanapok közé.
+
+==== Tanítási szünet ====
+
+A tanítási szünetek nem számítanak be a munkanapok közé. Ezen napok esetén sincs jelentése az órarendi hét paraméternek, ezért az ebben az esetben is
+automatikusan 0-ra változik.
+
+===== Párhuzamos munkatervek használata =====
+
+Egyes intézményekben szükség lehet arra, hogy több különböző munkaterv fusson egymással párhuzamosan. Például abban az esetben, ha az intézményben
+általános iskolai és gimnáziumi képzés is folyik, akkor a kétféle képzésnek különböző munkarendje kell legyen, hiszen eltér a tanítási napok előírt
+száma a kétféle képzésben.
+
+Az ilyen és ehhez hasonló esetek kezelésének érdekében lehetőség van arra, hogy több munkatervet hozzunk létre. A munkaterveket osztályokhoz
+rendelhetjük, a napok típusát, a napokhoz fűzött megjegyzéseket külön-külön állíthatjuk a párhuzamos munkatervekben. **Az egyes napokhoz rendelt
+órarendi hetek azonban nem térhetnek el a különböző munkatervekben!** Az óranrend tehát mindig az egész intézményre vonatkozik, együtt kezelendő.
+
+===== Munkaterv inicializálása =====
+
+Ezt a műveletet a tanév megnyitása után végezzük általában, eredménye egy egxetlen munkatervből álló alapállapot elérése. Az inicializáláshoz négy fontos
+paramétert kell megadnunk:
+
+ * Órarendi hetek száma: hány hetes lesz az órarend, tehát minden hét azonos órarenddel zajlik, vagy kétféle hét, "A" és "B" hét váltogatja egymást, stb
+ * Tanítási napok száma: jogszabályban szabályozott számérték
+ * Tanyítás nélküli munkanapok száma: jogszabályban megadott számérték
+ * Végzősök utolsó tanítási napja: a "tanév rendje" rendeletben megadott dátum
+
+**Fontos:** A munkaterv inicializálása törli az esetleg már felvett munkaterveket!
+
+===== Napok száma =====
+
+A napok száma fülön rövid összefoglalót kapunk arról, hogy az épp kiválasztott munkatervben az egyes típusú napokból mennyi van. Ennek segítségével
+ellenőrizhetjük, hogy megfelel-e munkatervünk a jogszabály előírásainak.
+
+===== Órarendi hetek hozzárendelése =====
+
+Adott dátumhatárok között frissíthetjük az órarendi hetek napokhoz rendelését. A hozzárendelés mindig az 1. héttel indul és a paraméterként megadott
+hetek váltják majd egymást ciklikusan. **Az órarendi hetek hozzárendelése mindig az összes munkatervre együtt vonatkozik!**
+
+===== Munkaterv-osztály összerendezés =====
+
+A munkatreveket osztályokhoz rendelhetjük, mindegyik osztályt pontosan egy munkatervhez.
+
+===== Csengetési rend =====
+
+Új feature-ként megjelent a __normáltól eltérő csengetési rendek__ használata.
+
+A munkatervben az alapértelmezett beállítások:
+ * minden tanítási napon 'normál' csengetési rend;
+ * minden speciális napon, tanítás nélküli napon, szorgalmi időszakon kívüli munkanapon és a tanítási szünet napjain nincs csengetés;
+
+Ötféle (4+1) csengetési rend használható: 'normál', 'rövidített', 'speciális', 'rendhagyó' és a 'nincs'... Ezekhez az elnevezésekhez a helyi szokásoknak, hagyományoknak megfelelően beállítható a csengetési rend az alábbiak szerint:
+
+A csengetesiRend (intezmeny_[iskolarovidneve]/csengetesiRend tábla) kell az alábbiak szerint feltölteni a (UTF8 kódolású, tabulátorokkal tagolt, szöveghatároló nélküli) csv fájlt:
+
+Fejléc (mezőnevek):
+
+ nap | ora | tolTime | igTime | telephelyId | csengetesiRendTipus
+
+ * A //nap// 1-5 közti szám, hétfő=1, stb. (ha nem visszük fel, akkor az adott csengetés minden napra érvényes lesz);
+ * Az //ora// a napi tanítási órát jelöli;
+ * A //tolTime// a becsengetés ideje óó:pp:ss formátumban;
+ * Az //igTime// a kicsengetés ideje óó:pp:ss formátumban;
+ * A //telephelyId// a telephely naplóbeli száma;
+ * A //csengetesiRendTipus// lehet 'normál', 'rövidített', 'speciális', 'rendhagyó', 'nincs'.
+
+A kész állományt töltsük fel a szerverre és az **Admin/Import** menüben töltsük be a //csengetesiRend// táblába! Kulcsmezők: ora, telephelyId, csengetesiRendTipus.
+
+A csengetési rend az **Órarend**ben jelenik meg, egyéb szerepe (pl. csengetőóra vezérlése... :-) ) nincs. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/tankorblokk.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/tankorblokk.txt
new file mode 100644
index 00000000..95dff903
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/tankorblokk.txt
@@ -0,0 +1,10 @@
+====== Tankör blokkok ======
+
+Két tankör abban az esetben kerülhet egy tankörblokkba, ha egyszerre, egy időben lehet órájuk. Ennek feltétele, hogy
+ * Nincs olyan diák, aki mind a két tankörben benne lenne
+ * A tankörök tanára sem közös (ezt a program még nem ellenőrzi!!)
+
+
+==== Hol használjuk a tankör blokkokat? ====
+
+A tankörblokkokra alapvetően órarend készítéskor lesz szükség (ld. [[naplo:tanev:ascexport|ascExport]]), de használjuk a választható tankörökre való jelentkezések kezelésekor is. A tankörblokkokra tekintettel van az összes tankörnévsort változtató művelet is. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/tankorcsoport.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/tankorcsoport.txt
new file mode 100644
index 00000000..846d4a2e
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanev/tankorcsoport.txt
@@ -0,0 +1,26 @@
+====== Tankör csoportok ======
+
+Két tankör akkor kerülhet egy tankörcsoportba, ha azonos a névsoruk.
+
+
+==== Hol használjuk a tankör csoportokat? ====
+
+ * A tankörnévsorok módosításakor elég egy tankörcsoport egyik tankörében elvégezni a szükséges módosításokat (tanuló felvétele, illetve kiléptetése), a tankörcsoport többi tankörében a módosításokat a program automatikusan elvégzi.
+
+ * A haladási naplóban az azonos tanár által tanított, egy tankörcsoportba tartozó tankörök között lehet váltania a szaktanárnak. Például egy magyartanár választhat, hogy irodalom, vagy nyelvtanórát tart-e, ha a két tankör egy csoportba tartozik. Vagy egy osztályfőnök, aki egész osztályos csoportban történelemtanára is az osztályának, akkor választhat, hogy történelem, vagy osztályfőnöki órát tart egy adott időpontban.
+
+===== Új tankörcsoport =====
+
+Új tankörcsoport felvételéhez adjunk egy (lehetőleg egyedi) nevet a csoportnak és jelöljük meg a csoporthoz tartozó tanköröket. A rendszer csak akkor veszi fel az új csoportot, ha a megjelölt tankörök névsorai megegyeznek. Épp ezért - ha elsőre nem sikerül a csoport felvétele - érdemes először egy tankörrel felvenni a csoportot, majd újabb tanköröket hozzávenni - így kiszűrhető a hiba.
+
+===== Tankörcsoport módosítás =====
+
+Módosíthatjuk a tankörcsoport nevét, és a tankörcsoportba tartozó tankörök listáját. A lista bővítésekor szokás szerint a Ctrl gombot nyomva tartva kattinthatunk a hozzáadandó (vagy épp eltávolítandó) tankörök nevére.
+
+Ha az új lista ütköző tanköröket tartalmaz, akkor a korábbi tankörlista áll vissza.
+
+A ''Tankörök'' felirat mellett, a jobb felső sarokban található ''x''-re kattintva törölhetjük a tankörcsoportot (a benne szereplő tankörök természetesen sértetlenül megmaradnak, csak a csoportosítást töröljük ilyenkor).
+
+===== Tankörcsoportok keresése =====
+
+Ez a funkciót akkor használhatjuk, ha a tankörök névsora már adott és e névsorok alapján szeretnénk tankörcsoportokat kialakítani. A legtöbb esetben erre nincs szükség, hisz épp azért vesszük fel a tankörcsoportokat, hogy a tagok felvételét megkönnyítsük, meggyorsítsuk.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenetinfo.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenetinfo.txt
new file mode 100644
index 00000000..ffc7d91a
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenetinfo.txt
@@ -0,0 +1,15 @@
+
+====== Tanmenet részletei ======
+
+Ezen az oldalon csak tűjékozódhatunk, nincs mód semmilyen módosításra: megnézhetjük egy kivűlasztott tanmenet adatait.
+
+A megjelenített adatok:
+ * évfolyam
+ * tárgy
+ * éves óraszám
+ * tanmenet neve
+ * készítő tanár
+ * készítés dátuma
+ * jóváhagyott tanmenet-e
+ * A tanmenet témakörei (a rászánt óraszámokkal)
+ * hozzárendelt tankörök listája
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenetleadas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenetleadas.txt
new file mode 100644
index 00000000..4e5ee348
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenetleadas.txt
@@ -0,0 +1,12 @@
+
+====== Tanátok eddig leadott/nem leadott tanmeneteinek száma ======
+
+A vezetőség ezen az oldalon tájékozódhat az tanmenet leadás pillanatnyi helyzetéről, pontosabban
+kap egy listát, melyben minden tanárral kapcsolatban láthatja, hogy
+
+ * hány tanköréhez nem rendelt még tanmenetet ("hiányzó")
+ * hány tanköréhez rendelt már jóváhagyott tanmenetet ("jóváhagyott")
+ * hány tanköréhez rendelt még jóváhagyatlan tanmenetet ("ellenőrizetlen")
+
+A tanár nevére kattintva eljuthatunk a [[tanmenetTankor|Tanmenetek tankörhöz rendelése]] oldalra, ahol részletesen is tájékozódhatunk
+az adott tanár tanköreiről, illetve hozzárendelt tanmeneteiről. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenetmodositas.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenetmodositas.txt
new file mode 100644
index 00000000..45bc6937
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenetmodositas.txt
@@ -0,0 +1,58 @@
+
+====== Tanmenet módosítása ======
+
+A tanmenet módosítás alapvetően két dologot takar:
+ * bizonyos alapadatok módosíthatók
+ * módosíthatók a témakörök és az ezekre szánt óraszám
+
+===== Alapadatok módosítása =====
+
+Módosítható a tanmenet évfolama, éves óraszáma és neve, illetve a vezetőség és admin számára itt van lehetőség a tanmenet jóváhagyására is.
+Nem módosítható ugyanakkor a tanmenet tárgya, a készítő tanár neve, a készítés dátuma és persze a tanmenet azonosító száma sem.
+
+Fontos: az óraszám csökkentésével előállhat olyan eset, hogy a tanmenet témaköreinek össz óraszáma nagyobb lesz, mint az előírt összóraszám.
+Ilyen esetben a program a már "kilógó" témakörök óraszámát pirossal kiemeli, hogy ezzel is figyelmeztessen a hibára. A proram mást nem tesz, nem tehet -
+rajtunk múlik, hogy a hibát javítjuk-e.
+
+===== Témakörök kezelése =====
+
+Itt látjuk a már felvett témakörök listűját - ha vannak ilyenek -, és egy új témakör felévtelét szolgáló üres sort (drapp).
+
+==== Új témakör felvéte ====
+
+Új témakör felvételéhez először válasszuk ki a témakörre szánt óraszámot, majd írjuk le röviden a témakört. Ezek után, ha a fókusz elkerül a beviteli mezőről
+(pl. megnyomjuk a ''Tab'' gombot, vagy elkattintunk az egérrel valahova máshova), akkor a prorgram felveszi ezt az új sort a felette levő listába, beilleszti
+az óraszámok sorába - de fontos tudnunk, hogy az új támakör ekkor még az adatbázisban nem rödgzült. **A módosítások rögzítéséhez minden esetben a lista alján
+található "OK" gombot kell megnyomni!**
+
+Út témakört mindaddig tudunk a fentiek szerint felvenni, ameddig el nem fogy a teljes tanmenethez rendelt óraszám. A legördülő menüben minden esetben csak
+annyi óra kijelölésére van lehetőség, amennyi még szabadon maradt. Ha a szabad órák száma 0-ra csökkent, akkor vagy valamelyik témakör óraszámának csökkentésével,
+vagy valamely témakör teljes törlésével szabadíthatunk fel órákat az új témakör számára.
+
+==== Témakörök sorrendje ====
+
+A felvett témakörök sorrendje egyszerűen egérrel, "húzd és ejtsd" módon változtatható. A sorok a bal szélső színes téglalapnál gofhatók meg, majd "vonszolhatók"
+a megfelelő helyre. A program minden módosítás után újraszámozza az órákat.
+
+Fontos megjegyezni, hogy a sorrend változtatás sem rögzül automatikusan az adatbűzisban! **A módosítások rögzítéséhez minden esetben a lista alján
+található "OK" gombot kell megnyomni!**
+
+==== Témakör módosírása ====
+
+Egy-egy témakörrel kapcsolatban két dolgot lehet módsítani: a hozzárendelt óraszámot, illetve a témakör leírását.
+
+Fontos: ha a témakör leírását töröljük, vagy az óraszámot 0-ra állítjuk, akkor a következő adatrögzítéskor a témakör törlődik!
+
+Az óraszám beállításakor csak akkorára növelhetjük az óraszámot, hogy az még beférjen a tanmenet össz óraszámába.
+
+**A módosítások rögzítéséhez - mint minden esetben - most is a lista alján található "OK" gombot kell megnyomni!**
+
+==== Témakör törlés ====
+
+Témakör törlésére használjuk a sorok jobb oldalán található X jelű, piros hátterű, kerek gombot.
+
+A tényleges törlés csak a lista alján található "OK" gomb megnyomásakor történik!
+
+Témakört törölhetünk úgy is, hogy óraszámát 0-ra állítjuk és/vagy a témakör leírását töröljük, üresre állítjuk.
+
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenettankor.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenettankor.txt
new file mode 100644
index 00000000..8c13ed83
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/tanmenettankor.txt
@@ -0,0 +1,44 @@
+
+====== Tanmenetek tankörhözrendelése ======
+
+Ezen az oldalon a megfelelő időszakban a szaktanár, vagy a vezetőségi tag hozzárendelhet egy-egy már meglévő tanmenetet a tankörökhöz,
+a szaktanár ezen kívül létrehozhat új tanmenetet is - akár egy már létező tanmenet másolataként, hogy azt módosítsa. Az adminisztrátornak
+időszakon kívül is van joga hozzárendelni, de újat nem tud létrehozni.
+
+A táblázat egy-egy sorában egy-egy tankörrel kapcsolatban tudunk tájékozódni, illetve módosításokat végrehajtani.
+
+Az első cellában találjuk a tankör nevét és azonosító számát. Ez után következik a hozzárendelhető tanmeneteket tartalmazó legördülő menü.
+Hozzárendelhetőnek tekintünk minden a tankörrel azonos tárgyhoz tartozó tanmenetet - mást nem ellenőriz a program.
+A legördülő menüben a már hozzárendelt tanmenet van alaphelyzetben kiválasztva - ha van ilyen.
+
+==== Módosítás / Részletek ====
+
+A következő gomb kétféle felirattal szrepelhet: módosítás, illetve részletek. Az előbbi akkor szerepel, ha a legördülő menüben kiválasztott
+tanmenet a felhasználó jogosultságaival módosítható (szaktanár számára akkor, ha ő írta a tanmenetet és az még nincs jóváhagyva), egyéb
+esetben a második felirat szerepel.
+
+Az egeret a gomb fölé vive megjelennek az épp kiválasztott tanmenet részletei (lényegében a "Tanmenet részletei" menüponttal megegyező tartalom).
+
+A gombon kattintva "módosítás" felirat esetén a [[tanmenetModositas|Tanmenet módosítása]], míg "részletek" felirat esetén a [[tanmenetInfo|Tanmenet részletei]]
+oldalra jutunk.
+
+==== Hozzárendelés ====
+
+Megelelő jogosultság esetén a következő gomb a "hozzárendelés" felirattal jelenik meg. A gomb megnyomásával a legördülőmenűben
+kiválasztott tanmenet tankörhöz való hozzárendelését rögzíthetjük.
+
+==== Új tanmenet létrehozása a kiválasztott alapján ====
+
+Az adott tankör tanára egy már létező tanmenet alapján készíthet új tanmenetet a tanköre számára. Ezt akkor is megteheti, ha a kiválasztott tanmenetet
+másik kolléga készítette. A gomb megnyomásával készül egy másolat a kiválasztott tanmenetről (amit mellesleg rögtön hozzá is rendel a rendszer a tankörhöz),
+majd a [[tanmenetModositas|Tanmenet módosítása]] oldalra navigál a program, ahol rögtön módosíthatjuk is a tanmenet adatait, témaköreit, óraszámait.
+
+==== Új tanmenet létrehozása ====
+
+Az adott tankör tanára létrehozhat egy teljesen új tanmenetet is. A gomb megnyomásával az [[ujTanmenet|Új tanmenet létrehozása]] oldalra jutunk, ahol első lépésként
+a tanmenet alapvető adatait megadva létrehozzuk a tanmenetet, amit a rendszer rögtön ez után hozzá is rendel a tankörhöz, majd továbblép a
+[[tanmenetModositas|Tanmenet módosítása]] oldalra, ahol felvehetjük a tanmenet lényegi részét, a témaköröket, óraszámokat.
+
+
+
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/ujtanmenet.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/ujtanmenet.txt
new file mode 100644
index 00000000..63e0a946
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/tanmenet/ujtanmenet.txt
@@ -0,0 +1,7 @@
+
+====== Új tanmenet felvétele ======
+
+Új tanmenetet a szaktanárok vehetnek fel - természetesen saját tantárgyaikhoz.
+
+A tanmenet létrehozásához válasszuk ki a tárgyat, évfolyamot (ha még nincs kiválasztva), majd adjuk meg a tanmenet éves óraszámát, nevét.
+Az űrlap kitöltése és jóváhagyása után a program a [[tanmenetModositas|Tanmenet módosítása]] oldalra visz, ahol felvehetjük a tanmenet témaköreit.
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/naplo/toolbar.txt b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/toolbar.txt
new file mode 100644
index 00000000..180fd448
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/naplo/toolbar.txt
@@ -0,0 +1,17 @@
+====== Eszköztár ======
+
+A napló modulban a menü alatt minden oldalon megjelenik egy speciális sáv - az eszköztár, vagy eszközsor.
+Itt láthatjuk az épp megjelenő oldal nevét (pl. Haladási napló, Osztályozó naplo...), a kiválasztott intézmény rövidítését és a kiválasztott tanév kezdetének évét, végül az esetleg megjelenő, az oldal használatát megkönnyítő eszközöket.
+
+===== Eszközök =====
+
+Az eszközök általában egy-egy legördülő menüből álnak, melyek segítségével kiválaszthatjuk, hogy az adott oldal milyen paraméterekkel dolgozzon (pl. kiválasztjuk, hogy a Haladási napló melyik osztály óráit jelenítse meg, vagy hogy az osztályozó naplóban melyik tanuló jegyeit szeretnénk látni).
+
+A használható eszközök a következők
+ * Osztály kiválasztása
+ * Tanár kiválasztása
+ * Diák kiválasztása
+ * Tankör kiválasztása
+ * Dátum kiválasztása
+ * ...
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/portal/hirek/hirekadmin.txt b/mayor-orig/mayor-wiki/wiki/data/pages/portal/hirek/hirekadmin.txt
new file mode 100644
index 00000000..0cf6525c
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/portal/hirek/hirekadmin.txt
@@ -0,0 +1,25 @@
+====== Hírek ======
+A **hír** a napló külső (bejelentkezés nélküli), vagy belső (bejelentkezés utáni) kezdőlapján megjelenő, mindenki számára olvasható rövid (?) szöveges információ. Előnye, hogy tág célcsoportnak szól (diákok, tanárok...), mindig szem előtt van, megjelenési időpontja finoman szabályozható.
+A hírek publikálásának feltétele, hogy az adott felhasználó (továbbiakban Szerkesztő) a //hirekadmin csoport// tagja legyen.
+===== Hír beküldése =====
+Bármely felhasználó (diák, szülő is) tud hírt beküldeni publikálásra (bejelentkezés után a Védett modulok->Hír beküldés pontban).
+Célszerű a felhasználókat rávenni arra, hogy beküldéskor a szöveg végére írják a megjelentetés dátumát, és a célcsoportot (kik lássák az üzenetet).
+Rögzítés után a beküldött hírt a Szerkesztő a saját felületén már megtalálja.
+===== Hír szerkesztése, publikálás =====
+A Szerkesztő a Kezdőlapon, a Hírek adminisztrálása menüben tudja a már beküldött, vagy épp aktuális híreket szerkeszteni. A nagy **+** gomb nyitja ki a teljes listát.
+A megjelenő listában a színek jelentése:
+ * fehér: érvényes hír (aktuális vagy jövőbeni);
+ * kék: lejárt határidős;
+ * lila: beküldött, még nem rendbe tett elem;
+A szerkeszteni kívánt hírre kattintva módosíthatók, illetve beállíthatók a megjelenés paraméterei:
+ * mettől meddig legyen érvényes;
+ * látszik/nem látszik;
+ * külső/belső hír (azaz bejelentkezés nélkül, vagy csak azután legyen olvasható);
+ * célcsoport: tanár/diák/titkárság/egyéb (ha a hírt a szülők felé is szeretnénk megjeleníteni, vagy külső hírt válasszunk, vagy ne jelöljük be a célcsoportok checkbox-ait...)
+
+Célszerű gyors helyesírás-ellenőrzést végezni, a felesleges részeket (pl. a szerkesztőnek szóló üzenet, hogy ki, mikor láthassa a hírt) kitörölni.
+A hírek esetében a szöveg-, vagy karakterformázást a szokásos HTML-tagekkel (<font...>; <b> <br /> stb.) végezhetjük.
+
+A formázáshoz egy kis "színes" segítség: [[http://darsh.uw.hu/modules.php?name=Content&pa=showpage&pid=4|Darshi]]
+
+A lap alján látható a kész hír. \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/portal/telepites.txt b/mayor-orig/mayor-wiki/wiki/data/pages/portal/telepites.txt
new file mode 100644
index 00000000..714e227c
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/portal/telepites.txt
@@ -0,0 +1,75 @@
+
+====== Portál modul telepítése ======
+
+ * Hozzunk létre egy ''hirekadmin'' csoportot és értelemszerűen vegyünk fel bele tagokat! (Felhasználói adatok/Új csoport)
+
+ * Szerkesszük a ''/var/mayor/config/main.conf'' állományt! vegyük fel a frissítendő modulok közé (ne a végére) a portál modult is.
+
+ MODULES="mayor-base mayor-portal mayor-naplo"
+
+ * Frissítsük a rendszert. Ezzel letöltődnek a portál modul állományai is.
+
+ # mayor update
+
+ * Hozzuk létre a portál modul adatbázisát (előtte írjuk be a file-ba a ''%MYSQL_PORTAL_DB%'', ''%MYSQL_PORTAL_USER%'' és ''%MYSQL_PORTAL_PW%'' helyére a mysql
+ adatbázist (''mayor_portal''), usert (''mayor_portal'') és a user jelszavát):
+
+ # cp /var/mayor/install/mayor-portal/mysql/mayor-portal.sql /tmp/mayor-portal.sql
+ # editor /tmp/mayor-portal.sql
+ # cat /tmp/mayor-portal.sql | mysql -p
+
+ * Most a portál modul konfigurációs állományának létrehozása...
+
+ cp /var/mayor/config/module-portal/config.php.example /var/mayor/config/module-portal/config.php
+
+ * ... és szerkesztése következik (különös tekintettel a jelszóra - amit az előbb is használtunk)
+
+ # mcedit /var/mayor/config/module-portal/config.php
+
+ ---------------------------
+ $MYSQL_DATA['portal']['user']= 'mayor_portal_adm';
+ $MYSQL_DATA['portal']['pw']= '**jelszó**';
+ $MYSQL_DATA['portal']['db']= 'mayor_portal';
+
+ define('__PORTAL_CODE','demo');
+ ---------------------------
+
+ * A hozzáférési szintenkénti kezdőlapok beállítása
+
+ # mcedit /var/mayor/config/private-conf.php
+ ---------------------------
+ $DEFAULT_PSF['private'] = array('page'=>'portal', 'sub' => 'portal', 'f' => 'portal');
+ ---------------------------
+
+ # mcedit /var/mayor/config/parent-conf.php
+ ---------------------------
+ $DEFAULT_PSF['parent'] = array('page'=>'portal', 'sub' => 'portal', 'f' => 'portal');
+ ---------------------------
+
+ # mcedit /var/mayor/config/public-conf.php
+ ---------------------------
+ $DEFAULT_PSF['public'] = array('page'=>'portal', 'sub' => 'portal', 'f' => 'portal');
+ ---------------------------
+
+ * Testreszabás\\
+Lehetőségünk van arra, hogy az alapértelmezettől eltérő szerkezetű kezdőlapot készítsünk és ebbe építsük be a portál szolgáltatásait.
+
+ * Szerkesszük a portál konfigurációs állományát - adjunk meg saját portál kódot (lehet ez pl. az intézmény rövid neve is)
+
+ # mcedit /var/mayor/config/module-portal/config.php
+
+ ---------------------------
+ define('__PORTAL_CODE','sajat');
+ ---------------------------
+
+ * Hozzuk létre a demo oldalak alapján a saját kezdőlapjainkat:
+
+ # cp /var/mayor/www/policy/private/portal/portal/portal_demo.classic.php /var/mayor/www/policy/private/portal/portal/portal_sajat.classic.php
+ # cp /var/mayor/www/policy/private/portal/portal/portal_demo.pda.php /var/mayor/www/policy/private/portal/portal/portal_sajat.pda.php
+ # cp /var/mayor/www/policy/parent/portal/portal/portal_demo.classic.php /var/mayor/www/policy/parent/portal/portal/portal_sajat.classic.php
+ # cp /var/mayor/www/policy/parent/portal/portal/portal_demo.pda.php /var/mayor/www/policy/parent/portal/portal/portal_sajat.pda.php
+ # cp /var/mayor/www/policy/public/portal/portal/portal_demo.classic.php /var/mayor/www/policy/public/portal/portal/portal_sajat.classic.php
+ # cp /var/mayor/www/policy/public/portal/portal/portal_demo.pda.php /var/mayor/www/policy/public/portal/portal/portal_sajat.pda.php
+
+ * Majd szerkesszük ezeket az oldalakat saját elképzelésünk szerint.
+
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/session/createaccount.txt b/mayor-orig/mayor-wiki/wiki/data/pages/session/createaccount.txt
new file mode 100644
index 00000000..856e7dc2
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/session/createaccount.txt
@@ -0,0 +1,13 @@
+====== Új felhasználói azonosító létrehozása ======
+
+Új azonosító készítése egyszerű, magától értetődő feladat. Töltsük ki az ürlapot értelemszerűen: név, azonosító, jelszó, a jelszó mégegyszer, kategória, oktatási azonosító (ha van), E-mail cím, telefonszám (nem kötelező).
+
+A program ellenőrzi, hogy ütközik-e a megadott felhasználói azonosító valamely már felvettel.
+
+===== Adatállományból =====
+
+Ha több azonosítót akarunk felvenni, akkor tabulátorokkal tagolt szöveges állományba is írhatjuk az adatokat. A fájlnak ne legyen fejléce, egy sorba egy azonosító adatai kerüljenek és a jelszót ebben az esetben csak egyszer kell megadni:
+
+ Gipsz Jakab gipszj titok diák 74864826801 gipsz@mail.com 123-4567
+
+Az adatállományt a helyi gépről tölthetjük fel. A állománynak UTF-8 kódolásúnak kell lennie!
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/session/groupinfo.txt b/mayor-orig/mayor-wiki/wiki/data/pages/session/groupinfo.txt
new file mode 100644
index 00000000..3b916722
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/session/groupinfo.txt
@@ -0,0 +1,6 @@
+====== Felhasználói csoportok kezelése ======
+
+Ezen az oldalon egy adott csoportba tudunk új felhasználókat felvenni, illetve eltávolítani.
+
+ * Felvenni az "Új" rovatban lévő legördülő listából választva tudunk. (Figyelem! Itt tanárok és diákok vegyesen jelennek meg!)
+ * Törléskor a csoporttagok listájában jelöljük ki az illetőt, majd kattintsunk az OK gombra! \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/sidebar.txt b/mayor-orig/mayor-wiki/wiki/data/pages/sidebar.txt
new file mode 100644
index 00000000..caedf17e
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/sidebar.txt
@@ -0,0 +1 @@
+[[http://www.mayor.hu]] \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/data/pages/start.txt b/mayor-orig/mayor-wiki/wiki/data/pages/start.txt
new file mode 100644
index 00000000..6471d1e8
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/data/pages/start.txt
@@ -0,0 +1,7 @@
+====== MaYoR Wiki ======
+
+===== Mi a MaYoR =====
+
+A közösség erejével fejlesztett és karbantartott MaYoR elektornikus napló szoftver a mindannepi adminisztrációs feladatok hatékony szervezésére, terhének elosztására és a bonyolult központi szabályrendszerek egyszerű betartására terveztük, figyelembe véve az iskolák szereplőinek (diákok, tanárok, vezetés és szülők) együttes igényeit és a helyi/egyedi szokásoknak megfelelhető konfigurálhatóságot is.
+
+Részletekért olvassa a wiki-t vagy keressen minket a http://www.mayor.hu oldalon.
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/COPYING b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/COPYING
new file mode 100644
index 00000000..d60c31a9
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program 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 program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/README b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/README
new file mode 100644
index 00000000..5ef21c3a
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/README
@@ -0,0 +1,10 @@
+====== BBCode Plugin for DokuWiki ======
+
+All documentation for the BBCode Plugin is available online at:
+
+ * http://wiki.splitbrain.org/plugin:bbcode
+
+(c) 2005 - 2007 by Esther Brunner <wikidesign@gmail.com>
+(c) 2008 - 2010 by Gina Häußge, Michael Klier <dokuwiki@chimeric.de>
+
+See COPYING for license info.
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/plugin.info.txt b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/plugin.info.txt
new file mode 100644
index 00000000..58ad58cf
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/plugin.info.txt
@@ -0,0 +1,7 @@
+base bbcode
+author Michael Klier, Gina Häussge
+email dokuwiki@chimeric.de
+date 2010-06-04
+name BBCode Plugin
+desc BBCode implementation for DokuWiki
+url http://dokuwiki.org/plugin:bbcode
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/bold.php b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/bold.php
new file mode 100644
index 00000000..dae1d964
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/bold.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * BBCode plugin: allows BBCode markup familiar from forum software
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Esther Brunner <esther@kaffeehaus.ch>
+ */
+
+if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
+require_once(DOKU_PLUGIN.'syntax.php');
+
+/**
+ * All DokuWiki plugins to extend the parser/rendering mechanism
+ * need to inherit from this class
+ */
+class syntax_plugin_bbcode_bold extends DokuWiki_Syntax_Plugin {
+
+ function getType() { return 'formatting'; }
+ function getAllowedTypes() { return array('formatting', 'substition', 'disabled'); }
+ function getSort() { return 105; }
+ function connectTo($mode) { $this->Lexer->addEntryPattern('\[b\](?=.*?\x5B/b\x5D)',$mode,'strong'); }
+ function postConnect() { $this->Lexer->addExitPattern('\[/b\]','strong'); }
+
+ /**
+ * Handle the match
+ */
+ function handle($match, $state, $pos, &$handler) {
+ return array();
+ }
+
+ /**
+ * Create output
+ */
+ function render($mode, &$renderer, $data) {
+ return true;
+ }
+}
+// vim:ts=4:sw=4:et:enc=utf-8:
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/code.php b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/code.php
new file mode 100644
index 00000000..c495fdd0
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/code.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * BBCode plugin: allows BBCode markup familiar from forum software
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Esther Brunner <esther@kaffeehaus.ch>
+ */
+
+if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
+require_once(DOKU_PLUGIN.'syntax.php');
+
+/**
+ * All DokuWiki plugins to extend the parser/rendering mechanism
+ * need to inherit from this class
+ */
+class syntax_plugin_bbcode_code extends DokuWiki_Syntax_Plugin {
+
+ function getType() { return 'protected'; }
+ function getPType() { return 'block'; }
+ function getSort() { return 105; }
+ function connectTo($mode) { $this->Lexer->addEntryPattern('\[code\](?=.*?\x5B/code\x5D)',$mode,'preformatted'); }
+ function postConnect() { $this->Lexer->addExitPattern('\[/code\]','preformatted'); }
+
+ /**
+ * Handle the match
+ */
+ function handle($match, $state, $pos, &$handler) {
+ return true;
+ }
+
+ /**
+ * Create output
+ */
+ function render($mode, &$renderer, $data) {
+ return true;
+ }
+}
+// vim:ts=4:sw=4:et:enc=utf-8:
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/color.php b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/color.php
new file mode 100644
index 00000000..f229eeae
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/color.php
@@ -0,0 +1,236 @@
+<?php
+/**
+ * BBCode plugin: allows BBCode markup familiar from forum software
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Esther Brunner <esther@kaffeehaus.ch>
+ * @author Christopher Smith <chris@jalakai.co.uk>
+ * @author Luis Machuca Bezzaza <luis.machuca@gulix.cl>
+ */
+
+if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
+require_once(DOKU_PLUGIN.'syntax.php');
+
+/**
+ * All DokuWiki plugins to extend the parser/rendering mechanism
+ * need to inherit from this class
+ */
+class syntax_plugin_bbcode_color extends DokuWiki_Syntax_Plugin {
+
+ static $browsercolors = array (
+ 'aliceblue' => '#f0f8ff' ,
+ 'antiquewhite' => '#faebd7' ,
+ 'aqua' => '#00ffff' ,
+ 'aquamarine' => '#7fffd4' ,
+ 'azure' => '#f0ffff' ,
+ 'beige' => '#f5f5dc' ,
+ 'bisque' => '#ffe4c4' ,
+ 'black' => '#000000' ,
+ 'blanchedalmond' => '#ffebcd' ,
+ 'blue' => '#0000ff' ,
+ 'blueviolet' => '#8a2be2' ,
+ 'brown' => '#a52a2a' ,
+ 'burlywood' => '#deb887' ,
+ 'cadetblue' => '#5f9ea0' ,
+ 'chartreuse' => '#7fff00' ,
+ 'chocolate' => '#d2691e' ,
+ 'coral' => '#ff7f50' ,
+ 'cornflowerblue' => '#6495ed' ,
+ 'cornsilk' => '#fff8dc' ,
+ 'crimson' => '#dc143c' ,
+ 'cyan' => '#00ffff' ,
+ 'darkblue' => '#00008b' ,
+ 'darkcyan' => '#008b8b' ,
+ 'darkgoldenrod' => '#b8860b' ,
+ 'darkgray' => '#a9a9a9' ,
+ 'darkgreen' => '#006400' ,
+ 'darkkhaki' => '#bdb76b' ,
+ 'darkmagenta' => '#8b008b' ,
+ 'darkolivegreen' => '#556b2f' ,
+ 'darkorange' => '#ff8c00' ,
+ 'darkorchid' => '#9932cc' ,
+ 'darkred' => '#8b0000' ,
+ 'darksalmon' => '#e9967a' ,
+ 'darkseagreen' => '#8fbc8f' ,
+ 'darkslateblue' => '#483d8b' ,
+ 'darkslategray' => '#2f4f4f' ,
+ 'darkturquoise' => '#00ced1' ,
+ 'darkviolet' => '#9400d3' ,
+ 'deeppink' => '#ff1493' ,
+ 'deepskyblue' => '#00bfff' ,
+ 'dimgray' => '#696969' ,
+ 'dodgerblue' => '#1e90ff' ,
+ 'firebrick' => '#b22222' ,
+ 'floralwhite' => '#fffaf0' ,
+ 'forestgreen' => '#228b22' ,
+ 'fuchsia' => '#ff00ff' ,
+ 'gainsboro' => '#dcdcdc' ,
+ 'ghostwhite' => '#f8f8ff' ,
+ 'gold' => '#ffd700' ,
+ 'goldenrod' => '#daa520' ,
+ 'gray' => '#808080' ,
+ 'green' => '#008000' ,
+ 'greenyellow' => '#adff2f' ,
+ 'honeydew' => '#f0fff0' ,
+ 'hotpink' => '#ff69b4' ,
+ 'indianred' => '#cd5c5c' ,
+ 'indigo' => '#4b0082' ,
+ 'ivory' => '#fffff0' ,
+ 'khaki' => '#f0e68c' ,
+ 'lavender' => '#e6e6fa' ,
+ 'lavenderblush' => '#fff0f5' ,
+ 'lawngreen' => '#7cfc00' ,
+ 'lemonchiffon' => '#fffacd' ,
+ 'lightblue' => '#add8e6' ,
+ 'lightcoral' => '#f08080' ,
+ 'lightcyan' => '#e0ffff' ,
+ 'lightgoldenrodyellow' => '#fafad2' ,
+ 'lightgrey' => '#d3d3d3' ,
+ 'lightgreen' => '#90ee90' ,
+ 'lightpink' => '#ffb6c1' ,
+ 'lightsalmon' => '#ffa07a' ,
+ 'lightseagreen' => '#20b2aa' ,
+ 'lightskyblue' => '#87cefa' ,
+ 'lightslategray' => '#778899' ,
+ 'lightsteelblue' => '#b0c4de' ,
+ 'lightyellow' => '#ffffe0' ,
+ 'lime' => '#00ff00' ,
+ 'limegreen' => '#32cd32' ,
+ 'linen' => '#faf0e6' ,
+ 'magenta' => '#ff00ff' ,
+ 'maroon' => '#800000' ,
+ 'mediumaquamarine' => '#66cdaa' ,
+ 'mediumblue' => '#0000cd' ,
+ 'mediumorchid' => '#ba55d3' ,
+ 'mediumpurple' => '#9370d8' ,
+ 'mediumseagreen' => '#3cb371' ,
+ 'mediumslateblue' => '#7b68ee' ,
+ 'mediumspringgreen' => '#00fa9a' ,
+ 'mediumturquoise' => '#48d1cc' ,
+ 'mediumvioletred' => '#c71585' ,
+ 'midnightblue' => '#191970' ,
+ 'mintcream' => '#f5fffa' ,
+ 'mistyrose' => '#ffe4e1' ,
+ 'moccasin' => '#ffe4b5' ,
+ 'navajowhite' => '#ffdead' ,
+ 'navy' => '#000080' ,
+ 'oldlace' => '#fdf5e6' ,
+ 'olive' => '#808000' ,
+ 'olivedrab' => '#6b8e23' ,
+ 'orange' => '#ffa500' ,
+ 'orangered' => '#ff4500' ,
+ 'orchid' => '#da70d6' ,
+ 'palegoldenrod' => '#eee8aa' ,
+ 'palegreen' => '#98fb98' ,
+ 'paleturquoise' => '#afeeee' ,
+ 'palevioletred' => '#d87093' ,
+ 'papayawhip' => '#ffefd5' ,
+ 'peachpuff' => '#ffdab9' ,
+ 'peru' => '#cd853f' ,
+ 'pink' => '#ffc0cb' ,
+ 'plum' => '#dda0dd' ,
+ 'powderblue' => '#b0e0e6' ,
+ 'purple' => '#800080' ,
+ 'red' => '#ff0000' ,
+ 'rosybrown' => '#bc8f8f' ,
+ 'royalblue' => '#4169e1' ,
+ 'saddlebrown' => '#8b4513' ,
+ 'salmon' => '#fa8072' ,
+ 'sandybrown' => '#f4a460' ,
+ 'seagreen' => '#2e8b57' ,
+ 'seashell' => '#fff5ee' ,
+ 'sienna' => '#a0522d' ,
+ 'silver' => '#c0c0c0' ,
+ 'skyblue' => '#87ceeb' ,
+ 'slateblue' => '#6a5acd' ,
+ 'slategray' => '#708090' ,
+ 'snow' => '#fffafa' ,
+ 'springgreen' => '#00ff7f' ,
+ 'steelblue' => '#4682b4' ,
+ 'tan' => '#d2b48c' ,
+ 'teal' => '#008080' ,
+ 'thistle' => '#d8bfd8' ,
+ 'tomato' => '#ff6347' ,
+ 'turquoise' => '#40e0d0' ,
+ 'violet' => '#ee82ee' ,
+ 'wheat' => '#f5deb3' ,
+ 'white' => '#ffffff' ,
+ 'whitesmoke' => '#f5f5f5' ,
+ 'yellow' => '#ffff00' ,
+ 'yellowgreen' => '#9acd32' ,
+ );
+
+ function getType() { return 'formatting'; }
+ function getAllowedTypes() { return array('formatting', 'substition', 'disabled'); }
+ function getSort() { return 105; }
+ function connectTo($mode) { $this->Lexer->addEntryPattern('\[color=.*?\](?=.*?\x5B/color\x5D)',$mode,'plugin_bbcode_color'); }
+ function postConnect() { $this->Lexer->addExitPattern('\[/color\]','plugin_bbcode_color'); }
+
+ /**
+ * Handle the match
+ */
+ function handle($match, $state, $pos, &$handler) {
+ switch ($state) {
+ case DOKU_LEXER_ENTER :
+ $match = substr($match, 7, -1);
+ if (preg_match('/".+?"/',$match)) $match = substr($match, 1, -1); // addition #1: unquote
+ return array($state, $match);
+
+ case DOKU_LEXER_UNMATCHED :
+ return array($state, $match);
+
+ case DOKU_LEXER_EXIT :
+ return array($state, '');
+
+ }
+ return array();
+ }
+
+ /**
+ * Create output
+ */
+ function render($mode, &$renderer, $data) {
+ if($mode == 'xhtml') {
+ list($state, $match) = $data;
+ switch ($state) {
+ case DOKU_LEXER_ENTER :
+ if ($match = $this->_isValid($match)) {
+ $renderer->doc .= '<span style="color:'. $match. '">'; // addition #2: SVG browser colors
+ } else {
+ $renderer->doc .= '<span>';
+ }
+ break;
+
+ case DOKU_LEXER_UNMATCHED :
+ $renderer->doc .= $renderer->_xmlEntities($match);
+ break;
+
+ case DOKU_LEXER_EXIT :
+ $renderer->doc .= '</span>';
+ break;
+
+ }
+ return true;
+ }
+ return false;
+ }
+
+ // validate color value $c
+ // this is cut price validation - only to ensure the basic format is correct and there is nothing harmful
+ // three basic formats "colorname", "#fff[fff]", "rgb(255[%],255[%],255[%])"
+ function _isValid($c) {
+ $c = trim($c);
+
+ $pattern = "/
+ ([a-zA-z]+)| #colorname - not verified
+ (\#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}))| #colorvalue
+ (rgb\(([0-9]{1,3}%?,){2}[0-9]{1,3}%?\)) #rgb triplet
+ /x";
+
+ if (preg_match($pattern, $c)) return $c;
+ if (!empty($this->browsercolors[$c])) return $this->browsercolors[$c];
+ return "";
+ }
+}
+// vim:ts=4:sw=4:et:enc=utf-8:
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/deleted.php b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/deleted.php
new file mode 100644
index 00000000..69f84ac9
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/deleted.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * BBCode plugin: allows BBCode markup familiar from forum software
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Esther Brunner <esther@kaffeehaus.ch>
+ */
+
+if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
+require_once(DOKU_PLUGIN.'syntax.php');
+
+/**
+ * All DokuWiki plugins to extend the parser/rendering mechanism
+ * need to inherit from this class
+ */
+class syntax_plugin_bbcode_deleted extends DokuWiki_Syntax_Plugin {
+
+ function getType() { return 'formatting'; }
+ function getAllowedTypes() { return array('formatting', 'substition', 'disabled'); }
+ function getSort() { return 105; }
+ function connectTo($mode) { $this->Lexer->addEntryPattern('\[s\](?=.*?\x5B/s\x5D)',$mode,'deleted'); }
+ function postConnect() { $this->Lexer->addExitPattern('\[/s\]','deleted'); }
+
+ /**
+ * Handle the match
+ */
+ function handle($match, $state, $pos, &$handler) {
+ return array();
+ }
+
+ /**
+ * Create output
+ */
+ function render($mode, &$renderer, $data) {
+ return true;
+ }
+}
+// vim:ts=4:sw=4:et:enc=utf-8:
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/email.php b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/email.php
new file mode 100644
index 00000000..dd87d386
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/email.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * BBCode plugin: allows BBCode markup familiar from forum software
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Esther Brunner <esther@kaffeehaus.ch>
+ */
+
+if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
+require_once(DOKU_PLUGIN.'syntax.php');
+
+/**
+ * All DokuWiki plugins to extend the parser/rendering mechanism
+ * need to inherit from this class
+ */
+class syntax_plugin_bbcode_email extends DokuWiki_Syntax_Plugin {
+
+ function getType() { return 'substition'; }
+ function getSort() { return 105; }
+ function connectTo($mode) { $this->Lexer->addSpecialPattern('\[email.+?\[/email\]',$mode,'plugin_bbcode_email'); }
+
+ /**
+ * Handle the match
+ */
+ function handle($match, $state, $pos, &$handler) {
+ $match = trim(substr($match, 7, -8));
+ $match = preg_split('/\]/u',$match,2);
+ if ( !isset($match[0]) ) {
+ $url = $match[1];
+ $title = NULL;
+ } else {
+ $url = $match[0];
+ $title = $match[1];
+ }
+ $handler->_addCall('emaillink',array($url, $title), $pos);
+ return true;
+ }
+
+ /**
+ * Create output
+ */
+ function render($mode, &$renderer, $data) {
+ return true;
+ }
+}
+// vim:ts=4:sw=4:et:enc=utf-8:
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/image.php b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/image.php
new file mode 100644
index 00000000..8b0d782e
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/image.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * BBCode plugin: allows BBCode markup familiar from forum software
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Esther Brunner <esther@kaffeehaus.ch>
+ */
+
+if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
+require_once(DOKU_PLUGIN.'syntax.php');
+
+/**
+ * All DokuWiki plugins to extend the parser/rendering mechanism
+ * need to inherit from this class
+ */
+class syntax_plugin_bbcode_image extends DokuWiki_Syntax_Plugin {
+
+ function getType() { return 'substition'; }
+ function getSort() { return 105; }
+ function connectTo($mode) { $this->Lexer->addSpecialPattern('\[img.+?\[/img\]',$mode,'plugin_bbcode_image'); }
+
+ /**
+ * Handle the match
+ */
+ function handle($match, $state, $pos, &$handler) {
+ $match = trim(substr($match, 5, -6));
+ $match = preg_split('/\]/u',$match,2);
+ if ( !isset($match[0]) ) {
+ $url = $match[1];
+ $title = NULL;
+ } else {
+ $url = $match[0];
+ $title = $match[1];
+ }
+
+ // Check whether this is a local or remote image
+ if ( preg_match('#^(https?|ftp)#i',$url) ) {
+ $call = 'externalmedia';
+ } else {
+ $call = 'internalmedia';
+ }
+
+ $handler->_addCall($call,array($url,$title,NULL,NULL,NULL,'cache'),$pos);
+ return true;
+ }
+
+ /**
+ * Create output
+ */
+ function render($mode, &$renderer, $data) {
+ return true;
+ }
+}
+// vim:ts=4:sw=4:et:enc=utf-8:
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/italic.php b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/italic.php
new file mode 100644
index 00000000..de94cfad
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/italic.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * BBCode plugin: allows BBCode markup familiar from forum software
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Esther Brunner <esther@kaffeehaus.ch>
+ */
+
+if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
+require_once(DOKU_PLUGIN.'syntax.php');
+
+/**
+ * All DokuWiki plugins to extend the parser/rendering mechanism
+ * need to inherit from this class
+ */
+class syntax_plugin_bbcode_italic extends DokuWiki_Syntax_Plugin {
+
+ function getType() { return 'formatting'; }
+ function getAllowedTypes() { return array('formatting', 'substition', 'disabled'); }
+ function getSort() { return 105; }
+ function connectTo($mode) { $this->Lexer->addEntryPattern('\[i\](?=.*?\x5B/i\x5D)',$mode,'emphasis'); }
+ function postConnect() { $this->Lexer->addExitPattern('\[/i\]','emphasis'); }
+
+ /**
+ * Handle the match
+ */
+ function handle($match, $state, $pos, &$handler) {
+ return array();
+ }
+
+ /**
+ * Create output
+ */
+ function render($mode, &$renderer, $data) {
+ return true;
+ }
+}
+// vim:ts=4:sw=4:et:enc=utf-8:
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/link.php b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/link.php
new file mode 100644
index 00000000..e752dbd1
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/link.php
@@ -0,0 +1,60 @@
+<?php
+/**
+ * BBCode plugin: allows BBCode markup familiar from forum software
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Esther Brunner <esther@kaffeehaus.ch>
+ */
+
+if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
+require_once(DOKU_PLUGIN.'syntax.php');
+
+/**
+ * All DokuWiki plugins to extend the parser/rendering mechanism
+ * need to inherit from this class
+ */
+class syntax_plugin_bbcode_link extends DokuWiki_Syntax_Plugin {
+
+ function getType() { return 'substition'; }
+ function getSort() { return 105; }
+ function connectTo($mode) { $this->Lexer->addSpecialPattern('\[url.+?\[/url\]',$mode,'plugin_bbcode_link'); }
+
+ /**
+ * Handle the match
+ */
+ function handle($match, $state, $pos, &$handler) {
+ $match = substr($match, 5, -6);
+ if (preg_match('/".+?"/',$match)) $match = substr($match, 1, -1); // addition #1: unquote
+ $match = preg_split('/\]/u',$match,2);
+ if ( !isset($match[0]) ) {
+ $url = $match[1];
+ $title = NULL;
+ } else {
+ $url = $match[0];
+ $title = $match[1];
+ }
+
+ // external link (accepts all protocols)
+ if ( preg_match('#^([a-z0-9\-\.+]+?)://#i',$url) ) {
+ $handler->_addCall('externallink',array($url,$title),$pos);
+
+ // local link
+ } elseif ( preg_match('!^#.+!',$url) ) {
+ $handler->_addCall('locallink',array(substr($url,1),$title),$pos);
+
+ // internal link
+ } else {
+ $handler->_addCall('internallink',array($url,$title),$pos);
+ }
+ return true;
+ }
+
+ /**
+ * Create output
+ */
+ function render($mode, &$renderer, $data) {
+ return true;
+ }
+}
+// vim:ts=4:sw=4:et:enc=utf-8:
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/monospace.php b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/monospace.php
new file mode 100644
index 00000000..dcaa931f
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/monospace.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * BBCode plugin: allows BBCode markup familiar from forum software
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Esther Brunner <esther@kaffeehaus.ch>
+ */
+
+if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
+require_once(DOKU_PLUGIN.'syntax.php');
+
+/**
+ * All DokuWiki plugins to extend the parser/rendering mechanism
+ * need to inherit from this class
+ */
+class syntax_plugin_bbcode_monospace extends DokuWiki_Syntax_Plugin {
+
+ function getType() { return 'formatting'; }
+ function getAllowedTypes() { return array('formatting', 'substition', 'disabled'); }
+ function getSort() { return 105; }
+ function connectTo($mode) { $this->Lexer->addEntryPattern('\[m\](?=.*?\x5B/m\x5D)',$mode,'monospace'); }
+ function postConnect() { $this->Lexer->addExitPattern('\[/m\]','monospace'); }
+
+ /**
+ * Handle the match
+ */
+ function handle($match, $state, $pos, &$handler) {
+ return array();
+ }
+
+ /**
+ * Create output
+ */
+ function render($mode, &$renderer, $data) {
+ return true;
+ }
+}
+// vim:ts=4:sw=4:et:enc=utf-8:
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/olist.php b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/olist.php
new file mode 100644
index 00000000..a4362db6
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/olist.php
@@ -0,0 +1,90 @@
+<?php
+/**
+ * BBCode plugin: allows BBCode markup familiar from forum software
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Esther Brunner <esther@kaffeehaus.ch>
+ */
+
+if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
+require_once(DOKU_PLUGIN.'syntax.php');
+
+/**
+ * All DokuWiki plugins to extend the parser/rendering mechanism
+ * need to inherit from this class
+ */
+class syntax_plugin_bbcode_olist extends DokuWiki_Syntax_Plugin {
+
+ function getType() { return 'container'; }
+ function getPType() { return 'block'; }
+ function getAllowedTypes() { return array('formatting', 'substition', 'disabled', 'protected'); }
+ function getSort() { return 105; }
+ function connectTo($mode) { $this->Lexer->addEntryPattern('\[list=.*?\]\s*?\[\*\](?=.*?\x5B/list\x5D)', $mode, 'plugin_bbcode_olist'); }
+ function postConnect() { $this->Lexer->addExitPattern('\[/list\]', 'plugin_bbcode_olist'); }
+
+ /**
+ * Handle the match
+ */
+ function handle($match, $state, $pos, &$handler) {
+ switch ($state) {
+ case DOKU_LEXER_ENTER :
+ // get the list type
+ $match = substr($match, 6, -4);
+ $match = preg_split('/\]/u',$match,2);
+ return array($state, $match[0]);
+
+ case DOKU_LEXER_UNMATCHED :
+ return array($state, $match);
+
+ case DOKU_LEXER_EXIT :
+ return array($state, '');
+
+ }
+ return array();
+ }
+
+ /**
+ * Create output
+ */
+ function render($mode, &$renderer, $data) {
+ if($mode == 'xhtml') {
+ list($state, $match) = $data;
+ switch ($state) {
+ case DOKU_LEXER_ENTER :
+ switch ($match) {
+ case 'i':
+ $type = 'lower-roman';
+ break;
+ case 'I':
+ $type = 'upper-roman';
+ break;
+ case 'a':
+ $type = 'lower-alpha';
+ break;
+ case 'A':
+ $type = 'upper-alpha';
+ break;
+ default:
+ $type = 'decimal';
+ }
+ $renderer->doc .= '<ol style="list-style-type:'.$type.'"><li class="level1"><div class="li">';
+ break;
+
+ case DOKU_LEXER_UNMATCHED :
+ $match = $renderer->_xmlEntities($match);
+ $renderer->doc .= str_replace('[*]', '</div></li><li class="level1"><div class="li">', $match);
+ break;
+
+ case DOKU_LEXER_EXIT :
+ $renderer->doc .= '</div></li></ol>';
+ break;
+
+ }
+ return true;
+ }
+ return false;
+ }
+
+}
+// vim:ts=4:sw=4:et:enc=utf-8:
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/quote.php b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/quote.php
new file mode 100644
index 00000000..866f7360
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/quote.php
@@ -0,0 +1,73 @@
+<?php
+/**
+ * BBCode plugin: allows BBCode markup familiar from forum software
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Esther Brunner <esther@kaffeehaus.ch>
+ */
+
+if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
+require_once(DOKU_PLUGIN.'syntax.php');
+
+/**
+ * All DokuWiki plugins to extend the parser/rendering mechanism
+ * need to inherit from this class
+ */
+class syntax_plugin_bbcode_quote extends DokuWiki_Syntax_Plugin {
+
+ function getType() { return 'container'; }
+ function getPType() { return 'block'; }
+ function getAllowedTypes() { return array('formatting', 'substition', 'disabled', 'protected'); }
+ function getSort() { return 105; }
+ function connectTo($mode) { $this->Lexer->addEntryPattern('\[quote.*?\](?=.*?\x5B/quote\x5D)',$mode,'plugin_bbcode_quote'); }
+ function postConnect() { $this->Lexer->addExitPattern('\[/quote\]','plugin_bbcode_quote'); }
+
+ /**
+ * Handle the match
+ */
+ function handle($match, $state, $pos, &$handler) {
+ switch ($state) {
+ case DOKU_LEXER_ENTER :
+ $match = explode('"',substr($match, 6, -1));
+ return array($state, $match[1]);
+
+ case DOKU_LEXER_UNMATCHED :
+ return array($state, $match);
+
+ case DOKU_LEXER_EXIT :
+ return array($state, '');
+
+ }
+ return array();
+ }
+
+ /**
+ * Create output
+ */
+ function render($mode, &$renderer, $data) {
+ if($mode == 'xhtml') {
+ list($state, $match) = $data;
+ switch ($state) {
+ case DOKU_LEXER_ENTER :
+ if ($match !== '') $renderer->doc .= '<p><sub>'.$match.':</sub></p>';
+ $renderer->doc .= '<blockquote>';
+ break;
+
+ case DOKU_LEXER_UNMATCHED :
+ $match = $renderer->_xmlEntities($match);
+ $renderer->doc .= str_replace("\n",'<br />',$match);
+ break;
+
+ case DOKU_LEXER_EXIT :
+ $renderer->doc .= '</blockquote>';
+ break;
+
+ }
+ return true;
+ }
+ return false;
+ }
+
+}
+// vim:ts=4:sw=4:et:enc=utf-8:
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/size.php b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/size.php
new file mode 100644
index 00000000..f111a98d
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/size.php
@@ -0,0 +1,104 @@
+<?php
+/**
+ * BBCode plugin: allows BBCode markup familiar from forum software
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Esther Brunner <esther@kaffeehaus.ch>
+ * @author Luis Machuca Bezzaza <luis.machuca@gulix.cl>
+ */
+
+if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
+require_once(DOKU_PLUGIN.'syntax.php');
+
+/**
+ * All DokuWiki plugins to extend the parser/rendering mechanism
+ * need to inherit from this class
+ */
+class syntax_plugin_bbcode_size extends DokuWiki_Syntax_Plugin {
+
+ function getType() { return 'formatting'; }
+ function getAllowedTypes() { return array('formatting', 'substition', 'disabled'); }
+ function getSort() { return 105; }
+ function connectTo($mode) { $this->Lexer->addEntryPattern('\[size=.*?\](?=.*?\x5B/size\x5D)',$mode,'plugin_bbcode_size'); }
+ function postConnect() { $this->Lexer->addExitPattern('\[/size\]','plugin_bbcode_size'); }
+
+ /**
+ * Handle the match
+ */
+ function handle($match, $state, $pos, &$handler) {
+ switch ($state) {
+ case DOKU_LEXER_ENTER :
+ $match = substr($match, 6, -1);
+ if (preg_match('/".+?"/',$match)) $match = substr($match, 1, -1); // addition #1: unquote
+ if (preg_match('/^[0-6]$/',$match)) $match = self::_relsz(intval($match) ); // addition #2: relative size number
+ else if (preg_match('/^\d+$/',$match)) $match .= 'px';
+ return array($state, $match);
+
+ case DOKU_LEXER_UNMATCHED :
+ return array($state, $match);
+
+ case DOKU_LEXER_EXIT :
+ return array($state, '');
+
+ }
+ return array();
+ }
+
+ /**
+ * Create output
+ */
+ function render($mode, &$renderer, $data) {
+ if($mode == 'xhtml') {
+ list($state, $match) = $data;
+ switch ($state) {
+ case DOKU_LEXER_ENTER :
+ $renderer->doc .= '<span style="font-size:'.$renderer->_xmlEntities($match).'">';
+ break;
+
+ case DOKU_LEXER_UNMATCHED :
+ $renderer->doc .= $renderer->_xmlEntities($match);
+ break;
+
+ case DOKU_LEXER_EXIT :
+ $renderer->doc .= '</span>';
+ break;
+
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * @fn _relsz
+ * @brief Returns a relative-size CSS keyword based on numbering.
+ * @author Luis Machuca Bezzaza <luis.machuca@gulix.cl>
+ *
+ * Provides a mapping to the series of size-related keywords in CSS 2.1
+ * (http://www.w3.org/TR/REC-CSS1/#font-size)
+ * Valid values are [0-6], with 3 for "medium" (as recommended by standard)
+ */
+ private function _relsz ($value) {
+ switch ($value) {
+ case 0:
+ return 'xx-small'; break;
+ case 1:
+ return 'x-small'; break;
+ case 2:
+ return 'small'; break;
+ case 4:
+ return 'large'; break;
+ case 5:
+ return 'x-large'; break;
+ case 6:
+ return 'xx-large'; break;
+ case 3:
+ return 'medium'; break;
+ default:
+ return false; break;
+ }
+ }
+
+}
+// vim:ts=4:sw=4:et:enc=utf-8:
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/ulist.php b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/ulist.php
new file mode 100644
index 00000000..beeffb10
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/ulist.php
@@ -0,0 +1,72 @@
+<?php
+/**
+ * BBCode plugin: allows BBCode markup familiar from forum software
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Esther Brunner <esther@kaffeehaus.ch>
+ */
+
+if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
+require_once(DOKU_PLUGIN.'syntax.php');
+
+/**
+ * All DokuWiki plugins to extend the parser/rendering mechanism
+ * need to inherit from this class
+ */
+class syntax_plugin_bbcode_ulist extends DokuWiki_Syntax_Plugin {
+
+ function getType() { return 'container'; }
+ function getPType() { return 'block'; }
+ function getAllowedTypes() { return array('formatting', 'substition', 'disabled', 'protected'); }
+ function getSort() { return 105; }
+ function connectTo($mode) { $this->Lexer->addEntryPattern('\[list\]\s*?\[\*\](?=.*?\x5B/list\x5D)', $mode, 'plugin_bbcode_ulist'); }
+ function postConnect() { $this->Lexer->addExitPattern('\[/list\]', 'plugin_bbcode_ulist'); }
+
+ /**
+ * Handle the match
+ */
+ function handle($match, $state, $pos, &$handler){
+ switch ($state) {
+ case DOKU_LEXER_ENTER :
+ return array($state, '');
+
+ case DOKU_LEXER_UNMATCHED :
+ return array($state, $match);
+
+ case DOKU_LEXER_EXIT :
+ return array($state, '');
+
+ }
+ return array();
+ }
+
+ /**
+ * Create output
+ */
+ function render($mode, &$renderer, $data) {
+ if($mode == 'xhtml'){
+ list($state, $match) = $data;
+ switch ($state) {
+ case DOKU_LEXER_ENTER :
+ $renderer->doc .= '<ul><li class="level1"><div class="li">';
+ break;
+
+ case DOKU_LEXER_UNMATCHED :
+ $match = $renderer->_xmlEntities($match);
+ $renderer->doc .= str_replace('[*]', '</div></li><li class="level1"><div class="li">', $match);
+ break;
+
+ case DOKU_LEXER_EXIT :
+ $renderer->doc .= '</div></li></ul>';
+ break;
+
+ }
+ return true;
+ }
+ return false;
+ }
+
+}
+
+//Setup VIM: ex: et ts=4 enc=utf-8 :
diff --git a/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/underline.php b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/underline.php
new file mode 100644
index 00000000..ec34d5fd
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/plugins/bbcode/syntax/underline.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * BBCode plugin: allows BBCode markup familiar from forum software
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Esther Brunner <esther@kaffeehaus.ch>
+ */
+
+if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
+require_once(DOKU_PLUGIN.'syntax.php');
+
+/**
+ * All DokuWiki plugins to extend the parser/rendering mechanism
+ * need to inherit from this class
+ */
+class syntax_plugin_bbcode_underline extends DokuWiki_Syntax_Plugin {
+
+ function getType(){ return 'formatting'; }
+ function getAllowedTypes() { return array('formatting', 'substition', 'disabled'); }
+ function getSort(){ return 105; }
+ function connectTo($mode) { $this->Lexer->addEntryPattern('\[u\](?=.*?\x5B/u\x5D)',$mode,'underline'); }
+ function postConnect() { $this->Lexer->addExitPattern('\[/u\]','underline'); }
+
+ /**
+ * Handle the match
+ */
+ function handle($match, $state, $pos, &$handler){
+ return array();
+ }
+
+ /**
+ * Create output
+ */
+ function render($mode, &$renderer, $data) {
+ return true;
+ }
+}
+// vim:ts=4:sw=4:et:enc=utf-8:
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/VERSION.txt b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/VERSION.txt
new file mode 100644
index 00000000..a7bae7f1
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/VERSION.txt
@@ -0,0 +1 @@
+20070323 \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/conf/default.php b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/conf/default.php
new file mode 100644
index 00000000..2e5bb309
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/conf/default.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Default configuration for the battlehorse template
+ *
+ * @author: Riccardo "battlehorse" Govoni <battlehorse@gmail.com>
+ */
+
+$conf['btl_sidebar_position'] = 'left' ;
+$conf['btl_sidebar_name'] = 'sidebar' ;
+$conf['btl_action_palette'] = 0;
+$conf['btl_default_page_actions_status'] = 'open';
+$conf['btl_default_wiki_actions_status'] = 'closed';
+$conf['btl_default_user_actions_status'] = 'closed';
+$conf['btl_default_submit_actions_status'] = 'closed' ;
+$conf['btl_language'] = 'en';
+
+?>
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/conf/metadata.php b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/conf/metadata.php
new file mode 100644
index 00000000..1f87369c
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/conf/metadata.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * configuration-manager metadata for the battlehorse template
+ *
+ * @author: Riccardo "battlehorse" Govoni <battlehorse@gmail.com>
+ */
+
+$meta['btl_sidebar_position'] = array('multichoice', '_choices' => array('left','right'));
+$meta['btl_sidebar_name'] = array('string', '_pattern' => '#^[a-z]*#' ) ;
+$meta['btl_action_palette'] = array('onoff');
+$meta['btl_default_user_actions_status'] = array('multichoice','_choices' => array('open','closed'));
+$meta['btl_default_page_actions_status'] = array('multichoice','_choices' => array('open','closed'));
+$meta['btl_default_wiki_actions_status'] = array('multichoice','_choices' => array('open','closed'));
+$meta['btl_default_submit_actions_status'] = array('multichoice','_choices' => array('open','closed'));
+$meta['btl_language'] = array('multichoice', '_choices' => array('en','hu','it'));
+
+?>
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/design.css b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/design.css
new file mode 100644
index 00000000..3d28c913
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/design.css
@@ -0,0 +1,1029 @@
+/**
+ * Design elements for default Template
+ *
+ * @author Andreas Gohr <andi@splitbrain.org>
+ * @author Anika Henke <henke@cosmocode.de>
+ * @author Riccardo Govoni <battlehorse@gmail.com>
+ */
+
+/* -------------- general elements --------------- */
+
+* { padding: 0; margin: 0; }
+
+body {
+ font: 80% "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif;
+ background-color: __rg_background__ ;
+ color: __text__;
+ background-image: url(__rg_background_gradient__);
+ background-repeat: repeat-x;
+ background-position: 0% 0%;
+}
+
+div.dokuwiki {
+ width: 92% ;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+div.dokuwiki table {
+ font-size: 100%;
+}
+
+div.dokuwiki tr,
+div.dokuwiki td,
+div.dokuwiki th {
+}
+
+div.dokuwiki img {
+ border: 0;
+}
+
+div.dokuwiki p,
+div.dokuwiki blockquote,
+div.dokuwiki table,
+div.dokuwiki pre {
+ margin: 0 0 1.0em 0;
+}
+
+div.dokuwiki hr {
+ border: 0px;
+ border-top: 1px solid __border__;
+ text-align: center;
+ height: 0px;
+}
+
+div.dokuwiki div.nothing {
+ text-align: center;
+ margin: 2em;
+}
+
+/* ---------------- shadows under the main content ------------------------ */
+
+div.dokuwiki .page_lower_dark {
+ background-color: __rg_bread_lower_dark__ ;
+ height: 1px;
+ overflow: hidden;
+ clear: right;
+}
+
+div.dokuwiki .page_lower_medium {
+ background-color: __rg_bread_lower_medium__ ;
+ height: 1px;
+ overflow: hidden;
+}
+
+div.dokuwiki .page_lower_light {
+ background-color: __rg_bread_lower_light__ ;
+ height: 1px;
+ overflow: hidden;
+}
+
+/* ---------------- action links ------------------------ */
+
+div.smallpadding {
+ margin: 5px 0px 5px 2px ;
+}
+
+a.recent {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_recent_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+a.index {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_index_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+a.edit {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_edit_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+a.create {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_create_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+a.revisions {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_revision_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+a.backlink {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_backlink_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+a.login, a.logout {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_login_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+a.subscribe {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_subscribe_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+a.unsubscribe {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_unsubscribe_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+a.profile {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_profile_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+a.admin {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_admin_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+a.show, a.source {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_show_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+a.previous {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_previous_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+a.top {
+ padding: 10px 24px 10px 1px;
+ background: transparent url(__rg_top_action__) no-repeat;
+ background-position: center right;
+ font-variant:small-caps;
+}
+
+a.digg {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_digg_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+a.delicious {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_delicious_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+a.googlebookmark {
+ padding: 10px 1px 10px 24px ;
+ background: transparent url(__rg_google_action__) no-repeat;
+ background-position: center left;
+ font-variant:small-caps;
+}
+
+/* ---------------- alignments ------------------------ */
+
+div.dokuwiki .leftalign { text-align: left; }
+
+div.dokuwiki .centeralign { text-align: center; }
+
+div.dokuwiki .rightalign { text-align: right; }
+
+/* ---------------- forms ------------------------ */
+
+div.dokuwiki form {
+ border: none;
+ display: inline;
+}
+
+div.dokuwiki label.block {
+ display: block;
+ text-align: right;
+ font-weight: bold;
+}
+
+div.dokuwiki label.simple {
+ display: block;
+ text-align: left;
+ font-weight: normal;
+}
+
+div.dokuwiki label.block input.edit {
+ width: 50%;
+}
+
+input.edit {
+ width: 40%;
+}
+
+div.dokuwiki fieldset {
+ width: 300px;
+ text-align: center;
+ border: 1px solid __border__;
+ padding: 0.5em;
+ margin: auto;
+}
+
+div.dokuwiki textarea.edit {
+ font-family: 14pt monospace;
+ color: __text__;
+ background-color: __background__;
+ border: 1px solid __border__;
+ padding: 0.3em 0 0 0.3em;
+ width: 100%;
+}
+
+/* nice alphatransparency background except for IE <7 */
+html>body div.dokuwiki textarea.edit {
+ background: __background__ url(images/inputshadow.png) repeat-x top;
+}
+
+div.dokuwiki input.edit,
+div.dokuwiki select.edit {
+ font-size: 100%;
+ border: 1px solid __border__;
+ color: __text__;
+ background-color: __background__;
+ vertical-align: middle;
+ margin: 1px;
+ padding: 0.20em 0.3em;
+ display: inline;
+}
+
+/* nice alphatransparency background except for IE <7 */
+html>body div.dokuwiki input.edit,
+html>body div.dokuwiki select.edit {
+ background: __background__ url(images/inputshadow.png) repeat-x top;
+}
+
+div.dokuwiki select.edit {
+ padding: 0.1em 0;
+}
+
+div.dokuwiki input.missing {
+ font-size: 100%;
+ border: 1px solid __border__;
+ color: __text__;
+ background-color: #ffcccc;
+ vertical-align: middle;
+ margin: 1px;
+ padding: 0.20em 0.3em;
+ display: inline;
+}
+
+/* edit form */
+div.dokuwiki div.toolbar,
+div.dokuwiki div#wiki__editbar {
+ margin: 2px 0;
+ text-align: left;
+}
+div.dokuwiki div#size__ctl {
+ float: right;
+ width: 60px;
+ height: 2.7em;
+}
+div.dokuwiki #size__ctl img {
+ cursor: pointer;
+}
+div.dokuwiki div#wiki__editbar div.editButtons {
+ float: left;
+ padding: 0 1.0em 0.7em 0;
+}
+div.dokuwiki div#wiki__editbar div.summary {
+ float: left;
+}
+div.dokuwiki .nowrap {
+ white-space: nowrap;
+}
+div.dokuwiki div#draft__status {
+ float: right;
+ color: __text_alt__;
+}
+
+/* --------- buttons ------------------- */
+
+
+div.dokuwiki input.button,
+div.dokuwiki button.button {
+ border: 1px solid __border__;
+ color: __text__;
+ background-color: __rg_button_background__;
+ vertical-align: middle;
+ text-decoration: none;
+ font-size: 100%;
+ cursor: pointer;
+ margin: 1px;
+ padding: 0.125em 0.4em;
+}
+
+/* nice alphatransparency background except for IE <7 */
+html>body div.dokuwiki input.button,
+html>body div.dokuwiki button.button {
+ background: __rg_button_background__ url(images/buttonshadow.png) repeat-x bottom;
+}
+
+div.dokuwiki input.button:hover, button.button:hover {
+ border: 1px solid __border__;
+ background-color: __rg_button_prelight__;
+}
+
+* html div.dokuwiki input.button,
+* html div.dokuwiki button.button {
+ height: 1.8em;
+}
+
+div.dokuwiki div.secedit input.button {
+ border: 1px solid __border__;
+ color: __text__;
+ background-color: __rg_button_background__;
+ vertical-align: middle;
+ text-decoration: none;
+ margin: 0;
+ padding: 0;
+ font-size: 10px;
+ cursor: pointer;
+ float: right;
+ display: inline;
+}
+
+div.dokuwiki div.secedit input.button:hover {
+ border: 1px solid __border__;
+ background-color: __rg_button_prelight__;
+}
+
+/* ----------- page navigator ------------- */
+
+div.dokuwiki div.pagenav {
+ margin: 1em 0 0 0;
+}
+
+div.dokuwiki div.pagenav-prev {
+ text-align: right;
+ float: left;
+ width: 49%
+}
+
+div.dokuwiki div.pagenav-next {
+ text-align: left;
+ float: right;
+ width: 49%
+}
+
+/* --------------- Links ------------------ */
+
+div.dokuwiki a:link,
+div.dokuwiki a:visited {
+ color: __extern__;
+ text-decoration:underline;
+}
+div.dokuwiki a:hover,
+div.dokuwiki a:active {
+ color:__hover__;
+ text-decoration:underline;
+}
+
+div.dokuwiki h1 a,
+div.dokuwiki h2 a,
+div.dokuwiki h3 a,
+div.dokuwiki h4 a,
+div.dokuwiki h5 a,
+div.dokuwiki h1 a:hover,
+div.dokuwiki h2 a:hover,
+div.dokuwiki h3 a:hover,
+div.dokuwiki h4 a:hover,
+div.dokuwiki h5 a:hover {
+ color:__text__;
+ text-decoration:none;
+}
+
+/* external link */
+div.dokuwiki a.urlextern {
+ background: transparent url(images/link_icon.gif) 0px 1px no-repeat;
+ padding: 1px 0px 1px 16px;
+ color:__extern__;
+ text-decoration:underline;
+}
+div.dokuwiki a.urlextern:visited {
+ color: __visited__ ;
+}
+div.dokuwiki a.urlextern:hover {
+ color:__hover__ ;
+ text-decoration:underline;
+}
+
+/* windows share */
+div.dokuwiki a.windows {
+ background: transparent url(images/windows.gif) 0px 1px no-repeat;
+ padding: 1px 0px 1px 16px;
+ color:__extern__;
+ text-decoration:underline;
+}
+div.dokuwiki a.windows:visited {
+ color:__visited__ ;
+}
+div.dokuwiki a.windows:hover {
+ color:__hover__;
+ text-decoration:underline;
+}
+
+/* interwiki link (icon are set by dokuwiki) */
+div.dokuwiki a.interwiki {
+ color:__extern__;
+ text-decoration:underline;
+}
+div.dokuwiki a.interwiki:visited {
+ color:__visited__ ;
+}
+div.dokuwiki a.interwiki:hover {
+ color:__hover__ ;
+ text-decoration:underline;
+}
+
+/* link to some embedded media */
+div.dokuwiki a.media {
+ color:__extern__;
+ text-decoration:underline;
+}
+div.dokuwiki a.media:hover {
+ color:__hover__;
+ text-decoration:underline
+}
+
+/* email link */
+div.dokuwiki a.mail {
+ background: transparent url(images/mail_icon.gif) 0px 1px no-repeat;
+ padding: 1px 0px 1px 16px;
+ color:__extern__;
+ text-decoration:underline;
+}
+div.dokuwiki a.mail:hover {
+ color:__hover__ ;
+ text-decoration:underline;
+}
+
+/* existing wikipage */
+div.dokuwiki a.wikilink1:link { color:__existing__; text-decoration:underline }
+div.dokuwiki a.wikilink1:visited { color:__visited__; text-decoration:underline }
+div.dokuwiki a.wikilink1:hover { color:__hover__; text-decoration:underline }
+
+/* not existing wikipage */
+div.dokuwiki a.wikilink2:link { color:__missing__; text-decoration:underline }
+div.dokuwiki a.wikilink2:visited { color:__missing__; text-decoration:underline }
+div.dokuwiki a.wikilink2:hover { color:__missing__; text-decoration:underline }
+
+
+/* ------------- Page elements ----------------- */
+
+div.dokuwiki div.preview {
+ background-color: __background_neu__;
+ margin: 0 0 0 2em;
+ padding: 4px;
+ border: 1px dashed __text__;
+}
+
+/* ------------- Breadcrumbs ----------------- */
+
+div.dokuwiki div.breadcrumbs {
+ background-color: __background_neu__;
+ color: __text_neu__;
+ font-size: 80%;
+ padding: 0 0 0 4px;
+ vertical-align:middle;
+ border-style : solid;
+ border-width: 1px 1px 1px 1px;
+ border-color: __rg_bread_border__ ;
+ background-image: url(__rg_breadcrumbs_gradient__);
+ background-repeat: repeat-x;
+ height: 17px;
+}
+
+/* ------------- Breadcrumbs shadows ----------------- */
+
+div.dokuwiki div.bread_upper_dark {
+ background-color: __rg_bread_upper_dark__ ;
+ height: 1px;
+ overflow: hidden;
+}
+
+div.dokuwiki div.bread_lower_dark {
+ background-color: __rg_bread_lower_dark__ ;
+ height: 1px;
+ overflow: hidden;
+}
+
+div.dokuwiki div.bread_lower_medium {
+ background-color: __rg_bread_lower_medium__ ;
+ height: 1px;
+ overflow: hidden;
+}
+
+div.dokuwiki div.bread_lower_light {
+ background-color: __rg_bread_lower_light__ ;
+ height: 1px;
+ overflow: hidden;
+}
+
+
+div.dokuwiki span.user {
+ color: __text_other__;
+ font-size: 90%;
+}
+
+div.dokuwiki li.minor {
+ color: __text_neu__;
+ font-style: italic;
+}
+
+/* embedded images */
+div.dokuwiki img.media {
+ margin: 3px;
+}
+
+div.dokuwiki img.medialeft {
+ border: 0;
+ float: left;
+ margin: 0 1.5em 0 0;
+}
+
+div.dokuwiki img.mediaright {
+ border: 0;
+ float: right;
+ margin: 0 0 0 1.5em;
+}
+
+div.dokuwiki img.mediacenter {
+ border: 0;
+ display: block;
+ margin: 0 auto;
+}
+
+/* smileys */
+div.dokuwiki img.middle {
+ vertical-align: middle;
+}
+
+div.dokuwiki acronym {
+ cursor: help;
+ border-bottom: 1px dotted __text__;
+}
+
+/* general headline setup */
+div.dokuwiki h1,
+div.dokuwiki h2,
+div.dokuwiki h3,
+div.dokuwiki h4,
+div.dokuwiki h5 {
+ color: __text__;
+ background-color: transparent;
+ font-family: "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif;
+ font-size: 100%;
+ font-weight: normal;
+ margin: 0 0 1em 0;
+ padding: 0.5em 0 0 0;
+ border-bottom: 1px solid __border__;
+ clear: left;
+}
+
+/* special headlines */
+div.dokuwiki h1 {font-size: 160%; margin-left: 0px; font-weight: bold;}
+div.dokuwiki h2 {font-size: 150%; margin-left: 3px; border-bottom: 1px dotted __border__ }
+div.dokuwiki h3 {font-size: 140%; margin-left: 6px; border-bottom: 1px dotted __border__ ; font-weight: bold;}
+div.dokuwiki h4 {font-size: 120%; margin-left: 9px; border-bottom: none ; font-weight: bold;}
+div.dokuwiki h5 {font-size: 100%; margin-left: 12px; border-bottom: none ; font-weight: bold;}
+
+/* special headlines for sidebar */
+div.dokuwiki div.sidebar h1 { clear: none; font-size: 120%; text-transform: uppercase; letter-spacing: 0.2em; text-align: center; margin-bottom: 5px;}
+div.dokuwiki div.sidebar h2 { clear: none; font-size: 120%; text-transform: uppercase; letter-spacing: 0.2em; text-align: center; margin-bottom: 5px;}
+div.dokuwiki div.sidebar h3 { clear: none; margin-bottom: 2px;}
+div.dokuwiki div.sidebar h4 { clear: none; margin-bottom: 2px;}
+div.dokuwiki div.sidebar h5 { clear: none; margin-bottom: 2px;}
+
+/* indent different sections */
+div.dokuwiki div.level1 {margin-left: 3px;}
+div.dokuwiki div.level2 {margin-left: 6px;}
+div.dokuwiki div.level3 {margin-left: 9px;}
+div.dokuwiki div.level4 {margin-left: 12px;}
+div.dokuwiki div.level5 {margin-left: 15px;}
+
+/* unordered lists */
+div.dokuwiki ul {
+ line-height: 1.5em;
+ list-style-type: square;
+ list-style-image: none;
+ margin: 0 0 0.5em 1.5em;
+ color: __text_alt__;
+}
+
+/* ordered lists */
+div.dokuwiki ol {
+ line-height: 1.5em;
+ list-style-image: none;
+ margin: 0 0 0.5em 1.5em;
+ color: __text_alt__;
+ font-weight: bold;
+}
+
+/* the list items overriding the ul/ol definition */
+div.dokuwiki .li {
+ color: __text__;
+ font-weight: normal;
+}
+
+div.dokuwiki ol {list-style-type: decimal}
+div.dokuwiki ol ol {list-style-type: upper-roman}
+div.dokuwiki ol ol ol {list-style-type: lower-alpha}
+div.dokuwiki ol ol ol ol {list-style-type: lower-greek}
+
+div.dokuwiki li.open {
+ list-style-image: url(images/open.gif);
+ /*list-style-type: circle;*/
+}
+
+div.dokuwiki li.closed {
+ list-style-image: url(images/closed.gif);
+ /*list-style-type: disc;*/
+}
+
+div.dokuwiki blockquote {
+ border-left: 2px solid __border__;
+ padding-left: 3px;
+}
+
+div.dokuwiki pre {
+ font-size: 120%;
+ padding: 0.5em;
+ border: 1px dashed __rg_code_border__;
+ color: __text__;
+ overflow: auto;
+}
+
+/* code blocks by indention */
+div.dokuwiki pre.pre {
+ background-color: __rg_code__ ;
+}
+
+/* code blocks by code tag */
+div.dokuwiki pre.code {
+ background-color: __rg_code__ ;
+}
+
+/* inline code words */
+div.dokuwiki code {
+ font-size: 120%;
+}
+
+/* code blocks by file tag */
+div.dokuwiki pre.file {
+ font-size: 120%;
+ padding: 0.5em;
+ border: 1px dotted __rg_file_border__ ;
+ color: Black;
+ background-color: __rg_file__ ;
+ overflow: auto;
+}
+
+/* Highlights the current page in the index */
+.curid {
+ font-weight: bold;
+}
+
+/* inline tables */
+div.dokuwiki table.inline {
+ border-style: none;
+ background-color: __background__;
+/* border-spacing: 0px; */
+/* border-collapse: collapse; */
+}
+
+div.dokuwiki table.inline th {
+ padding: 3px;
+ border: 1px solid __border__;
+ background-color: __background_alt__;
+}
+
+div.dokuwiki table.inline td {
+ padding: 3px;
+ border: 1px solid __border__;
+}
+
+/* ---------- table of contents ------------------- */
+
+div.dokuwiki div.toc {
+ margin: 1.2em 0 0 2em;
+ float: right;
+ width: 200px;
+ font-size: 80%;
+ clear: both;
+}
+
+div.dokuwiki div.sidebar div.toc {
+ display: none;
+}
+
+div.dokuwiki div.tocheader {
+ border: 1px solid __border__;
+ background-color: __background_alt__;
+ text-align: left;
+ font-weight: bold;
+ padding: 3px;
+ margin-bottom: 2px;
+}
+
+div.dokuwiki div.tocheader img {
+ width: 0.8em;
+ height: 0.8em;
+ float: right;
+ margin: 0.3em 3px 0 0;
+ cursor: pointer;
+}
+
+div.dokuwiki #toc__inside {
+ border: 1px solid __border__;
+ background-color: __background__;
+ text-align: left;
+ padding: 0.5em 0 0.7em 0;
+}
+
+div.dokuwiki ul.toc {
+ list-style-type: none;
+ list-style-image: none;
+ line-height: 1.2em;
+ padding-left: 1em;
+ margin: 0;
+}
+
+div.dokuwiki ul.toc li {
+ background: transparent url(images/tocdot2.gif) 0 0.6em no-repeat;
+ padding-left: 0.4em;
+}
+
+div.dokuwiki ul.toc li.clear {
+ background-image: none;
+ padding-left: 0.4em;
+}
+
+div.dokuwiki a.toc:link,
+div.dokuwiki a.toc:visited {
+ color: __text__ ;
+ text-decoration:none;
+}
+
+div.dokuwiki a.toc:hover,
+div.dokuwiki a.toc:active {
+ color: __text__;
+ text-decoration:underline;
+}
+
+/* ---------------------------- Diff rendering --------------------------*/
+div.dokuwiki table.diff {
+ background-color: __background__;
+ width: 100%;
+}
+div.dokuwiki td.diff-blockheader {
+ font-weight: bold;
+}
+div.dokuwiki table.diff th {
+ border-bottom: 1px solid __border__;
+ font-size: 120%;
+ width: 50%;
+ font-weight: normal;
+ text-align: left;
+}
+div.dokuwiki table.diff td {
+ font-family: monospace;
+ font-size: 100%;
+}
+div.dokuwiki td.diff-addedline {
+ background-color: #ddffdd;
+}
+div.dokuwiki td.diff-deletedline {
+ background-color: #ffffbb;
+}
+div.dokuwiki td.diff-context {
+ background-color: __background_neu__;
+}
+div.dokuwiki span.diffchange {
+ color: red;
+}
+
+/* --------------------- footnotes -------------------------------- */
+
+div.dokuwiki div.footnotes {
+ clear: both;
+ border-top: 1px solid __border__;
+ padding-left: 1em;
+ margin-top: 1em;
+}
+
+div.dokuwiki div.fn {
+ font-size: 90%;
+}
+
+div.dokuwiki a.fn_top {
+ vertical-align: super;
+ font-size: 80%;
+}
+
+div.dokuwiki a.fn_bot {
+ vertical-align: super;
+ font-size: 80%;
+ font-weight: bold;
+}
+
+/* insitu-footnotes */
+div.insitu-footnote {
+ font-size: 80%;
+ line-height: 1.2em;
+ border: 1px solid __border__;
+ background-color: __background_other__;
+ text-align: left;
+ padding: 4px;
+ max-width: 40%; /* IE's width is handled in javascript */
+}
+
+/* overcome IE issue with one line code or file boxes which require h. scrolling */
+* html .insitu-footnote pre.code,
+* html .insitu-footnote pre.file {
+ padding-bottom: 18px;
+}
+
+/* --------------- search result formating --------------- */
+div.dokuwiki .search_result {
+ margin-bottom: 6px;
+ padding: 0 10px 0 30px;
+}
+
+div.dokuwiki .search_snippet {
+ color: __text_other__;
+ font-size: 12px;
+ margin-left: 20px;
+}
+
+div.dokuwiki .search_sep {
+ color: __text__;
+}
+
+div.dokuwiki .search_hit {
+ color: __text__;
+ background-color: __highlight__;
+}
+
+div.dokuwiki div.search_quickresult {
+ margin: 0 0 15px 30px;
+ padding: 0 10px 10px 0;
+ border-bottom: 1px dashed __border__;
+}
+div.dokuwiki div.search_quickresult h3 {
+ margin: 0 0 1.0em 0;
+ font-size: 1em;
+ font-weight: bold;
+}
+
+div.dokuwiki ul.search_quickhits {
+ margin: 0 0 0.5em 1.0em;
+}
+
+div.dokuwiki ul.search_quickhits li {
+ margin: 0 1.0em 0 1.0em;
+ float:left;
+ width: 30%;
+}
+
+/* ------------------ Additional ---------------------- */
+
+div.footerinc {
+ text-align: center;
+}
+.footerinc a img {
+ opacity: 0.5;
+ border: 0;
+}
+
+.footerinc a:hover img {
+ opacity: 1;
+}
+
+/* ---------- AJAX quicksearch ----------- */
+
+div.dokuwiki div.ajax_qsearch {
+ position: absolute;
+ right: 237px;;
+ width: 200px;
+ opacity: 0.9;
+ display: none;
+ font-size: 80%;
+ line-height: 1.2em;
+ border: 1px solid __border__;
+ background-color: __background_other__;
+ text-align: left;
+ padding: 4px;
+}
+
+/* --------- Toolbar -------------------- */
+button.toolbutton {
+ background-color: __background__;
+ padding: 0px;
+ margin: 0 1px 0 0;
+ border: 1px solid __border__;
+ cursor: pointer;
+}
+
+/* nice alphatransparency background except for IE <7 */
+html>body button.toolbutton {
+ background: __background__ url(images/buttonshadow.png) repeat-x bottom;
+}
+
+div.picker {
+ width: 250px;
+ border: 1px solid __border__;
+ background-color: __background_alt__;
+}
+
+button.pickerbutton {
+ padding: 0px;
+ margin: 0 1px 1px 0;
+ border: 0;
+ background-color: transparent;
+ font-size: 80%;
+ cursor: pointer;
+}
+
+/* ---------- Spellchecking ------------- */
+
+div.dokuwiki a.spell_error {
+ color: #f00;
+ text-decoration: underline;
+}
+
+div.dokuwiki div#spell__suggest {
+ background-color: __background__;
+ padding: 2px;
+ border: 1px solid __text__;
+ font-size: 80%;
+ display: none;
+}
+
+div.dokuwiki div#spell__result {
+ border: 1px solid __border__;
+ color: __text__;
+ font-size: 14px;
+ padding: 3px;
+ background-color: __background_other__;
+ display: none;
+}
+
+div.dokuwiki span.spell_noerr {
+ color: #093;
+}
+
+div.dokuwiki span.spell_wait {
+ color: #06c;
+}
+
+/* --------------- Image Details ----------------- */
+
+div.dokuwiki div.img_big {
+ float: left;
+ margin-right: 0.5em;
+}
+
+div.dokuwiki dl.img_tags dt {
+ font-weight: bold;
+ background-color: __background_alt__;
+}
+div.dokuwiki dl.img_tags dd {
+ background-color: __background_neu__;
+}
+
+div.dokuwiki div.imagemeta {
+ color: __text_neu__;
+ font-size: 70%;
+ line-height: 95%;
+}
+
+div.dokuwiki div.imagemeta img.thumb {
+ float:left;
+ margin-right: 0.1em;
+}
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/detail.php b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/detail.php
new file mode 100644
index 00000000..d62031fb
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/detail.php
@@ -0,0 +1,92 @@
+<?php
+/**
+ * DokuWiki Image Detail Template
+ *
+ * This is the template for displaying image details
+ *
+ * You should leave the doctype at the very top - It should
+ * always be the very first line of a document.
+ *
+ * @link http://wiki.splitbrain.org/wiki:tpl:templates
+ * @author Andreas Gohr <andi@splitbrain.org>
+ */
+
+// must be run from within DokuWiki
+if (!defined('DOKU_INC')) die();
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $conf['lang']?>" lang="<?php echo $conf['lang']?>" dir="ltr">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>
+ <?php echo hsc(tpl_img_getTag('IPTC.Headline',$IMG))?>
+ [<?php echo strip_tags($conf['title'])?>]
+ </title>
+
+ <?php tpl_metaheaders()?>
+
+ <link rel="shortcut icon" href="<?php echo DOKU_TPL?>images/favicon.ico" />
+</head>
+
+<body>
+<div class="dokuwiki">
+ <?php html_msgarea()?>
+
+ <div class="page">
+ <?php if($ERROR){ print $ERROR; }else{ ?>
+
+ <h1><?php echo hsc(tpl_img_getTag('IPTC.Headline',$IMG))?></h1>
+
+ <div class="img_big">
+ <?php tpl_img(900,700) ?>
+ </div>
+
+ <div class="img_detail">
+ <p class="img_caption">
+ <?php print nl2br(hsc(tpl_img_getTag(array('IPTC.Caption',
+ 'EXIF.UserComment',
+ 'EXIF.TIFFImageDescription',
+ 'EXIF.TIFFUserComment')))); ?>
+ </p>
+
+ <p>&larr; <?php echo $lang['img_backto']?> <?php tpl_pagelink($ID)?></p>
+
+ <dl class="img_tags">
+ <?php
+ $t = tpl_img_getTag('Date.EarliestTime');
+ if($t) print '<dt>'.$lang['img_date'].':</dt><dd>'.date($conf['dformat'],$t).'</dd>';
+
+ $t = tpl_img_getTag('File.Name');
+ if($t) print '<dt>'.$lang['img_fname'].':</dt><dd>'.hsc($t).'</dd>';
+
+ $t = tpl_img_getTag(array('Iptc.Byline','Exif.TIFFArtist','Exif.Artist','Iptc.Credit'));
+ if($t) print '<dt>'.$lang['img_artist'].':</dt><dd>'.hsc($t).'</dd>';
+
+ $t = tpl_img_getTag(array('Iptc.CopyrightNotice','Exif.TIFFCopyright','Exif.Copyright'));
+ if($t) print '<dt>'.$lang['img_copyr'].':</dt><dd>'.hsc($t).'</dd>';
+
+ $t = tpl_img_getTag('File.Format');
+ if($t) print '<dt>'.$lang['img_format'].':</dt><dd>'.hsc($t).'</dd>';
+
+ $t = tpl_img_getTag('File.NiceSize');
+ if($t) print '<dt>'.$lang['img_fsize'].':</dt><dd>'.hsc($t).'</dd>';
+
+ $t = tpl_img_getTag('Simple.Camera');
+ if($t) print '<dt>'.$lang['img_camera'].':</dt><dd>'.hsc($t).'</dd>';
+
+ $t = tpl_img_getTag(array('IPTC.Keywords','IPTC.Category'));
+ if($t) print '<dt>'.$lang['img_keywords'].':</dt><dd>'.hsc($t).'</dd>';
+
+ ?>
+ </dl>
+ <?php //Comment in for Debug// dbg(tpl_img_getTag('Simple.Raw'));?>
+ </div>
+
+ <?php } ?>
+ </div>
+</div>
+</body>
+</html>
+
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/footer.html b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/footer.html
new file mode 100644
index 00000000..f89194a6
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/footer.html
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Example footer include
+ *
+ * This file shows you how to use the include hooks. However I recommend to
+ * create your own complete new template instead.
+ */
+
+$tgt = ($conf['target']['extern']) ? 'target="'.$conf['target']['extern'].'"' : '';
+?>
+
+<div class="footerinc">
+
+ <a <?php echo $tgt?> href="http://www.spreadfirefox.com/?q=affiliates&amp;id=0&amp;t=82">
+ <img border="0" alt="Get Firefox!" title="Get Firefox!" src="http://sfx-images.mozilla.org/affiliates/Buttons/80x15/white_1.gif"/>
+ </a>
+
+ <a <?php echo $tgt?> href="<?php echo DOKU_BASE; ?>feed.php" title="Recent changes RSS feed"><img src="<?php echo DOKU_TPL; ?>images/button-rss.png" width="80" height="15" alt="Recent changes RSS feed" /></a>
+
+ <a <?php echo $tgt?> href="http://creativecommons.org/licenses/by-nc-sa/2.0/" rel="license" title="Creative Commons License"><img src="<?php echo DOKU_TPL; ?>images/button-cc.gif" width="80" height="15" alt="Creative Commons License" /></a>
+
+ <a <?php echo $tgt?> href="https://www.paypal.com/xclick/business=andi%40splitbrain.org&amp;item_name=DokuWiki+Donation&amp;no_shipping=1&amp;no_note=1&amp;tax=0&amp;currency_code=EUR&amp;lc=US" title="Donate"><img src="<?php echo DOKU_TPL; ?>images/button-donate.gif" alt="Donate" width="80" height="15" /></a>
+
+ <a <?php echo $tgt?> href="http://www.php.net" title="Powered by PHP"><img src="<?php echo DOKU_TPL; ?>images/button-php.gif" width="80" height="15" alt="Powered by PHP" /></a>
+
+ <a <?php echo $tgt?> href="http://validator.w3.org/check/referer" title="Valid XHTML 1.0"><img src="<?php echo DOKU_TPL; ?>images/button-xhtml.png" width="80" height="15" alt="Valid XHTML 1.0" /></a>
+
+ <a <?php echo $tgt?> href="http://jigsaw.w3.org/css-validator/check/referer" title="Valid CSS"><img src="<?php echo DOKU_TPL; ?>images/button-css.png" width="80" height="15" alt="Valid CSS" /></a>
+
+ <a <?php echo $tgt?> href="http://wiki.splitbrain.org/wiki:dokuwiki" title="Driven by DokuWiki"><img src="<?php echo DOKU_TPL; ?>images/button-dw.png" width="80" height="15" alt="Driven by DokuWiki" /></a>
+
+
+<?php
+/*
+ * The following stuff in HTML comments declares a Creative Commons
+ * License - remove this if you don't want this license for your Wiki
+ */
+?>
+
+<!--
+
+<rdf:RDF xmlns="http://web.resource.org/cc/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+<Work rdf:about="">
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
+ <license rdf:resource="http://creativecommons.org/licenses/by-nc-sa/2.0/" />
+</Work>
+
+<License rdf:about="http://creativecommons.org/licenses/by-nc-sa/2.0/">
+ <permits rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <permits rdf:resource="http://web.resource.org/cc/Distribution" />
+ <requires rdf:resource="http://web.resource.org/cc/Notice" />
+ <requires rdf:resource="http://web.resource.org/cc/Attribution" />
+ <prohibits rdf:resource="http://web.resource.org/cc/CommercialUse" />
+ <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ <requires rdf:resource="http://web.resource.org/cc/ShareAlike" />
+</License>
+
+</rdf:RDF>
+
+-->
+
+<?php
+if ($conf['allowdebug']) {
+ echo '<!-- page made in '.round(delta_time(DOKU_START_TIME), 3).' seconds -->';
+}
+?>
+
+</div>
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/admin.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/admin.png
new file mode 100644
index 00000000..bb6292a4
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/admin.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/backlink.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/backlink.png
new file mode 100644
index 00000000..69a232c3
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/backlink.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/create.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/create.png
new file mode 100644
index 00000000..cbc86459
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/create.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/delicious.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/delicious.gif
new file mode 100644
index 00000000..a4d88e53
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/delicious.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/digg.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/digg.gif
new file mode 100644
index 00000000..becd3b33
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/digg.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/edit.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/edit.png
new file mode 100644
index 00000000..d5dccbb7
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/edit.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/google.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/google.gif
new file mode 100644
index 00000000..15369dd7
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/google.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/history.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/history.png
new file mode 100644
index 00000000..e32e1a55
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/history.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/index.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/index.png
new file mode 100644
index 00000000..bc261a7f
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/index.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/login.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/login.png
new file mode 100644
index 00000000..ba9f104f
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/login.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/previous.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/previous.png
new file mode 100644
index 00000000..bc3d5d84
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/previous.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/profile.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/profile.png
new file mode 100644
index 00000000..633ae914
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/profile.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/recent.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/recent.png
new file mode 100644
index 00000000..b1808dec
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/recent.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/show.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/show.png
new file mode 100644
index 00000000..17fb91d8
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/show.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/subscribe.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/subscribe.png
new file mode 100644
index 00000000..d692bf84
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/subscribe.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/top.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/top.png
new file mode 100644
index 00000000..b79a36d0
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/top.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/unsubscribe.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/unsubscribe.png
new file mode 100644
index 00000000..d2b55aa5
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/actions/unsubscribe.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/black_arrow.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/black_arrow.gif
new file mode 100644
index 00000000..72908cb6
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/black_arrow.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/faded_background.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/faded_background.png
new file mode 100644
index 00000000..78d1bf03
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/faded_background.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/favicon.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/favicon.png
new file mode 100644
index 00000000..bbeb278d
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/favicon.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/find.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/find.gif
new file mode 100644
index 00000000..0a7193dd
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/find.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_background.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_background.png
new file mode 100644
index 00000000..1e9a1736
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_background.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_bc.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_bc.png
new file mode 100644
index 00000000..1cbabd3f
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_bc.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_logo.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_logo.png
new file mode 100644
index 00000000..c4c3a89b
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_logo.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_status.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_status.png
new file mode 100644
index 00000000..613693d3
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/gradient_status.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/user_icon.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/user_icon.png
new file mode 100644
index 00000000..7335517b
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/user_icon.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/wiki_logo.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/wiki_logo.png
new file mode 100644
index 00000000..397b73df
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/b/wiki_logo.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/bullet.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/bullet.gif
new file mode 100644
index 00000000..e10e3760
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/bullet.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-cc.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-cc.gif
new file mode 100644
index 00000000..5861d637
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-cc.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-css.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-css.png
new file mode 100644
index 00000000..706325e1
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-css.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-donate.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-donate.gif
new file mode 100644
index 00000000..ec682c6b
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-donate.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-dw.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-dw.png
new file mode 100644
index 00000000..39d5f56a
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-dw.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-php.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-php.gif
new file mode 100644
index 00000000..28f329aa
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-php.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-rss.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-rss.png
new file mode 100644
index 00000000..b036f715
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-rss.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-xhtml.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-xhtml.png
new file mode 100644
index 00000000..ec686442
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/button-xhtml.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/buttonshadow.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/buttonshadow.png
new file mode 100644
index 00000000..f60be309
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/buttonshadow.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/closed.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/closed.gif
new file mode 100644
index 00000000..ed106694
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/closed.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon.ico b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon.ico
new file mode 100644
index 00000000..5720d1ed
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon.ico
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon_blue.ico b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon_blue.ico
new file mode 100644
index 00000000..547aaae4
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon_blue.ico
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon_green.ico b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon_green.ico
new file mode 100644
index 00000000..ef55da6c
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon_green.ico
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon_plain.ico b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon_plain.ico
new file mode 100644
index 00000000..8b9616ab
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/favicon_plain.ico
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/inputshadow.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/inputshadow.png
new file mode 100644
index 00000000..d286beb2
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/inputshadow.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/link_icon.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/link_icon.gif
new file mode 100644
index 00000000..815ccb1b
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/link_icon.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/mail_icon.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/mail_icon.gif
new file mode 100644
index 00000000..50a87a9a
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/mail_icon.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/open.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/open.gif
new file mode 100644
index 00000000..d9adc8b8
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/open.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/admin.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/admin.png
new file mode 100644
index 00000000..75dfdf60
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/admin.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/backlink.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/backlink.png
new file mode 100644
index 00000000..b583cee8
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/backlink.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/create.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/create.png
new file mode 100644
index 00000000..a0c8dcb5
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/create.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/delicious.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/delicious.gif
new file mode 100644
index 00000000..a4d88e53
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/delicious.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/digg.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/digg.gif
new file mode 100644
index 00000000..becd3b33
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/digg.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/edit.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/edit.png
new file mode 100644
index 00000000..a0c8dcb5
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/edit.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/google.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/google.gif
new file mode 100644
index 00000000..15369dd7
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/google.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/history.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/history.png
new file mode 100644
index 00000000..e8a22abe
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/history.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/index.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/index.png
new file mode 100644
index 00000000..f487164e
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/index.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/login.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/login.png
new file mode 100644
index 00000000..66cc1e9e
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/login.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/previous.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/previous.png
new file mode 100644
index 00000000..793412ac
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/previous.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/profile.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/profile.png
new file mode 100644
index 00000000..c800c26c
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/profile.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/recent.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/recent.png
new file mode 100644
index 00000000..2b937ff9
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/recent.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/show.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/show.png
new file mode 100644
index 00000000..52a09596
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/show.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/subscribe.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/subscribe.png
new file mode 100644
index 00000000..efa97566
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/subscribe.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/top.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/top.png
new file mode 100644
index 00000000..7154e1d9
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/top.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/unsubscribe.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/unsubscribe.png
new file mode 100644
index 00000000..951509c5
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/actions/unsubscribe.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/faded_background.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/faded_background.png
new file mode 100644
index 00000000..eda77e26
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/faded_background.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_background.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_background.png
new file mode 100644
index 00000000..d9c70825
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_background.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_bc.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_bc.png
new file mode 100644
index 00000000..92bd4a42
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_bc.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_logo.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_logo.png
new file mode 100644
index 00000000..6afaaa13
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_logo.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_status.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_status.png
new file mode 100644
index 00000000..1b6a06bc
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/gradient_status.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/wiki_logo.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/wiki_logo.png
new file mode 100644
index 00000000..0c192b94
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/p/wiki_logo.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/admin.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/admin.png
new file mode 100644
index 00000000..bb6292a4
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/admin.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/backlink.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/backlink.png
new file mode 100644
index 00000000..5658c4de
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/backlink.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/create.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/create.png
new file mode 100644
index 00000000..cbc86459
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/create.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/delicious.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/delicious.gif
new file mode 100644
index 00000000..a4d88e53
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/delicious.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/digg.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/digg.gif
new file mode 100644
index 00000000..becd3b33
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/digg.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/edit.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/edit.png
new file mode 100644
index 00000000..d5dccbb7
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/edit.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/google.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/google.gif
new file mode 100644
index 00000000..15369dd7
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/google.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/history.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/history.png
new file mode 100644
index 00000000..5a7d0d12
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/history.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/index.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/index.png
new file mode 100644
index 00000000..bc261a7f
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/index.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/login.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/login.png
new file mode 100644
index 00000000..9706d5d9
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/login.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/previous.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/previous.png
new file mode 100644
index 00000000..9c538bec
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/previous.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/profile.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/profile.png
new file mode 100644
index 00000000..633ae914
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/profile.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/recent.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/recent.png
new file mode 100644
index 00000000..4eb61e98
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/recent.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/show.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/show.png
new file mode 100644
index 00000000..17fb91d8
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/show.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/subscribe.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/subscribe.png
new file mode 100644
index 00000000..d692bf84
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/subscribe.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/top.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/top.png
new file mode 100644
index 00000000..3bd4b3f0
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/top.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/unsubscribe.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/unsubscribe.png
new file mode 100644
index 00000000..d2b55aa5
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/actions/unsubscribe.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/black_arrow.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/black_arrow.gif
new file mode 100644
index 00000000..72908cb6
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/black_arrow.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/faded_background.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/faded_background.png
new file mode 100644
index 00000000..5c12fdb4
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/faded_background.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/favicon.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/favicon.png
new file mode 100644
index 00000000..7fab664a
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/favicon.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/find.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/find.gif
new file mode 100644
index 00000000..4bff3b79
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/find.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_background.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_background.png
new file mode 100644
index 00000000..54fd373e
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_background.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_bc.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_bc.png
new file mode 100644
index 00000000..1cbabd3f
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_bc.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_logo.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_logo.png
new file mode 100644
index 00000000..48808546
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_logo.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_status.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_status.png
new file mode 100644
index 00000000..613693d3
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/gradient_status.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/user_icon.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/user_icon.png
new file mode 100644
index 00000000..9a540998
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/user_icon.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/wiki_logo.png b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/wiki_logo.png
new file mode 100644
index 00000000..e8bde0f9
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/r/wiki_logo.png
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/tocdot2.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/tocdot2.gif
new file mode 100644
index 00000000..3d39c2e7
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/tocdot2.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/windows.gif b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/windows.gif
new file mode 100644
index 00000000..4f12acce
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/images/windows.gif
Binary files differ
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/builder.js b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/builder.js
new file mode 100644
index 00000000..199afc12
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/builder.js
@@ -0,0 +1,131 @@
+// script.aculo.us builder.js v1.7.0, Fri Jan 19 19:16:36 CET 2007
+
+// Copyright (c) 2005, 2006 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
+//
+// script.aculo.us is freely distributable under the terms of an MIT-style license.
+// For details, see the script.aculo.us web site: http://script.aculo.us/
+
+var Builder = {
+ NODEMAP: {
+ AREA: 'map',
+ CAPTION: 'table',
+ COL: 'table',
+ COLGROUP: 'table',
+ LEGEND: 'fieldset',
+ OPTGROUP: 'select',
+ OPTION: 'select',
+ PARAM: 'object',
+ TBODY: 'table',
+ TD: 'table',
+ TFOOT: 'table',
+ TH: 'table',
+ THEAD: 'table',
+ TR: 'table'
+ },
+ // note: For Firefox < 1.5, OPTION and OPTGROUP tags are currently broken,
+ // due to a Firefox bug
+ node: function(elementName) {
+ elementName = elementName.toUpperCase();
+
+ // try innerHTML approach
+ var parentTag = this.NODEMAP[elementName] || 'div';
+ var parentElement = document.createElement(parentTag);
+ try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
+ parentElement.innerHTML = "<" + elementName + "></" + elementName + ">";
+ } catch(e) {}
+ var element = parentElement.firstChild || null;
+
+ // see if browser added wrapping tags
+ if(element && (element.tagName.toUpperCase() != elementName))
+ element = element.getElementsByTagName(elementName)[0];
+
+ // fallback to createElement approach
+ if(!element) element = document.createElement(elementName);
+
+ // abort if nothing could be created
+ if(!element) return;
+
+ // attributes (or text)
+ if(arguments[1])
+ if(this._isStringOrNumber(arguments[1]) ||
+ (arguments[1] instanceof Array)) {
+ this._children(element, arguments[1]);
+ } else {
+ var attrs = this._attributes(arguments[1]);
+ if(attrs.length) {
+ try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
+ parentElement.innerHTML = "<" +elementName + " " +
+ attrs + "></" + elementName + ">";
+ } catch(e) {}
+ element = parentElement.firstChild || null;
+ // workaround firefox 1.0.X bug
+ if(!element) {
+ element = document.createElement(elementName);
+ for(attr in arguments[1])
+ element[attr == 'class' ? 'className' : attr] = arguments[1][attr];
+ }
+ if(element.tagName.toUpperCase() != elementName)
+ element = parentElement.getElementsByTagName(elementName)[0];
+ }
+ }
+
+ // text, or array of children
+ if(arguments[2])
+ this._children(element, arguments[2]);
+
+ return element;
+ },
+ _text: function(text) {
+ return document.createTextNode(text);
+ },
+
+ ATTR_MAP: {
+ 'className': 'class',
+ 'htmlFor': 'for'
+ },
+
+ _attributes: function(attributes) {
+ var attrs = [];
+ for(attribute in attributes)
+ attrs.push((attribute in this.ATTR_MAP ? this.ATTR_MAP[attribute] : attribute) +
+ '="' + attributes[attribute].toString().escapeHTML() + '"');
+ return attrs.join(" ");
+ },
+ _children: function(element, children) {
+ if(typeof children=='object') { // array can hold nodes and text
+ children.flatten().each( function(e) {
+ if(typeof e=='object')
+ element.appendChild(e)
+ else
+ if(Builder._isStringOrNumber(e))
+ element.appendChild(Builder._text(e));
+ });
+ } else
+ if(Builder._isStringOrNumber(children))
+ element.appendChild(Builder._text(children));
+ },
+ _isStringOrNumber: function(param) {
+ return(typeof param=='string' || typeof param=='number');
+ },
+ build: function(html) {
+ var element = this.node('div');
+ $(element).update(html.strip());
+ return element.down();
+ },
+ dump: function(scope) {
+ if(typeof scope != 'object' && typeof scope != 'function') scope = window; //global scope
+
+ var tags = ("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY " +
+ "BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET " +
+ "FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+
+ "KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+
+ "PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+
+ "TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);
+
+ tags.each( function(tag){
+ scope[tag] = function() {
+ return Builder.node.apply(Builder, [tag].concat($A(arguments)));
+ }
+ });
+ }
+}
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/controls.js b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/controls.js
new file mode 100644
index 00000000..46f2cc18
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/controls.js
@@ -0,0 +1,835 @@
+// script.aculo.us controls.js v1.7.0, Fri Jan 19 19:16:36 CET 2007
+
+// Copyright (c) 2005, 2006 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
+// (c) 2005, 2006 Ivan Krstic (http://blogs.law.harvard.edu/ivan)
+// (c) 2005, 2006 Jon Tirsen (http://www.tirsen.com)
+// Contributors:
+// Richard Livsey
+// Rahul Bhargava
+// Rob Wills
+//
+// script.aculo.us is freely distributable under the terms of an MIT-style license.
+// For details, see the script.aculo.us web site: http://script.aculo.us/
+
+// Autocompleter.Base handles all the autocompletion functionality
+// that's independent of the data source for autocompletion. This
+// includes drawing the autocompletion menu, observing keyboard
+// and mouse events, and similar.
+//
+// Specific autocompleters need to provide, at the very least,
+// a getUpdatedChoices function that will be invoked every time
+// the text inside the monitored textbox changes. This method
+// should get the text for which to provide autocompletion by
+// invoking this.getToken(), NOT by directly accessing
+// this.element.value. This is to allow incremental tokenized
+// autocompletion. Specific auto-completion logic (AJAX, etc)
+// belongs in getUpdatedChoices.
+//
+// Tokenized incremental autocompletion is enabled automatically
+// when an autocompleter is instantiated with the 'tokens' option
+// in the options parameter, e.g.:
+// new Ajax.Autocompleter('id','upd', '/url/', { tokens: ',' });
+// will incrementally autocomplete with a comma as the token.
+// Additionally, ',' in the above example can be replaced with
+// a token array, e.g. { tokens: [',', '\n'] } which
+// enables autocompletion on multiple tokens. This is most
+// useful when one of the tokens is \n (a newline), as it
+// allows smart autocompletion after linebreaks.
+
+if(typeof Effect == 'undefined')
+ throw("controls.js requires including script.aculo.us' effects.js library");
+
+var Autocompleter = {}
+Autocompleter.Base = function() {};
+Autocompleter.Base.prototype = {
+ baseInitialize: function(element, update, options) {
+ this.element = $(element);
+ this.update = $(update);
+ this.hasFocus = false;
+ this.changed = false;
+ this.active = false;
+ this.index = 0;
+ this.entryCount = 0;
+
+ if(this.setOptions)
+ this.setOptions(options);
+ else
+ this.options = options || {};
+
+ this.options.paramName = this.options.paramName || this.element.name;
+ this.options.tokens = this.options.tokens || [];
+ this.options.frequency = this.options.frequency || 0.4;
+ this.options.minChars = this.options.minChars || 1;
+ this.options.onShow = this.options.onShow ||
+ function(element, update){
+ if(!update.style.position || update.style.position=='absolute') {
+ update.style.position = 'absolute';
+ Position.clone(element, update, {
+ setHeight: false,
+ offsetTop: element.offsetHeight
+ });
+ }
+ Effect.Appear(update,{duration:0.15});
+ };
+ this.options.onHide = this.options.onHide ||
+ function(element, update){ new Effect.Fade(update,{duration:0.15}) };
+
+ if(typeof(this.options.tokens) == 'string')
+ this.options.tokens = new Array(this.options.tokens);
+
+ this.observer = null;
+
+ this.element.setAttribute('autocomplete','off');
+
+ Element.hide(this.update);
+
+ Event.observe(this.element, "blur", this.onBlur.bindAsEventListener(this));
+ Event.observe(this.element, "keypress", this.onKeyPress.bindAsEventListener(this));
+ },
+
+ show: function() {
+ if(Element.getStyle(this.update, 'display')=='none') this.options.onShow(this.element, this.update);
+ if(!this.iefix &&
+ (navigator.appVersion.indexOf('MSIE')>0) &&
+ (navigator.userAgent.indexOf('Opera')<0) &&
+ (Element.getStyle(this.update, 'position')=='absolute')) {
+ new Insertion.After(this.update,
+ '<iframe id="' + this.update.id + '_iefix" '+
+ 'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" ' +
+ 'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');
+ this.iefix = $(this.update.id+'_iefix');
+ }
+ if(this.iefix) setTimeout(this.fixIEOverlapping.bind(this), 50);
+ },
+
+ fixIEOverlapping: function() {
+ Position.clone(this.update, this.iefix, {setTop:(!this.update.style.height)});
+ this.iefix.style.zIndex = 1;
+ this.update.style.zIndex = 2;
+ Element.show(this.iefix);
+ },
+
+ hide: function() {
+ this.stopIndicator();
+ if(Element.getStyle(this.update, 'display')!='none') this.options.onHide(this.element, this.update);
+ if(this.iefix) Element.hide(this.iefix);
+ },
+
+ startIndicator: function() {
+ if(this.options.indicator) Element.show(this.options.indicator);
+ },
+
+ stopIndicator: function() {
+ if(this.options.indicator) Element.hide(this.options.indicator);
+ },
+
+ onKeyPress: function(event) {
+ if(this.active)
+ switch(event.keyCode) {
+ case Event.KEY_TAB:
+ case Event.KEY_RETURN:
+ this.selectEntry();
+ Event.stop(event);
+ case Event.KEY_ESC:
+ this.hide();
+ this.active = false;
+ Event.stop(event);
+ return;
+ case Event.KEY_LEFT:
+ case Event.KEY_RIGHT:
+ return;
+ case Event.KEY_UP:
+ this.markPrevious();
+ this.render();
+ if(navigator.appVersion.indexOf('AppleWebKit')>0) Event.stop(event);
+ return;
+ case Event.KEY_DOWN:
+ this.markNext();
+ this.render();
+ if(navigator.appVersion.indexOf('AppleWebKit')>0) Event.stop(event);
+ return;
+ }
+ else
+ if(event.keyCode==Event.KEY_TAB || event.keyCode==Event.KEY_RETURN ||
+ (navigator.appVersion.indexOf('AppleWebKit') > 0 && event.keyCode == 0)) return;
+
+ this.changed = true;
+ this.hasFocus = true;
+
+ if(this.observer) clearTimeout(this.observer);
+ this.observer =
+ setTimeout(this.onObserverEvent.bind(this), this.options.frequency*1000);
+ },
+
+ activate: function() {
+ this.changed = false;
+ this.hasFocus = true;
+ this.getUpdatedChoices();
+ },
+
+ onHover: function(event) {
+ var element = Event.findElement(event, 'LI');
+ if(this.index != element.autocompleteIndex)
+ {
+ this.index = element.autocompleteIndex;
+ this.render();
+ }
+ Event.stop(event);
+ },
+
+ onClick: function(event) {
+ var element = Event.findElement(event, 'LI');
+ this.index = element.autocompleteIndex;
+ this.selectEntry();
+ this.hide();
+ },
+
+ onBlur: function(event) {
+ // needed to make click events working
+ setTimeout(this.hide.bind(this), 250);
+ this.hasFocus = false;
+ this.active = false;
+ },
+
+ render: function() {
+ if(this.entryCount > 0) {
+ for (var i = 0; i < this.entryCount; i++)
+ this.index==i ?
+ Element.addClassName(this.getEntry(i),"selected") :
+ Element.removeClassName(this.getEntry(i),"selected");
+
+ if(this.hasFocus) {
+ this.show();
+ this.active = true;
+ }
+ } else {
+ this.active = false;
+ this.hide();
+ }
+ },
+
+ markPrevious: function() {
+ if(this.index > 0) this.index--
+ else this.index = this.entryCount-1;
+ this.getEntry(this.index).scrollIntoView(true);
+ },
+
+ markNext: function() {
+ if(this.index < this.entryCount-1) this.index++
+ else this.index = 0;
+ this.getEntry(this.index).scrollIntoView(false);
+ },
+
+ getEntry: function(index) {
+ return this.update.firstChild.childNodes[index];
+ },
+
+ getCurrentEntry: function() {
+ return this.getEntry(this.index);
+ },
+
+ selectEntry: function() {
+ this.active = false;
+ this.updateElement(this.getCurrentEntry());
+ },
+
+ updateElement: function(selectedElement) {
+ if (this.options.updateElement) {
+ this.options.updateElement(selectedElement);
+ return;
+ }
+ var value = '';
+ if (this.options.select) {
+ var nodes = document.getElementsByClassName(this.options.select, selectedElement) || [];
+ if(nodes.length>0) value = Element.collectTextNodes(nodes[0], this.options.select);
+ } else
+ value = Element.collectTextNodesIgnoreClass(selectedElement, 'informal');
+
+ var lastTokenPos = this.findLastToken();
+ if (lastTokenPos != -1) {
+ var newValue = this.element.value.substr(0, lastTokenPos + 1);
+ var whitespace = this.element.value.substr(lastTokenPos + 1).match(/^\s+/);
+ if (whitespace)
+ newValue += whitespace[0];
+ this.element.value = newValue + value;
+ } else {
+ this.element.value = value;
+ }
+ this.element.focus();
+
+ if (this.options.afterUpdateElement)
+ this.options.afterUpdateElement(this.element, selectedElement);
+ },
+
+ updateChoices: function(choices) {
+ if(!this.changed && this.hasFocus) {
+ this.update.innerHTML = choices;
+ Element.cleanWhitespace(this.update);
+ Element.cleanWhitespace(this.update.down());
+
+ if(this.update.firstChild && this.update.down().childNodes) {
+ this.entryCount =
+ this.update.down().childNodes.length;
+ for (var i = 0; i < this.entryCount; i++) {
+ var entry = this.getEntry(i);
+ entry.autocompleteIndex = i;
+ this.addObservers(entry);
+ }
+ } else {
+ this.entryCount = 0;
+ }
+
+ this.stopIndicator();
+ this.index = 0;
+
+ if(this.entryCount==1 && this.options.autoSelect) {
+ this.selectEntry();
+ this.hide();
+ } else {
+ this.render();
+ }
+ }
+ },
+
+ addObservers: function(element) {
+ Event.observe(element, "mouseover", this.onHover.bindAsEventListener(this));
+ Event.observe(element, "click", this.onClick.bindAsEventListener(this));
+ },
+
+ onObserverEvent: function() {
+ this.changed = false;
+ if(this.getToken().length>=this.options.minChars) {
+ this.startIndicator();
+ this.getUpdatedChoices();
+ } else {
+ this.active = false;
+ this.hide();
+ }
+ },
+
+ getToken: function() {
+ var tokenPos = this.findLastToken();
+ if (tokenPos != -1)
+ var ret = this.element.value.substr(tokenPos + 1).replace(/^\s+/,'').replace(/\s+$/,'');
+ else
+ var ret = this.element.value;
+
+ return /\n/.test(ret) ? '' : ret;
+ },
+
+ findLastToken: function() {
+ var lastTokenPos = -1;
+
+ for (var i=0; i<this.options.tokens.length; i++) {
+ var thisTokenPos = this.element.value.lastIndexOf(this.options.tokens[i]);
+ if (thisTokenPos > lastTokenPos)
+ lastTokenPos = thisTokenPos;
+ }
+ return lastTokenPos;
+ }
+}
+
+Ajax.Autocompleter = Class.create();
+Object.extend(Object.extend(Ajax.Autocompleter.prototype, Autocompleter.Base.prototype), {
+ initialize: function(element, update, url, options) {
+ this.baseInitialize(element, update, options);
+ this.options.asynchronous = true;
+ this.options.onComplete = this.onComplete.bind(this);
+ this.options.defaultParams = this.options.parameters || null;
+ this.url = url;
+ },
+
+ getUpdatedChoices: function() {
+ entry = encodeURIComponent(this.options.paramName) + '=' +
+ encodeURIComponent(this.getToken());
+
+ this.options.parameters = this.options.callback ?
+ this.options.callback(this.element, entry) : entry;
+
+ if(this.options.defaultParams)
+ this.options.parameters += '&' + this.options.defaultParams;
+
+ new Ajax.Request(this.url, this.options);
+ },
+
+ onComplete: function(request) {
+ this.updateChoices(request.responseText);
+ }
+
+});
+
+// The local array autocompleter. Used when you'd prefer to
+// inject an array of autocompletion options into the page, rather
+// than sending out Ajax queries, which can be quite slow sometimes.
+//
+// The constructor takes four parameters. The first two are, as usual,
+// the id of the monitored textbox, and id of the autocompletion menu.
+// The third is the array you want to autocomplete from, and the fourth
+// is the options block.
+//
+// Extra local autocompletion options:
+// - choices - How many autocompletion choices to offer
+//
+// - partialSearch - If false, the autocompleter will match entered
+// text only at the beginning of strings in the
+// autocomplete array. Defaults to true, which will
+// match text at the beginning of any *word* in the
+// strings in the autocomplete array. If you want to
+// search anywhere in the string, additionally set
+// the option fullSearch to true (default: off).
+//
+// - fullSsearch - Search anywhere in autocomplete array strings.
+//
+// - partialChars - How many characters to enter before triggering
+// a partial match (unlike minChars, which defines
+// how many characters are required to do any match
+// at all). Defaults to 2.
+//
+// - ignoreCase - Whether to ignore case when autocompleting.
+// Defaults to true.
+//
+// It's possible to pass in a custom function as the 'selector'
+// option, if you prefer to write your own autocompletion logic.
+// In that case, the other options above will not apply unless
+// you support them.
+
+Autocompleter.Local = Class.create();
+Autocompleter.Local.prototype = Object.extend(new Autocompleter.Base(), {
+ initialize: function(element, update, array, options) {
+ this.baseInitialize(element, update, options);
+ this.options.array = array;
+ },
+
+ getUpdatedChoices: function() {
+ this.updateChoices(this.options.selector(this));
+ },
+
+ setOptions: function(options) {
+ this.options = Object.extend({
+ choices: 10,
+ partialSearch: true,
+ partialChars: 2,
+ ignoreCase: true,
+ fullSearch: false,
+ selector: function(instance) {
+ var ret = []; // Beginning matches
+ var partial = []; // Inside matches
+ var entry = instance.getToken();
+ var count = 0;
+
+ for (var i = 0; i < instance.options.array.length &&
+ ret.length < instance.options.choices ; i++) {
+
+ var elem = instance.options.array[i];
+ var foundPos = instance.options.ignoreCase ?
+ elem.toLowerCase().indexOf(entry.toLowerCase()) :
+ elem.indexOf(entry);
+
+ while (foundPos != -1) {
+ if (foundPos == 0 && elem.length != entry.length) {
+ ret.push("<li><strong>" + elem.substr(0, entry.length) + "</strong>" +
+ elem.substr(entry.length) + "</li>");
+ break;
+ } else if (entry.length >= instance.options.partialChars &&
+ instance.options.partialSearch && foundPos != -1) {
+ if (instance.options.fullSearch || /\s/.test(elem.substr(foundPos-1,1))) {
+ partial.push("<li>" + elem.substr(0, foundPos) + "<strong>" +
+ elem.substr(foundPos, entry.length) + "</strong>" + elem.substr(
+ foundPos + entry.length) + "</li>");
+ break;
+ }
+ }
+
+ foundPos = instance.options.ignoreCase ?
+ elem.toLowerCase().indexOf(entry.toLowerCase(), foundPos + 1) :
+ elem.indexOf(entry, foundPos + 1);
+
+ }
+ }
+ if (partial.length)
+ ret = ret.concat(partial.slice(0, instance.options.choices - ret.length))
+ return "<ul>" + ret.join('') + "</ul>";
+ }
+ }, options || {});
+ }
+});
+
+// AJAX in-place editor
+//
+// see documentation on http://wiki.script.aculo.us/scriptaculous/show/Ajax.InPlaceEditor
+
+// Use this if you notice weird scrolling problems on some browsers,
+// the DOM might be a bit confused when this gets called so do this
+// waits 1 ms (with setTimeout) until it does the activation
+Field.scrollFreeActivate = function(field) {
+ setTimeout(function() {
+ Field.activate(field);
+ }, 1);
+}
+
+Ajax.InPlaceEditor = Class.create();
+Ajax.InPlaceEditor.defaultHighlightColor = "#FFFF99";
+Ajax.InPlaceEditor.prototype = {
+ initialize: function(element, url, options) {
+ this.url = url;
+ this.element = $(element);
+
+ this.options = Object.extend({
+ paramName: "value",
+ okButton: true,
+ okText: "ok",
+ cancelLink: true,
+ cancelText: "cancel",
+ savingText: "Saving...",
+ clickToEditText: "Click to edit",
+ okText: "ok",
+ rows: 1,
+ onComplete: function(transport, element) {
+ new Effect.Highlight(element, {startcolor: this.options.highlightcolor});
+ },
+ onFailure: function(transport) {
+ alert("Error communicating with the server: " + transport.responseText.stripTags());
+ },
+ callback: function(form) {
+ return Form.serialize(form);
+ },
+ handleLineBreaks: true,
+ loadingText: 'Loading...',
+ savingClassName: 'inplaceeditor-saving',
+ loadingClassName: 'inplaceeditor-loading',
+ formClassName: 'inplaceeditor-form',
+ highlightcolor: Ajax.InPlaceEditor.defaultHighlightColor,
+ highlightendcolor: "#FFFFFF",
+ externalControl: null,
+ submitOnBlur: false,
+ ajaxOptions: {},
+ evalScripts: false
+ }, options || {});
+
+ if(!this.options.formId && this.element.id) {
+ this.options.formId = this.element.id + "-inplaceeditor";
+ if ($(this.options.formId)) {
+ // there's already a form with that name, don't specify an id
+ this.options.formId = null;
+ }
+ }
+
+ if (this.options.externalControl) {
+ this.options.externalControl = $(this.options.externalControl);
+ }
+
+ this.originalBackground = Element.getStyle(this.element, 'background-color');
+ if (!this.originalBackground) {
+ this.originalBackground = "transparent";
+ }
+
+ this.element.title = this.options.clickToEditText;
+
+ this.onclickListener = this.enterEditMode.bindAsEventListener(this);
+ this.mouseoverListener = this.enterHover.bindAsEventListener(this);
+ this.mouseoutListener = this.leaveHover.bindAsEventListener(this);
+ Event.observe(this.element, 'click', this.onclickListener);
+ Event.observe(this.element, 'mouseover', this.mouseoverListener);
+ Event.observe(this.element, 'mouseout', this.mouseoutListener);
+ if (this.options.externalControl) {
+ Event.observe(this.options.externalControl, 'click', this.onclickListener);
+ Event.observe(this.options.externalControl, 'mouseover', this.mouseoverListener);
+ Event.observe(this.options.externalControl, 'mouseout', this.mouseoutListener);
+ }
+ },
+ enterEditMode: function(evt) {
+ if (this.saving) return;
+ if (this.editing) return;
+ this.editing = true;
+ this.onEnterEditMode();
+ if (this.options.externalControl) {
+ Element.hide(this.options.externalControl);
+ }
+ Element.hide(this.element);
+ this.createForm();
+ this.element.parentNode.insertBefore(this.form, this.element);
+ if (!this.options.loadTextURL) Field.scrollFreeActivate(this.editField);
+ // stop the event to avoid a page refresh in Safari
+ if (evt) {
+ Event.stop(evt);
+ }
+ return false;
+ },
+ createForm: function() {
+ this.form = document.createElement("form");
+ this.form.id = this.options.formId;
+ Element.addClassName(this.form, this.options.formClassName)
+ this.form.onsubmit = this.onSubmit.bind(this);
+
+ this.createEditField();
+
+ if (this.options.textarea) {
+ var br = document.createElement("br");
+ this.form.appendChild(br);
+ }
+
+ if (this.options.okButton) {
+ okButton = document.createElement("input");
+ okButton.type = "submit";
+ okButton.value = this.options.okText;
+ okButton.className = 'editor_ok_button';
+ this.form.appendChild(okButton);
+ }
+
+ if (this.options.cancelLink) {
+ cancelLink = document.createElement("a");
+ cancelLink.href = "#";
+ cancelLink.appendChild(document.createTextNode(this.options.cancelText));
+ cancelLink.onclick = this.onclickCancel.bind(this);
+ cancelLink.className = 'editor_cancel';
+ this.form.appendChild(cancelLink);
+ }
+ },
+ hasHTMLLineBreaks: function(string) {
+ if (!this.options.handleLineBreaks) return false;
+ return string.match(/<br/i) || string.match(/<p>/i);
+ },
+ convertHTMLLineBreaks: function(string) {
+ return string.replace(/<br>/gi, "\n").replace(/<br\/>/gi, "\n").replace(/<\/p>/gi, "\n").replace(/<p>/gi, "");
+ },
+ createEditField: function() {
+ var text;
+ if(this.options.loadTextURL) {
+ text = this.options.loadingText;
+ } else {
+ text = this.getText();
+ }
+
+ var obj = this;
+
+ if (this.options.rows == 1 && !this.hasHTMLLineBreaks(text)) {
+ this.options.textarea = false;
+ var textField = document.createElement("input");
+ textField.obj = this;
+ textField.type = "text";
+ textField.name = this.options.paramName;
+ textField.value = text;
+ textField.style.backgroundColor = this.options.highlightcolor;
+ textField.className = 'editor_field';
+ var size = this.options.size || this.options.cols || 0;
+ if (size != 0) textField.size = size;
+ if (this.options.submitOnBlur)
+ textField.onblur = this.onSubmit.bind(this);
+ this.editField = textField;
+ } else {
+ this.options.textarea = true;
+ var textArea = document.createElement("textarea");
+ textArea.obj = this;
+ textArea.name = this.options.paramName;
+ textArea.value = this.convertHTMLLineBreaks(text);
+ textArea.rows = this.options.rows;
+ textArea.cols = this.options.cols || 40;
+ textArea.className = 'editor_field';
+ if (this.options.submitOnBlur)
+ textArea.onblur = this.onSubmit.bind(this);
+ this.editField = textArea;
+ }
+
+ if(this.options.loadTextURL) {
+ this.loadExternalText();
+ }
+ this.form.appendChild(this.editField);
+ },
+ getText: function() {
+ return this.element.innerHTML;
+ },
+ loadExternalText: function() {
+ Element.addClassName(this.form, this.options.loadingClassName);
+ this.editField.disabled = true;
+ new Ajax.Request(
+ this.options.loadTextURL,
+ Object.extend({
+ asynchronous: true,
+ onComplete: this.onLoadedExternalText.bind(this)
+ }, this.options.ajaxOptions)
+ );
+ },
+ onLoadedExternalText: function(transport) {
+ Element.removeClassName(this.form, this.options.loadingClassName);
+ this.editField.disabled = false;
+ this.editField.value = transport.responseText.stripTags();
+ Field.scrollFreeActivate(this.editField);
+ },
+ onclickCancel: function() {
+ this.onComplete();
+ this.leaveEditMode();
+ return false;
+ },
+ onFailure: function(transport) {
+ this.options.onFailure(transport);
+ if (this.oldInnerHTML) {
+ this.element.innerHTML = this.oldInnerHTML;
+ this.oldInnerHTML = null;
+ }
+ return false;
+ },
+ onSubmit: function() {
+ // onLoading resets these so we need to save them away for the Ajax call
+ var form = this.form;
+ var value = this.editField.value;
+
+ // do this first, sometimes the ajax call returns before we get a chance to switch on Saving...
+ // which means this will actually switch on Saving... *after* we've left edit mode causing Saving...
+ // to be displayed indefinitely
+ this.onLoading();
+
+ if (this.options.evalScripts) {
+ new Ajax.Request(
+ this.url, Object.extend({
+ parameters: this.options.callback(form, value),
+ onComplete: this.onComplete.bind(this),
+ onFailure: this.onFailure.bind(this),
+ asynchronous:true,
+ evalScripts:true
+ }, this.options.ajaxOptions));
+ } else {
+ new Ajax.Updater(
+ { success: this.element,
+ // don't update on failure (this could be an option)
+ failure: null },
+ this.url, Object.extend({
+ parameters: this.options.callback(form, value),
+ onComplete: this.onComplete.bind(this),
+ onFailure: this.onFailure.bind(this)
+ }, this.options.ajaxOptions));
+ }
+ // stop the event to avoid a page refresh in Safari
+ if (arguments.length > 1) {
+ Event.stop(arguments[0]);
+ }
+ return false;
+ },
+ onLoading: function() {
+ this.saving = true;
+ this.removeForm();
+ this.leaveHover();
+ this.showSaving();
+ },
+ showSaving: function() {
+ this.oldInnerHTML = this.element.innerHTML;
+ this.element.innerHTML = this.options.savingText;
+ Element.addClassName(this.element, this.options.savingClassName);
+ this.element.style.backgroundColor = this.originalBackground;
+ Element.show(this.element);
+ },
+ removeForm: function() {
+ if(this.form) {
+ if (this.form.parentNode) Element.remove(this.form);
+ this.form = null;
+ }
+ },
+ enterHover: function() {
+ if (this.saving) return;
+ this.element.style.backgroundColor = this.options.highlightcolor;
+ if (this.effect) {
+ this.effect.cancel();
+ }
+ Element.addClassName(this.element, this.options.hoverClassName)
+ },
+ leaveHover: function() {
+ if (this.options.backgroundColor) {
+ this.element.style.backgroundColor = this.oldBackground;
+ }
+ Element.removeClassName(this.element, this.options.hoverClassName)
+ if (this.saving) return;
+ this.effect = new Effect.Highlight(this.element, {
+ startcolor: this.options.highlightcolor,
+ endcolor: this.options.highlightendcolor,
+ restorecolor: this.originalBackground
+ });
+ },
+ leaveEditMode: function() {
+ Element.removeClassName(this.element, this.options.savingClassName);
+ this.removeForm();
+ this.leaveHover();
+ this.element.style.backgroundColor = this.originalBackground;
+ Element.show(this.element);
+ if (this.options.externalControl) {
+ Element.show(this.options.externalControl);
+ }
+ this.editing = false;
+ this.saving = false;
+ this.oldInnerHTML = null;
+ this.onLeaveEditMode();
+ },
+ onComplete: function(transport) {
+ this.leaveEditMode();
+ this.options.onComplete.bind(this)(transport, this.element);
+ },
+ onEnterEditMode: function() {},
+ onLeaveEditMode: function() {},
+ dispose: function() {
+ if (this.oldInnerHTML) {
+ this.element.innerHTML = this.oldInnerHTML;
+ }
+ this.leaveEditMode();
+ Event.stopObserving(this.element, 'click', this.onclickListener);
+ Event.stopObserving(this.element, 'mouseover', this.mouseoverListener);
+ Event.stopObserving(this.element, 'mouseout', this.mouseoutListener);
+ if (this.options.externalControl) {
+ Event.stopObserving(this.options.externalControl, 'click', this.onclickListener);
+ Event.stopObserving(this.options.externalControl, 'mouseover', this.mouseoverListener);
+ Event.stopObserving(this.options.externalControl, 'mouseout', this.mouseoutListener);
+ }
+ }
+};
+
+Ajax.InPlaceCollectionEditor = Class.create();
+Object.extend(Ajax.InPlaceCollectionEditor.prototype, Ajax.InPlaceEditor.prototype);
+Object.extend(Ajax.InPlaceCollectionEditor.prototype, {
+ createEditField: function() {
+ if (!this.cached_selectTag) {
+ var selectTag = document.createElement("select");
+ var collection = this.options.collection || [];
+ var optionTag;
+ collection.each(function(e,i) {
+ optionTag = document.createElement("option");
+ optionTag.value = (e instanceof Array) ? e[0] : e;
+ if((typeof this.options.value == 'undefined') &&
+ ((e instanceof Array) ? this.element.innerHTML == e[1] : e == optionTag.value)) optionTag.selected = true;
+ if(this.options.value==optionTag.value) optionTag.selected = true;
+ optionTag.appendChild(document.createTextNode((e instanceof Array) ? e[1] : e));
+ selectTag.appendChild(optionTag);
+ }.bind(this));
+ this.cached_selectTag = selectTag;
+ }
+
+ this.editField = this.cached_selectTag;
+ if(this.options.loadTextURL) this.loadExternalText();
+ this.form.appendChild(this.editField);
+ this.options.callback = function(form, value) {
+ return "value=" + encodeURIComponent(value);
+ }
+ }
+});
+
+// Delayed observer, like Form.Element.Observer,
+// but waits for delay after last key input
+// Ideal for live-search fields
+
+Form.Element.DelayedObserver = Class.create();
+Form.Element.DelayedObserver.prototype = {
+ initialize: function(element, delay, callback) {
+ this.delay = delay || 0.5;
+ this.element = $(element);
+ this.callback = callback;
+ this.timer = null;
+ this.lastValue = $F(this.element);
+ Event.observe(this.element,'keyup',this.delayedListener.bindAsEventListener(this));
+ },
+ delayedListener: function(event) {
+ if(this.lastValue == $F(this.element)) return;
+ if(this.timer) clearTimeout(this.timer);
+ this.timer = setTimeout(this.onTimerEvent.bind(this), this.delay * 1000);
+ this.lastValue = $F(this.element);
+ },
+ onTimerEvent: function() {
+ this.timer = null;
+ this.callback(this.element, $F(this.element));
+ }
+};
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/dragdrop.js b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/dragdrop.js
new file mode 100644
index 00000000..32c91bc3
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/dragdrop.js
@@ -0,0 +1,944 @@
+// script.aculo.us dragdrop.js v1.7.0, Fri Jan 19 19:16:36 CET 2007
+
+// Copyright (c) 2005, 2006 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
+// (c) 2005, 2006 Sammi Williams (http://www.oriontransfer.co.nz, sammi@oriontransfer.co.nz)
+//
+// script.aculo.us is freely distributable under the terms of an MIT-style license.
+// For details, see the script.aculo.us web site: http://script.aculo.us/
+
+if(typeof Effect == 'undefined')
+ throw("dragdrop.js requires including script.aculo.us' effects.js library");
+
+var Droppables = {
+ drops: [],
+
+ remove: function(element) {
+ this.drops = this.drops.reject(function(d) { return d.element==$(element) });
+ },
+
+ add: function(element) {
+ element = $(element);
+ var options = Object.extend({
+ greedy: true,
+ hoverclass: null,
+ tree: false
+ }, arguments[1] || {});
+
+ // cache containers
+ if(options.containment) {
+ options._containers = [];
+ var containment = options.containment;
+ if((typeof containment == 'object') &&
+ (containment.constructor == Array)) {
+ containment.each( function(c) { options._containers.push($(c)) });
+ } else {
+ options._containers.push($(containment));
+ }
+ }
+
+ if(options.accept) options.accept = [options.accept].flatten();
+
+ Element.makePositioned(element); // fix IE
+ options.element = element;
+
+ this.drops.push(options);
+ },
+
+ findDeepestChild: function(drops) {
+ deepest = drops[0];
+
+ for (i = 1; i < drops.length; ++i)
+ if (Element.isParent(drops[i].element, deepest.element))
+ deepest = drops[i];
+
+ return deepest;
+ },
+
+ isContained: function(element, drop) {
+ var containmentNode;
+ if(drop.tree) {
+ containmentNode = element.treeNode;
+ } else {
+ containmentNode = element.parentNode;
+ }
+ return drop._containers.detect(function(c) { return containmentNode == c });
+ },
+
+ isAffected: function(point, element, drop) {
+ return (
+ (drop.element!=element) &&
+ ((!drop._containers) ||
+ this.isContained(element, drop)) &&
+ ((!drop.accept) ||
+ (Element.classNames(element).detect(
+ function(v) { return drop.accept.include(v) } ) )) &&
+ Position.within(drop.element, point[0], point[1]) );
+ },
+
+ deactivate: function(drop) {
+ if(drop.hoverclass)
+ Element.removeClassName(drop.element, drop.hoverclass);
+ this.last_active = null;
+ },
+
+ activate: function(drop) {
+ if(drop.hoverclass)
+ Element.addClassName(drop.element, drop.hoverclass);
+ this.last_active = drop;
+ },
+
+ show: function(point, element) {
+ if(!this.drops.length) return;
+ var affected = [];
+
+ if(this.last_active) this.deactivate(this.last_active);
+ this.drops.each( function(drop) {
+ if(Droppables.isAffected(point, element, drop))
+ affected.push(drop);
+ });
+
+ if(affected.length>0) {
+ drop = Droppables.findDeepestChild(affected);
+ Position.within(drop.element, point[0], point[1]);
+ if(drop.onHover)
+ drop.onHover(element, drop.element, Position.overlap(drop.overlap, drop.element));
+
+ Droppables.activate(drop);
+ }
+ },
+
+ fire: function(event, element) {
+ if(!this.last_active) return;
+ Position.prepare();
+
+ if (this.isAffected([Event.pointerX(event), Event.pointerY(event)], element, this.last_active))
+ if (this.last_active.onDrop)
+ this.last_active.onDrop(element, this.last_active.element, event);
+ },
+
+ reset: function() {
+ if(this.last_active)
+ this.deactivate(this.last_active);
+ }
+}
+
+var Draggables = {
+ drags: [],
+ observers: [],
+
+ register: function(draggable) {
+ if(this.drags.length == 0) {
+ this.eventMouseUp = this.endDrag.bindAsEventListener(this);
+ this.eventMouseMove = this.updateDrag.bindAsEventListener(this);
+ this.eventKeypress = this.keyPress.bindAsEventListener(this);
+
+ Event.observe(document, "mouseup", this.eventMouseUp);
+ Event.observe(document, "mousemove", this.eventMouseMove);
+ Event.observe(document, "keypress", this.eventKeypress);
+ }
+ this.drags.push(draggable);
+ },
+
+ unregister: function(draggable) {
+ this.drags = this.drags.reject(function(d) { return d==draggable });
+ if(this.drags.length == 0) {
+ Event.stopObserving(document, "mouseup", this.eventMouseUp);
+ Event.stopObserving(document, "mousemove", this.eventMouseMove);
+ Event.stopObserving(document, "keypress", this.eventKeypress);
+ }
+ },
+
+ activate: function(draggable) {
+ if(draggable.options.delay) {
+ this._timeout = setTimeout(function() {
+ Draggables._timeout = null;
+ window.focus();
+ Draggables.activeDraggable = draggable;
+ }.bind(this), draggable.options.delay);
+ } else {
+ window.focus(); // allows keypress events if window isn't currently focused, fails for Safari
+ this.activeDraggable = draggable;
+ }
+ },
+
+ deactivate: function() {
+ this.activeDraggable = null;
+ },
+
+ updateDrag: function(event) {
+ if(!this.activeDraggable) return;
+ var pointer = [Event.pointerX(event), Event.pointerY(event)];
+ // Mozilla-based browsers fire successive mousemove events with
+ // the same coordinates, prevent needless redrawing (moz bug?)
+ if(this._lastPointer && (this._lastPointer.inspect() == pointer.inspect())) return;
+ this._lastPointer = pointer;
+
+ this.activeDraggable.updateDrag(event, pointer);
+ },
+
+ endDrag: function(event) {
+ if(this._timeout) {
+ clearTimeout(this._timeout);
+ this._timeout = null;
+ }
+ if(!this.activeDraggable) return;
+ this._lastPointer = null;
+ this.activeDraggable.endDrag(event);
+ this.activeDraggable = null;
+ },
+
+ keyPress: function(event) {
+ if(this.activeDraggable)
+ this.activeDraggable.keyPress(event);
+ },
+
+ addObserver: function(observer) {
+ this.observers.push(observer);
+ this._cacheObserverCallbacks();
+ },
+
+ removeObserver: function(element) { // element instead of observer fixes mem leaks
+ this.observers = this.observers.reject( function(o) { return o.element==element });
+ this._cacheObserverCallbacks();
+ },
+
+ notify: function(eventName, draggable, event) { // 'onStart', 'onEnd', 'onDrag'
+ if(this[eventName+'Count'] > 0)
+ this.observers.each( function(o) {
+ if(o[eventName]) o[eventName](eventName, draggable, event);
+ });
+ if(draggable.options[eventName]) draggable.options[eventName](draggable, event);
+ },
+
+ _cacheObserverCallbacks: function() {
+ ['onStart','onEnd','onDrag'].each( function(eventName) {
+ Draggables[eventName+'Count'] = Draggables.observers.select(
+ function(o) { return o[eventName]; }
+ ).length;
+ });
+ }
+}
+
+/*--------------------------------------------------------------------------*/
+
+var Draggable = Class.create();
+Draggable._dragging = {};
+
+Draggable.prototype = {
+ initialize: function(element) {
+ var defaults = {
+ handle: false,
+ reverteffect: function(element, top_offset, left_offset) {
+ var dur = Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02;
+ new Effect.Move(element, { x: -left_offset, y: -top_offset, duration: dur,
+ queue: {scope:'_draggable', position:'end'}
+ });
+ },
+ endeffect: function(element) {
+ var toOpacity = typeof element._opacity == 'number' ? element._opacity : 1.0;
+ new Effect.Opacity(element, {duration:0.2, from:0.7, to:toOpacity,
+ queue: {scope:'_draggable', position:'end'},
+ afterFinish: function(){
+ Draggable._dragging[element] = false
+ }
+ });
+ },
+ zindex: 1000,
+ revert: false,
+ scroll: false,
+ scrollSensitivity: 20,
+ scrollSpeed: 15,
+ snap: false, // false, or xy or [x,y] or function(x,y){ return [x,y] }
+ delay: 0
+ };
+
+ if(!arguments[1] || typeof arguments[1].endeffect == 'undefined')
+ Object.extend(defaults, {
+ starteffect: function(element) {
+ element._opacity = Element.getOpacity(element);
+ Draggable._dragging[element] = true;
+ new Effect.Opacity(element, {duration:0.2, from:element._opacity, to:0.7});
+ }
+ });
+
+ var options = Object.extend(defaults, arguments[1] || {});
+
+ this.element = $(element);
+
+ if(options.handle && (typeof options.handle == 'string'))
+ this.handle = this.element.down('.'+options.handle, 0);
+
+ if(!this.handle) this.handle = $(options.handle);
+ if(!this.handle) this.handle = this.element;
+
+ if(options.scroll && !options.scroll.scrollTo && !options.scroll.outerHTML) {
+ options.scroll = $(options.scroll);
+ this._isScrollChild = Element.childOf(this.element, options.scroll);
+ }
+
+ Element.makePositioned(this.element); // fix IE
+
+ this.delta = this.currentDelta();
+ this.options = options;
+ this.dragging = false;
+
+ this.eventMouseDown = this.initDrag.bindAsEventListener(this);
+ Event.observe(this.handle, "mousedown", this.eventMouseDown);
+
+ Draggables.register(this);
+ },
+
+ destroy: function() {
+ Event.stopObserving(this.handle, "mousedown", this.eventMouseDown);
+ Draggables.unregister(this);
+ },
+
+ currentDelta: function() {
+ return([
+ parseInt(Element.getStyle(this.element,'left') || '0'),
+ parseInt(Element.getStyle(this.element,'top') || '0')]);
+ },
+
+ initDrag: function(event) {
+ if(typeof Draggable._dragging[this.element] != 'undefined' &&
+ Draggable._dragging[this.element]) return;
+ if(Event.isLeftClick(event)) {
+ // abort on form elements, fixes a Firefox issue
+ var src = Event.element(event);
+ if((tag_name = src.tagName.toUpperCase()) && (
+ tag_name=='INPUT' ||
+ tag_name=='SELECT' ||
+ tag_name=='OPTION' ||
+ tag_name=='BUTTON' ||
+ tag_name=='TEXTAREA')) return;
+
+ var pointer = [Event.pointerX(event), Event.pointerY(event)];
+ var pos = Position.cumulativeOffset(this.element);
+ this.offset = [0,1].map( function(i) { return (pointer[i] - pos[i]) });
+
+ Draggables.activate(this);
+ Event.stop(event);
+ }
+ },
+
+ startDrag: function(event) {
+ this.dragging = true;
+
+ if(this.options.zindex) {
+ this.originalZ = parseInt(Element.getStyle(this.element,'z-index') || 0);
+ this.element.style.zIndex = this.options.zindex;
+ }
+
+ if(this.options.ghosting) {
+ this._clone = this.element.cloneNode(true);
+ Position.absolutize(this.element);
+ this.element.parentNode.insertBefore(this._clone, this.element);
+ }
+
+ if(this.options.scroll) {
+ if (this.options.scroll == window) {
+ var where = this._getWindowScroll(this.options.scroll);
+ this.originalScrollLeft = where.left;
+ this.originalScrollTop = where.top;
+ } else {
+ this.originalScrollLeft = this.options.scroll.scrollLeft;
+ this.originalScrollTop = this.options.scroll.scrollTop;
+ }
+ }
+
+ Draggables.notify('onStart', this, event);
+
+ if(this.options.starteffect) this.options.starteffect(this.element);
+ },
+
+ updateDrag: function(event, pointer) {
+ if(!this.dragging) this.startDrag(event);
+ Position.prepare();
+ Droppables.show(pointer, this.element);
+ Draggables.notify('onDrag', this, event);
+
+ this.draw(pointer);
+ if(this.options.change) this.options.change(this);
+
+ if(this.options.scroll) {
+ this.stopScrolling();
+
+ var p;
+ if (this.options.scroll == window) {
+ with(this._getWindowScroll(this.options.scroll)) { p = [ left, top, left+width, top+height ]; }
+ } else {
+ p = Position.page(this.options.scroll);
+ p[0] += this.options.scroll.scrollLeft + Position.deltaX;
+ p[1] += this.options.scroll.scrollTop + Position.deltaY;
+ p.push(p[0]+this.options.scroll.offsetWidth);
+ p.push(p[1]+this.options.scroll.offsetHeight);
+ }
+ var speed = [0,0];
+ if(pointer[0] < (p[0]+this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[0]+this.options.scrollSensitivity);
+ if(pointer[1] < (p[1]+this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[1]+this.options.scrollSensitivity);
+ if(pointer[0] > (p[2]-this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[2]-this.options.scrollSensitivity);
+ if(pointer[1] > (p[3]-this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[3]-this.options.scrollSensitivity);
+ this.startScrolling(speed);
+ }
+
+ // fix AppleWebKit rendering
+ if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);
+
+ Event.stop(event);
+ },
+
+ finishDrag: function(event, success) {
+ this.dragging = false;
+
+ if(this.options.ghosting) {
+ Position.relativize(this.element);
+ Element.remove(this._clone);
+ this._clone = null;
+ }
+
+ if(success) Droppables.fire(event, this.element);
+ Draggables.notify('onEnd', this, event);
+
+ var revert = this.options.revert;
+ if(revert && typeof revert == 'function') revert = revert(this.element);
+
+ var d = this.currentDelta();
+ if(revert && this.options.reverteffect) {
+ this.options.reverteffect(this.element,
+ d[1]-this.delta[1], d[0]-this.delta[0]);
+ } else {
+ this.delta = d;
+ }
+
+ if(this.options.zindex)
+ this.element.style.zIndex = this.originalZ;
+
+ if(this.options.endeffect)
+ this.options.endeffect(this.element);
+
+ Draggables.deactivate(this);
+ Droppables.reset();
+ },
+
+ keyPress: function(event) {
+ if(event.keyCode!=Event.KEY_ESC) return;
+ this.finishDrag(event, false);
+ Event.stop(event);
+ },
+
+ endDrag: function(event) {
+ if(!this.dragging) return;
+ this.stopScrolling();
+ this.finishDrag(event, true);
+ Event.stop(event);
+ },
+
+ draw: function(point) {
+ var pos = Position.cumulativeOffset(this.element);
+ if(this.options.ghosting) {
+ var r = Position.realOffset(this.element);
+ pos[0] += r[0] - Position.deltaX; pos[1] += r[1] - Position.deltaY;
+ }
+
+ var d = this.currentDelta();
+ pos[0] -= d[0]; pos[1] -= d[1];
+
+ if(this.options.scroll && (this.options.scroll != window && this._isScrollChild)) {
+ pos[0] -= this.options.scroll.scrollLeft-this.originalScrollLeft;
+ pos[1] -= this.options.scroll.scrollTop-this.originalScrollTop;
+ }
+
+ var p = [0,1].map(function(i){
+ return (point[i]-pos[i]-this.offset[i])
+ }.bind(this));
+
+ if(this.options.snap) {
+ if(typeof this.options.snap == 'function') {
+ p = this.options.snap(p[0],p[1],this);
+ } else {
+ if(this.options.snap instanceof Array) {
+ p = p.map( function(v, i) {
+ return Math.round(v/this.options.snap[i])*this.options.snap[i] }.bind(this))
+ } else {
+ p = p.map( function(v) {
+ return Math.round(v/this.options.snap)*this.options.snap }.bind(this))
+ }
+ }}
+
+ var style = this.element.style;
+ if((!this.options.constraint) || (this.options.constraint=='horizontal'))
+ style.left = p[0] + "px";
+ if((!this.options.constraint) || (this.options.constraint=='vertical'))
+ style.top = p[1] + "px";
+
+ if(style.visibility=="hidden") style.visibility = ""; // fix gecko rendering
+ },
+
+ stopScrolling: function() {
+ if(this.scrollInterval) {
+ clearInterval(this.scrollInterval);
+ this.scrollInterval = null;
+ Draggables._lastScrollPointer = null;
+ }
+ },
+
+ startScrolling: function(speed) {
+ if(!(speed[0] || speed[1])) return;
+ this.scrollSpeed = [speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed];
+ this.lastScrolled = new Date();
+ this.scrollInterval = setInterval(this.scroll.bind(this), 10);
+ },
+
+ scroll: function() {
+ var current = new Date();
+ var delta = current - this.lastScrolled;
+ this.lastScrolled = current;
+ if(this.options.scroll == window) {
+ with (this._getWindowScroll(this.options.scroll)) {
+ if (this.scrollSpeed[0] || this.scrollSpeed[1]) {
+ var d = delta / 1000;
+ this.options.scroll.scrollTo( left + d*this.scrollSpeed[0], top + d*this.scrollSpeed[1] );
+ }
+ }
+ } else {
+ this.options.scroll.scrollLeft += this.scrollSpeed[0] * delta / 1000;
+ this.options.scroll.scrollTop += this.scrollSpeed[1] * delta / 1000;
+ }
+
+ Position.prepare();
+ Droppables.show(Draggables._lastPointer, this.element);
+ Draggables.notify('onDrag', this);
+ if (this._isScrollChild) {
+ Draggables._lastScrollPointer = Draggables._lastScrollPointer || $A(Draggables._lastPointer);
+ Draggables._lastScrollPointer[0] += this.scrollSpeed[0] * delta / 1000;
+ Draggables._lastScrollPointer[1] += this.scrollSpeed[1] * delta / 1000;
+ if (Draggables._lastScrollPointer[0] < 0)
+ Draggables._lastScrollPointer[0] = 0;
+ if (Draggables._lastScrollPointer[1] < 0)
+ Draggables._lastScrollPointer[1] = 0;
+ this.draw(Draggables._lastScrollPointer);
+ }
+
+ if(this.options.change) this.options.change(this);
+ },
+
+ _getWindowScroll: function(w) {
+ var T, L, W, H;
+ with (w.document) {
+ if (w.document.documentElement && documentElement.scrollTop) {
+ T = documentElement.scrollTop;
+ L = documentElement.scrollLeft;
+ } else if (w.document.body) {
+ T = body.scrollTop;
+ L = body.scrollLeft;
+ }
+ if (w.innerWidth) {
+ W = w.innerWidth;
+ H = w.innerHeight;
+ } else if (w.document.documentElement && documentElement.clientWidth) {
+ W = documentElement.clientWidth;
+ H = documentElement.clientHeight;
+ } else {
+ W = body.offsetWidth;
+ H = body.offsetHeight
+ }
+ }
+ return { top: T, left: L, width: W, height: H };
+ }
+}
+
+/*--------------------------------------------------------------------------*/
+
+var SortableObserver = Class.create();
+SortableObserver.prototype = {
+ initialize: function(element, observer) {
+ this.element = $(element);
+ this.observer = observer;
+ this.lastValue = Sortable.serialize(this.element);
+ },
+
+ onStart: function() {
+ this.lastValue = Sortable.serialize(this.element);
+ },
+
+ onEnd: function() {
+ Sortable.unmark();
+ if(this.lastValue != Sortable.serialize(this.element))
+ this.observer(this.element)
+ }
+}
+
+var Sortable = {
+ SERIALIZE_RULE: /^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,
+
+ sortables: {},
+
+ _findRootElement: function(element) {
+ while (element.tagName.toUpperCase() != "BODY") {
+ if(element.id && Sortable.sortables[element.id]) return element;
+ element = element.parentNode;
+ }
+ },
+
+ options: function(element) {
+ element = Sortable._findRootElement($(element));
+ if(!element) return;
+ return Sortable.sortables[element.id];
+ },
+
+ destroy: function(element){
+ var s = Sortable.options(element);
+
+ if(s) {
+ Draggables.removeObserver(s.element);
+ s.droppables.each(function(d){ Droppables.remove(d) });
+ s.draggables.invoke('destroy');
+
+ delete Sortable.sortables[s.element.id];
+ }
+ },
+
+ create: function(element) {
+ element = $(element);
+ var options = Object.extend({
+ element: element,
+ tag: 'li', // assumes li children, override with tag: 'tagname'
+ dropOnEmpty: false,
+ tree: false,
+ treeTag: 'ul',
+ overlap: 'vertical', // one of 'vertical', 'horizontal'
+ constraint: 'vertical', // one of 'vertical', 'horizontal', false
+ containment: element, // also takes array of elements (or id's); or false
+ handle: false, // or a CSS class
+ only: false,
+ delay: 0,
+ hoverclass: null,
+ ghosting: false,
+ scroll: false,
+ scrollSensitivity: 20,
+ scrollSpeed: 15,
+ format: this.SERIALIZE_RULE,
+ onChange: Prototype.emptyFunction,
+ onUpdate: Prototype.emptyFunction
+ }, arguments[1] || {});
+
+ // clear any old sortable with same element
+ this.destroy(element);
+
+ // build options for the draggables
+ var options_for_draggable = {
+ revert: true,
+ scroll: options.scroll,
+ scrollSpeed: options.scrollSpeed,
+ scrollSensitivity: options.scrollSensitivity,
+ delay: options.delay,
+ ghosting: options.ghosting,
+ constraint: options.constraint,
+ handle: options.handle };
+
+ if(options.starteffect)
+ options_for_draggable.starteffect = options.starteffect;
+
+ if(options.reverteffect)
+ options_for_draggable.reverteffect = options.reverteffect;
+ else
+ if(options.ghosting) options_for_draggable.reverteffect = function(element) {
+ element.style.top = 0;
+ element.style.left = 0;
+ };
+
+ if(options.endeffect)
+ options_for_draggable.endeffect = options.endeffect;
+
+ if(options.zindex)
+ options_for_draggable.zindex = options.zindex;
+
+ // build options for the droppables
+ var options_for_droppable = {
+ overlap: options.overlap,
+ containment: options.containment,
+ tree: options.tree,
+ hoverclass: options.hoverclass,
+ onHover: Sortable.onHover
+ }
+
+ var options_for_tree = {
+ onHover: Sortable.onEmptyHover,
+ overlap: options.overlap,
+ containment: options.containment,
+ hoverclass: options.hoverclass
+ }
+
+ // fix for gecko engine
+ Element.cleanWhitespace(element);
+
+ options.draggables = [];
+ options.droppables = [];
+
+ // drop on empty handling
+ if(options.dropOnEmpty || options.tree) {
+ Droppables.add(element, options_for_tree);
+ options.droppables.push(element);
+ }
+
+ (this.findElements(element, options) || []).each( function(e) {
+ // handles are per-draggable
+ var handle = options.handle ?
+ $(e).down('.'+options.handle,0) : e;
+ options.draggables.push(
+ new Draggable(e, Object.extend(options_for_draggable, { handle: handle })));
+ Droppables.add(e, options_for_droppable);
+ if(options.tree) e.treeNode = element;
+ options.droppables.push(e);
+ });
+
+ if(options.tree) {
+ (Sortable.findTreeElements(element, options) || []).each( function(e) {
+ Droppables.add(e, options_for_tree);
+ e.treeNode = element;
+ options.droppables.push(e);
+ });
+ }
+
+ // keep reference
+ this.sortables[element.id] = options;
+
+ // for onupdate
+ Draggables.addObserver(new SortableObserver(element, options.onUpdate));
+
+ },
+
+ // return all suitable-for-sortable elements in a guaranteed order
+ findElements: function(element, options) {
+ return Element.findChildren(
+ element, options.only, options.tree ? true : false, options.tag);
+ },
+
+ findTreeElements: function(element, options) {
+ return Element.findChildren(
+ element, options.only, options.tree ? true : false, options.treeTag);
+ },
+
+ onHover: function(element, dropon, overlap) {
+ if(Element.isParent(dropon, element)) return;
+
+ if(overlap > .33 && overlap < .66 && Sortable.options(dropon).tree) {
+ return;
+ } else if(overlap>0.5) {
+ Sortable.mark(dropon, 'before');
+ if(dropon.previousSibling != element) {
+ var oldParentNode = element.parentNode;
+ element.style.visibility = "hidden"; // fix gecko rendering
+ dropon.parentNode.insertBefore(element, dropon);
+ if(dropon.parentNode!=oldParentNode)
+ Sortable.options(oldParentNode).onChange(element);
+ Sortable.options(dropon.parentNode).onChange(element);
+ }
+ } else {
+ Sortable.mark(dropon, 'after');
+ var nextElement = dropon.nextSibling || null;
+ if(nextElement != element) {
+ var oldParentNode = element.parentNode;
+ element.style.visibility = "hidden"; // fix gecko rendering
+ dropon.parentNode.insertBefore(element, nextElement);
+ if(dropon.parentNode!=oldParentNode)
+ Sortable.options(oldParentNode).onChange(element);
+ Sortable.options(dropon.parentNode).onChange(element);
+ }
+ }
+ },
+
+ onEmptyHover: function(element, dropon, overlap) {
+ var oldParentNode = element.parentNode;
+ var droponOptions = Sortable.options(dropon);
+
+ if(!Element.isParent(dropon, element)) {
+ var index;
+
+ var children = Sortable.findElements(dropon, {tag: droponOptions.tag, only: droponOptions.only});
+ var child = null;
+
+ if(children) {
+ var offset = Element.offsetSize(dropon, droponOptions.overlap) * (1.0 - overlap);
+
+ for (index = 0; index < children.length; index += 1) {
+ if (offset - Element.offsetSize (children[index], droponOptions.overlap) >= 0) {
+ offset -= Element.offsetSize (children[index], droponOptions.overlap);
+ } else if (offset - (Element.offsetSize (children[index], droponOptions.overlap) / 2) >= 0) {
+ child = index + 1 < children.length ? children[index + 1] : null;
+ break;
+ } else {
+ child = children[index];
+ break;
+ }
+ }
+ }
+
+ dropon.insertBefore(element, child);
+
+ Sortable.options(oldParentNode).onChange(element);
+ droponOptions.onChange(element);
+ }
+ },
+
+ unmark: function() {
+ if(Sortable._marker) Sortable._marker.hide();
+ },
+
+ mark: function(dropon, position) {
+ // mark on ghosting only
+ var sortable = Sortable.options(dropon.parentNode);
+ if(sortable && !sortable.ghosting) return;
+
+ if(!Sortable._marker) {
+ Sortable._marker =
+ ($('dropmarker') || Element.extend(document.createElement('DIV'))).
+ hide().addClassName('dropmarker').setStyle({position:'absolute'});
+ document.getElementsByTagName("body").item(0).appendChild(Sortable._marker);
+ }
+ var offsets = Position.cumulativeOffset(dropon);
+ Sortable._marker.setStyle({left: offsets[0]+'px', top: offsets[1] + 'px'});
+
+ if(position=='after')
+ if(sortable.overlap == 'horizontal')
+ Sortable._marker.setStyle({left: (offsets[0]+dropon.clientWidth) + 'px'});
+ else
+ Sortable._marker.setStyle({top: (offsets[1]+dropon.clientHeight) + 'px'});
+
+ Sortable._marker.show();
+ },
+
+ _tree: function(element, options, parent) {
+ var children = Sortable.findElements(element, options) || [];
+
+ for (var i = 0; i < children.length; ++i) {
+ var match = children[i].id.match(options.format);
+
+ if (!match) continue;
+
+ var child = {
+ id: encodeURIComponent(match ? match[1] : null),
+ element: element,
+ parent: parent,
+ children: [],
+ position: parent.children.length,
+ container: $(children[i]).down(options.treeTag)
+ }
+
+ /* Get the element containing the children and recurse over it */
+ if (child.container)
+ this._tree(child.container, options, child)
+
+ parent.children.push (child);
+ }
+
+ return parent;
+ },
+
+ tree: function(element) {
+ element = $(element);
+ var sortableOptions = this.options(element);
+ var options = Object.extend({
+ tag: sortableOptions.tag,
+ treeTag: sortableOptions.treeTag,
+ only: sortableOptions.only,
+ name: element.id,
+ format: sortableOptions.format
+ }, arguments[1] || {});
+
+ var root = {
+ id: null,
+ parent: null,
+ children: [],
+ container: element,
+ position: 0
+ }
+
+ return Sortable._tree(element, options, root);
+ },
+
+ /* Construct a [i] index for a particular node */
+ _constructIndex: function(node) {
+ var index = '';
+ do {
+ if (node.id) index = '[' + node.position + ']' + index;
+ } while ((node = node.parent) != null);
+ return index;
+ },
+
+ sequence: function(element) {
+ element = $(element);
+ var options = Object.extend(this.options(element), arguments[1] || {});
+
+ return $(this.findElements(element, options) || []).map( function(item) {
+ return item.id.match(options.format) ? item.id.match(options.format)[1] : '';
+ });
+ },
+
+ setSequence: function(element, new_sequence) {
+ element = $(element);
+ var options = Object.extend(this.options(element), arguments[2] || {});
+
+ var nodeMap = {};
+ this.findElements(element, options).each( function(n) {
+ if (n.id.match(options.format))
+ nodeMap[n.id.match(options.format)[1]] = [n, n.parentNode];
+ n.parentNode.removeChild(n);
+ });
+
+ new_sequence.each(function(ident) {
+ var n = nodeMap[ident];
+ if (n) {
+ n[1].appendChild(n[0]);
+ delete nodeMap[ident];
+ }
+ });
+ },
+
+ serialize: function(element) {
+ element = $(element);
+ var options = Object.extend(Sortable.options(element), arguments[1] || {});
+ var name = encodeURIComponent(
+ (arguments[1] && arguments[1].name) ? arguments[1].name : element.id);
+
+ if (options.tree) {
+ return Sortable.tree(element, arguments[1]).children.map( function (item) {
+ return [name + Sortable._constructIndex(item) + "[id]=" +
+ encodeURIComponent(item.id)].concat(item.children.map(arguments.callee));
+ }).flatten().join('&');
+ } else {
+ return Sortable.sequence(element, arguments[1]).map( function(item) {
+ return name + "[]=" + encodeURIComponent(item);
+ }).join('&');
+ }
+ }
+}
+
+// Returns true if child is contained within element
+Element.isParent = function(child, element) {
+ if (!child.parentNode || child == element) return false;
+ if (child.parentNode == element) return true;
+ return Element.isParent(child.parentNode, element);
+}
+
+Element.findChildren = function(element, only, recursive, tagName) {
+ if(!element.hasChildNodes()) return null;
+ tagName = tagName.toUpperCase();
+ if(only) only = [only].flatten();
+ var elements = [];
+ $A(element.childNodes).each( function(e) {
+ if(e.tagName && e.tagName.toUpperCase()==tagName &&
+ (!only || (Element.classNames(e).detect(function(v) { return only.include(v) }))))
+ elements.push(e);
+ if(recursive) {
+ var grandchildren = Element.findChildren(e, only, recursive, tagName);
+ if(grandchildren) elements.push(grandchildren);
+ }
+ });
+
+ return (elements.length>0 ? elements.flatten() : []);
+}
+
+Element.offsetSize = function (element, type) {
+ return element['offset' + ((type=='vertical' || type=='height') ? 'Height' : 'Width')];
+}
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/effects.js b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/effects.js
new file mode 100644
index 00000000..06f59b47
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/effects.js
@@ -0,0 +1,1090 @@
+// script.aculo.us effects.js v1.7.0, Fri Jan 19 19:16:36 CET 2007
+
+// Copyright (c) 2005, 2006 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
+// Contributors:
+// Justin Palmer (http://encytemedia.com/)
+// Mark Pilgrim (http://diveintomark.org/)
+// Martin Bialasinki
+//
+// script.aculo.us is freely distributable under the terms of an MIT-style license.
+// For details, see the script.aculo.us web site: http://script.aculo.us/
+
+// converts rgb() and #xxx to #xxxxxx format,
+// returns self (or first argument) if not convertable
+String.prototype.parseColor = function() {
+ var color = '#';
+ if(this.slice(0,4) == 'rgb(') {
+ var cols = this.slice(4,this.length-1).split(',');
+ var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3);
+ } else {
+ if(this.slice(0,1) == '#') {
+ if(this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();
+ if(this.length==7) color = this.toLowerCase();
+ }
+ }
+ return(color.length==7 ? color : (arguments[0] || this));
+}
+
+/*--------------------------------------------------------------------------*/
+
+Element.collectTextNodes = function(element) {
+ return $A($(element).childNodes).collect( function(node) {
+ return (node.nodeType==3 ? node.nodeValue :
+ (node.hasChildNodes() ? Element.collectTextNodes(node) : ''));
+ }).flatten().join('');
+}
+
+Element.collectTextNodesIgnoreClass = function(element, className) {
+ return $A($(element).childNodes).collect( function(node) {
+ return (node.nodeType==3 ? node.nodeValue :
+ ((node.hasChildNodes() && !Element.hasClassName(node,className)) ?
+ Element.collectTextNodesIgnoreClass(node, className) : ''));
+ }).flatten().join('');
+}
+
+Element.setContentZoom = function(element, percent) {
+ element = $(element);
+ element.setStyle({fontSize: (percent/100) + 'em'});
+ if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);
+ return element;
+}
+
+Element.getOpacity = function(element){
+ return $(element).getStyle('opacity');
+}
+
+Element.setOpacity = function(element, value){
+ return $(element).setStyle({opacity:value});
+}
+
+Element.getInlineOpacity = function(element){
+ return $(element).style.opacity || '';
+}
+
+Element.forceRerendering = function(element) {
+ try {
+ element = $(element);
+ var n = document.createTextNode(' ');
+ element.appendChild(n);
+ element.removeChild(n);
+ } catch(e) { }
+};
+
+/*--------------------------------------------------------------------------*/
+
+Array.prototype.call = function() {
+ var args = arguments;
+ this.each(function(f){ f.apply(this, args) });
+}
+
+/*--------------------------------------------------------------------------*/
+
+var Effect = {
+ _elementDoesNotExistError: {
+ name: 'ElementDoesNotExistError',
+ message: 'The specified DOM element does not exist, but is required for this effect to operate'
+ },
+ tagifyText: function(element) {
+ if(typeof Builder == 'undefined')
+ throw("Effect.tagifyText requires including script.aculo.us' builder.js library");
+
+ var tagifyStyle = 'position:relative';
+ if(/MSIE/.test(navigator.userAgent) && !window.opera) tagifyStyle += ';zoom:1';
+
+ element = $(element);
+ $A(element.childNodes).each( function(child) {
+ if(child.nodeType==3) {
+ child.nodeValue.toArray().each( function(character) {
+ element.insertBefore(
+ Builder.node('span',{style: tagifyStyle},
+ character == ' ' ? String.fromCharCode(160) : character),
+ child);
+ });
+ Element.remove(child);
+ }
+ });
+ },
+ multiple: function(element, effect) {
+ var elements;
+ if(((typeof element == 'object') ||
+ (typeof element == 'function')) &&
+ (element.length))
+ elements = element;
+ else
+ elements = $(element).childNodes;
+
+ var options = Object.extend({
+ speed: 0.1,
+ delay: 0.0
+ }, arguments[2] || {});
+ var masterDelay = options.delay;
+
+ $A(elements).each( function(element, index) {
+ new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay }));
+ });
+ },
+ PAIRS: {
+ 'slide': ['SlideDown','SlideUp'],
+ 'blind': ['BlindDown','BlindUp'],
+ 'appear': ['Appear','Fade']
+ },
+ toggle: function(element, effect) {
+ element = $(element);
+ effect = (effect || 'appear').toLowerCase();
+ var options = Object.extend({
+ queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
+ }, arguments[2] || {});
+ Effect[element.visible() ?
+ Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options);
+ }
+};
+
+var Effect2 = Effect; // deprecated
+
+/* ------------- transitions ------------- */
+
+Effect.Transitions = {
+ linear: Prototype.K,
+ sinoidal: function(pos) {
+ return (-Math.cos(pos*Math.PI)/2) + 0.5;
+ },
+ reverse: function(pos) {
+ return 1-pos;
+ },
+ flicker: function(pos) {
+ return ((-Math.cos(pos*Math.PI)/4) + 0.75) + Math.random()/4;
+ },
+ wobble: function(pos) {
+ return (-Math.cos(pos*Math.PI*(9*pos))/2) + 0.5;
+ },
+ pulse: function(pos, pulses) {
+ pulses = pulses || 5;
+ return (
+ Math.round((pos % (1/pulses)) * pulses) == 0 ?
+ ((pos * pulses * 2) - Math.floor(pos * pulses * 2)) :
+ 1 - ((pos * pulses * 2) - Math.floor(pos * pulses * 2))
+ );
+ },
+ none: function(pos) {
+ return 0;
+ },
+ full: function(pos) {
+ return 1;
+ }
+};
+
+/* ------------- core effects ------------- */
+
+Effect.ScopedQueue = Class.create();
+Object.extend(Object.extend(Effect.ScopedQueue.prototype, Enumerable), {
+ initialize: function() {
+ this.effects = [];
+ this.interval = null;
+ },
+ _each: function(iterator) {
+ this.effects._each(iterator);
+ },
+ add: function(effect) {
+ var timestamp = new Date().getTime();
+
+ var position = (typeof effect.options.queue == 'string') ?
+ effect.options.queue : effect.options.queue.position;
+
+ switch(position) {
+ case 'front':
+ // move unstarted effects after this effect
+ this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) {
+ e.startOn += effect.finishOn;
+ e.finishOn += effect.finishOn;
+ });
+ break;
+ case 'with-last':
+ timestamp = this.effects.pluck('startOn').max() || timestamp;
+ break;
+ case 'end':
+ // start effect after last queued effect has finished
+ timestamp = this.effects.pluck('finishOn').max() || timestamp;
+ break;
+ }
+
+ effect.startOn += timestamp;
+ effect.finishOn += timestamp;
+
+ if(!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit))
+ this.effects.push(effect);
+
+ if(!this.interval)
+ this.interval = setInterval(this.loop.bind(this), 15);
+ },
+ remove: function(effect) {
+ this.effects = this.effects.reject(function(e) { return e==effect });
+ if(this.effects.length == 0) {
+ clearInterval(this.interval);
+ this.interval = null;
+ }
+ },
+ loop: function() {
+ var timePos = new Date().getTime();
+ for(var i=0, len=this.effects.length;i<len;i++)
+ if(this.effects[i]) this.effects[i].loop(timePos);
+ }
+});
+
+Effect.Queues = {
+ instances: $H(),
+ get: function(queueName) {
+ if(typeof queueName != 'string') return queueName;
+
+ if(!this.instances[queueName])
+ this.instances[queueName] = new Effect.ScopedQueue();
+
+ return this.instances[queueName];
+ }
+}
+Effect.Queue = Effect.Queues.get('global');
+
+Effect.DefaultOptions = {
+ transition: Effect.Transitions.sinoidal,
+ duration: 1.0, // seconds
+ fps: 60.0, // max. 60fps due to Effect.Queue implementation
+ sync: false, // true for combining
+ from: 0.0,
+ to: 1.0,
+ delay: 0.0,
+ queue: 'parallel'
+}
+
+Effect.Base = function() {};
+Effect.Base.prototype = {
+ position: null,
+ start: function(options) {
+ this.options = Object.extend(Object.extend({},Effect.DefaultOptions), options || {});
+ this.currentFrame = 0;
+ this.state = 'idle';
+ this.startOn = this.options.delay*1000;
+ this.finishOn = this.startOn + (this.options.duration*1000);
+ this.event('beforeStart');
+ if(!this.options.sync)
+ Effect.Queues.get(typeof this.options.queue == 'string' ?
+ 'global' : this.options.queue.scope).add(this);
+ },
+ loop: function(timePos) {
+ if(timePos >= this.startOn) {
+ if(timePos >= this.finishOn) {
+ this.render(1.0);
+ this.cancel();
+ this.event('beforeFinish');
+ if(this.finish) this.finish();
+ this.event('afterFinish');
+ return;
+ }
+ var pos = (timePos - this.startOn) / (this.finishOn - this.startOn);
+ var frame = Math.round(pos * this.options.fps * this.options.duration);
+ if(frame > this.currentFrame) {
+ this.render(pos);
+ this.currentFrame = frame;
+ }
+ }
+ },
+ render: function(pos) {
+ if(this.state == 'idle') {
+ this.state = 'running';
+ this.event('beforeSetup');
+ if(this.setup) this.setup();
+ this.event('afterSetup');
+ }
+ if(this.state == 'running') {
+ if(this.options.transition) pos = this.options.transition(pos);
+ pos *= (this.options.to-this.options.from);
+ pos += this.options.from;
+ this.position = pos;
+ this.event('beforeUpdate');
+ if(this.update) this.update(pos);
+ this.event('afterUpdate');
+ }
+ },
+ cancel: function() {
+ if(!this.options.sync)
+ Effect.Queues.get(typeof this.options.queue == 'string' ?
+ 'global' : this.options.queue.scope).remove(this);
+ this.state = 'finished';
+ },
+ event: function(eventName) {
+ if(this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this);
+ if(this.options[eventName]) this.options[eventName](this);
+ },
+ inspect: function() {
+ var data = $H();
+ for(property in this)
+ if(typeof this[property] != 'function') data[property] = this[property];
+ return '#<Effect:' + data.inspect() + ',options:' + $H(this.options).inspect() + '>';
+ }
+}
+
+Effect.Parallel = Class.create();
+Object.extend(Object.extend(Effect.Parallel.prototype, Effect.Base.prototype), {
+ initialize: function(effects) {
+ this.effects = effects || [];
+ this.start(arguments[1]);
+ },
+ update: function(position) {
+ this.effects.invoke('render', position);
+ },
+ finish: function(position) {
+ this.effects.each( function(effect) {
+ effect.render(1.0);
+ effect.cancel();
+ effect.event('beforeFinish');
+ if(effect.finish) effect.finish(position);
+ effect.event('afterFinish');
+ });
+ }
+});
+
+Effect.Event = Class.create();
+Object.extend(Object.extend(Effect.Event.prototype, Effect.Base.prototype), {
+ initialize: function() {
+ var options = Object.extend({
+ duration: 0
+ }, arguments[0] || {});
+ this.start(options);
+ },
+ update: Prototype.emptyFunction
+});
+
+Effect.Opacity = Class.create();
+Object.extend(Object.extend(Effect.Opacity.prototype, Effect.Base.prototype), {
+ initialize: function(element) {
+ this.element = $(element);
+ if(!this.element) throw(Effect._elementDoesNotExistError);
+ // make this work on IE on elements without 'layout'
+ if(/MSIE/.test(navigator.userAgent) && !window.opera && (!this.element.currentStyle.hasLayout))
+ this.element.setStyle({zoom: 1});
+ var options = Object.extend({
+ from: this.element.getOpacity() || 0.0,
+ to: 1.0
+ }, arguments[1] || {});
+ this.start(options);
+ },
+ update: function(position) {
+ this.element.setOpacity(position);
+ }
+});
+
+Effect.Move = Class.create();
+Object.extend(Object.extend(Effect.Move.prototype, Effect.Base.prototype), {
+ initialize: function(element) {
+ this.element = $(element);
+ if(!this.element) throw(Effect._elementDoesNotExistError);
+ var options = Object.extend({
+ x: 0,
+ y: 0,
+ mode: 'relative'
+ }, arguments[1] || {});
+ this.start(options);
+ },
+ setup: function() {
+ // Bug in Opera: Opera returns the "real" position of a static element or
+ // relative element that does not have top/left explicitly set.
+ // ==> Always set top and left for position relative elements in your stylesheets
+ // (to 0 if you do not need them)
+ this.element.makePositioned();
+ this.originalLeft = parseFloat(this.element.getStyle('left') || '0');
+ this.originalTop = parseFloat(this.element.getStyle('top') || '0');
+ if(this.options.mode == 'absolute') {
+ // absolute movement, so we need to calc deltaX and deltaY
+ this.options.x = this.options.x - this.originalLeft;
+ this.options.y = this.options.y - this.originalTop;
+ }
+ },
+ update: function(position) {
+ this.element.setStyle({
+ left: Math.round(this.options.x * position + this.originalLeft) + 'px',
+ top: Math.round(this.options.y * position + this.originalTop) + 'px'
+ });
+ }
+});
+
+// for backwards compatibility
+Effect.MoveBy = function(element, toTop, toLeft) {
+ return new Effect.Move(element,
+ Object.extend({ x: toLeft, y: toTop }, arguments[3] || {}));
+};
+
+Effect.Scale = Class.create();
+Object.extend(Object.extend(Effect.Scale.prototype, Effect.Base.prototype), {
+ initialize: function(element, percent) {
+ this.element = $(element);
+ if(!this.element) throw(Effect._elementDoesNotExistError);
+ var options = Object.extend({
+ scaleX: true,
+ scaleY: true,
+ scaleContent: true,
+ scaleFromCenter: false,
+ scaleMode: 'box', // 'box' or 'contents' or {} with provided values
+ scaleFrom: 100.0,
+ scaleTo: percent
+ }, arguments[2] || {});
+ this.start(options);
+ },
+ setup: function() {
+ this.restoreAfterFinish = this.options.restoreAfterFinish || false;
+ this.elementPositioning = this.element.getStyle('position');
+
+ this.originalStyle = {};
+ ['top','left','width','height','fontSize'].each( function(k) {
+ this.originalStyle[k] = this.element.style[k];
+ }.bind(this));
+
+ this.originalTop = this.element.offsetTop;
+ this.originalLeft = this.element.offsetLeft;
+
+ var fontSize = this.element.getStyle('font-size') || '100%';
+ ['em','px','%','pt'].each( function(fontSizeType) {
+ if(fontSize.indexOf(fontSizeType)>0) {
+ this.fontSize = parseFloat(fontSize);
+ this.fontSizeType = fontSizeType;
+ }
+ }.bind(this));
+
+ this.factor = (this.options.scaleTo - this.options.scaleFrom)/100;
+
+ this.dims = null;
+ if(this.options.scaleMode=='box')
+ this.dims = [this.element.offsetHeight, this.element.offsetWidth];
+ if(/^content/.test(this.options.scaleMode))
+ this.dims = [this.element.scrollHeight, this.element.scrollWidth];
+ if(!this.dims)
+ this.dims = [this.options.scaleMode.originalHeight,
+ this.options.scaleMode.originalWidth];
+ },
+ update: function(position) {
+ var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position);
+ if(this.options.scaleContent && this.fontSize)
+ this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType });
+ this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale);
+ },
+ finish: function(position) {
+ if(this.restoreAfterFinish) this.element.setStyle(this.originalStyle);
+ },
+ setDimensions: function(height, width) {
+ var d = {};
+ if(this.options.scaleX) d.width = Math.round(width) + 'px';
+ if(this.options.scaleY) d.height = Math.round(height) + 'px';
+ if(this.options.scaleFromCenter) {
+ var topd = (height - this.dims[0])/2;
+ var leftd = (width - this.dims[1])/2;
+ if(this.elementPositioning == 'absolute') {
+ if(this.options.scaleY) d.top = this.originalTop-topd + 'px';
+ if(this.options.scaleX) d.left = this.originalLeft-leftd + 'px';
+ } else {
+ if(this.options.scaleY) d.top = -topd + 'px';
+ if(this.options.scaleX) d.left = -leftd + 'px';
+ }
+ }
+ this.element.setStyle(d);
+ }
+});
+
+Effect.Highlight = Class.create();
+Object.extend(Object.extend(Effect.Highlight.prototype, Effect.Base.prototype), {
+ initialize: function(element) {
+ this.element = $(element);
+ if(!this.element) throw(Effect._elementDoesNotExistError);
+ var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || {});
+ this.start(options);
+ },
+ setup: function() {
+ // Prevent executing on elements not in the layout flow
+ if(this.element.getStyle('display')=='none') { this.cancel(); return; }
+ // Disable background image during the effect
+ this.oldStyle = {};
+ if (!this.options.keepBackgroundImage) {
+ this.oldStyle.backgroundImage = this.element.getStyle('background-image');
+ this.element.setStyle({backgroundImage: 'none'});
+ }
+ if(!this.options.endcolor)
+ this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff');
+ if(!this.options.restorecolor)
+ this.options.restorecolor = this.element.getStyle('background-color');
+ // init color calculations
+ this._base = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));
+ this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this));
+ },
+ update: function(position) {
+ this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){
+ return m+(Math.round(this._base[i]+(this._delta[i]*position)).toColorPart()); }.bind(this)) });
+ },
+ finish: function() {
+ this.element.setStyle(Object.extend(this.oldStyle, {
+ backgroundColor: this.options.restorecolor
+ }));
+ }
+});
+
+Effect.ScrollTo = Class.create();
+Object.extend(Object.extend(Effect.ScrollTo.prototype, Effect.Base.prototype), {
+ initialize: function(element) {
+ this.element = $(element);
+ this.start(arguments[1] || {});
+ },
+ setup: function() {
+ Position.prepare();
+ var offsets = Position.cumulativeOffset(this.element);
+ if(this.options.offset) offsets[1] += this.options.offset;
+ var max = window.innerHeight ?
+ window.height - window.innerHeight :
+ document.body.scrollHeight -
+ (document.documentElement.clientHeight ?
+ document.documentElement.clientHeight : document.body.clientHeight);
+ this.scrollStart = Position.deltaY;
+ this.delta = (offsets[1] > max ? max : offsets[1]) - this.scrollStart;
+ },
+ update: function(position) {
+ Position.prepare();
+ window.scrollTo(Position.deltaX,
+ this.scrollStart + (position*this.delta));
+ }
+});
+
+/* ------------- combination effects ------------- */
+
+Effect.Fade = function(element) {
+ element = $(element);
+ var oldOpacity = element.getInlineOpacity();
+ var options = Object.extend({
+ from: element.getOpacity() || 1.0,
+ to: 0.0,
+ afterFinishInternal: function(effect) {
+ if(effect.options.to!=0) return;
+ effect.element.hide().setStyle({opacity: oldOpacity});
+ }}, arguments[1] || {});
+ return new Effect.Opacity(element,options);
+}
+
+Effect.Appear = function(element) {
+ element = $(element);
+ var options = Object.extend({
+ from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0),
+ to: 1.0,
+ // force Safari to render floated elements properly
+ afterFinishInternal: function(effect) {
+ effect.element.forceRerendering();
+ },
+ beforeSetup: function(effect) {
+ effect.element.setOpacity(effect.options.from).show();
+ }}, arguments[1] || {});
+ return new Effect.Opacity(element,options);
+}
+
+Effect.Puff = function(element) {
+ element = $(element);
+ var oldStyle = {
+ opacity: element.getInlineOpacity(),
+ position: element.getStyle('position'),
+ top: element.style.top,
+ left: element.style.left,
+ width: element.style.width,
+ height: element.style.height
+ };
+ return new Effect.Parallel(
+ [ new Effect.Scale(element, 200,
+ { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }),
+ new Effect.Opacity(element, { sync: true, to: 0.0 } ) ],
+ Object.extend({ duration: 1.0,
+ beforeSetupInternal: function(effect) {
+ Position.absolutize(effect.effects[0].element)
+ },
+ afterFinishInternal: function(effect) {
+ effect.effects[0].element.hide().setStyle(oldStyle); }
+ }, arguments[1] || {})
+ );
+}
+
+Effect.BlindUp = function(element) {
+ element = $(element);
+ element.makeClipping();
+ return new Effect.Scale(element, 0,
+ Object.extend({ scaleContent: false,
+ scaleX: false,
+ restoreAfterFinish: true,
+ afterFinishInternal: function(effect) {
+ effect.element.hide().undoClipping();
+ }
+ }, arguments[1] || {})
+ );
+}
+
+Effect.BlindDown = function(element) {
+ element = $(element);
+ var elementDimensions = element.getDimensions();
+ return new Effect.Scale(element, 100, Object.extend({
+ scaleContent: false,
+ scaleX: false,
+ scaleFrom: 0,
+ scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
+ restoreAfterFinish: true,
+ afterSetup: function(effect) {
+ effect.element.makeClipping().setStyle({height: '0px'}).show();
+ },
+ afterFinishInternal: function(effect) {
+ effect.element.undoClipping();
+ }
+ }, arguments[1] || {}));
+}
+
+Effect.SwitchOff = function(element) {
+ element = $(element);
+ var oldOpacity = element.getInlineOpacity();
+ return new Effect.Appear(element, Object.extend({
+ duration: 0.4,
+ from: 0,
+ transition: Effect.Transitions.flicker,
+ afterFinishInternal: function(effect) {
+ new Effect.Scale(effect.element, 1, {
+ duration: 0.3, scaleFromCenter: true,
+ scaleX: false, scaleContent: false, restoreAfterFinish: true,
+ beforeSetup: function(effect) {
+ effect.element.makePositioned().makeClipping();
+ },
+ afterFinishInternal: function(effect) {
+ effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: oldOpacity});
+ }
+ })
+ }
+ }, arguments[1] || {}));
+}
+
+Effect.DropOut = function(element) {
+ element = $(element);
+ var oldStyle = {
+ top: element.getStyle('top'),
+ left: element.getStyle('left'),
+ opacity: element.getInlineOpacity() };
+ return new Effect.Parallel(
+ [ new Effect.Move(element, {x: 0, y: 100, sync: true }),
+ new Effect.Opacity(element, { sync: true, to: 0.0 }) ],
+ Object.extend(
+ { duration: 0.5,
+ beforeSetup: function(effect) {
+ effect.effects[0].element.makePositioned();
+ },
+ afterFinishInternal: function(effect) {
+ effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);
+ }
+ }, arguments[1] || {}));
+}
+
+Effect.Shake = function(element) {
+ element = $(element);
+ var oldStyle = {
+ top: element.getStyle('top'),
+ left: element.getStyle('left') };
+ return new Effect.Move(element,
+ { x: 20, y: 0, duration: 0.05, afterFinishInternal: function(effect) {
+ new Effect.Move(effect.element,
+ { x: -40, y: 0, duration: 0.1, afterFinishInternal: function(effect) {
+ new Effect.Move(effect.element,
+ { x: 40, y: 0, duration: 0.1, afterFinishInternal: function(effect) {
+ new Effect.Move(effect.element,
+ { x: -40, y: 0, duration: 0.1, afterFinishInternal: function(effect) {
+ new Effect.Move(effect.element,
+ { x: 40, y: 0, duration: 0.1, afterFinishInternal: function(effect) {
+ new Effect.Move(effect.element,
+ { x: -20, y: 0, duration: 0.05, afterFinishInternal: function(effect) {
+ effect.element.undoPositioned().setStyle(oldStyle);
+ }}) }}) }}) }}) }}) }});
+}
+
+Effect.SlideDown = function(element) {
+ element = $(element).cleanWhitespace();
+ // SlideDown need to have the content of the element wrapped in a container element with fixed height!
+ var oldInnerBottom = element.down().getStyle('bottom');
+ var elementDimensions = element.getDimensions();
+ return new Effect.Scale(element, 100, Object.extend({
+ scaleContent: false,
+ scaleX: false,
+ scaleFrom: window.opera ? 0 : 1,
+ scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
+ restoreAfterFinish: true,
+ afterSetup: function(effect) {
+ effect.element.makePositioned();
+ effect.element.down().makePositioned();
+ if(window.opera) effect.element.setStyle({top: ''});
+ effect.element.makeClipping().setStyle({height: '0px'}).show();
+ },
+ afterUpdateInternal: function(effect) {
+ effect.element.down().setStyle({bottom:
+ (effect.dims[0] - effect.element.clientHeight) + 'px' });
+ },
+ afterFinishInternal: function(effect) {
+ effect.element.undoClipping().undoPositioned();
+ effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); }
+ }, arguments[1] || {})
+ );
+}
+
+Effect.SlideUp = function(element) {
+ element = $(element).cleanWhitespace();
+ var oldInnerBottom = element.down().getStyle('bottom');
+ return new Effect.Scale(element, window.opera ? 0 : 1,
+ Object.extend({ scaleContent: false,
+ scaleX: false,
+ scaleMode: 'box',
+ scaleFrom: 100,
+ restoreAfterFinish: true,
+ beforeStartInternal: function(effect) {
+ effect.element.makePositioned();
+ effect.element.down().makePositioned();
+ if(window.opera) effect.element.setStyle({top: ''});
+ effect.element.makeClipping().show();
+ },
+ afterUpdateInternal: function(effect) {
+ effect.element.down().setStyle({bottom:
+ (effect.dims[0] - effect.element.clientHeight) + 'px' });
+ },
+ afterFinishInternal: function(effect) {
+ effect.element.hide().undoClipping().undoPositioned().setStyle({bottom: oldInnerBottom});
+ effect.element.down().undoPositioned();
+ }
+ }, arguments[1] || {})
+ );
+}
+
+// Bug in opera makes the TD containing this element expand for a instance after finish
+Effect.Squish = function(element) {
+ return new Effect.Scale(element, window.opera ? 1 : 0, {
+ restoreAfterFinish: true,
+ beforeSetup: function(effect) {
+ effect.element.makeClipping();
+ },
+ afterFinishInternal: function(effect) {
+ effect.element.hide().undoClipping();
+ }
+ });
+}
+
+Effect.Grow = function(element) {
+ element = $(element);
+ var options = Object.extend({
+ direction: 'center',
+ moveTransition: Effect.Transitions.sinoidal,
+ scaleTransition: Effect.Transitions.sinoidal,
+ opacityTransition: Effect.Transitions.full
+ }, arguments[1] || {});
+ var oldStyle = {
+ top: element.style.top,
+ left: element.style.left,
+ height: element.style.height,
+ width: element.style.width,
+ opacity: element.getInlineOpacity() };
+
+ var dims = element.getDimensions();
+ var initialMoveX, initialMoveY;
+ var moveX, moveY;
+
+ switch (options.direction) {
+ case 'top-left':
+ initialMoveX = initialMoveY = moveX = moveY = 0;
+ break;
+ case 'top-right':
+ initialMoveX = dims.width;
+ initialMoveY = moveY = 0;
+ moveX = -dims.width;
+ break;
+ case 'bottom-left':
+ initialMoveX = moveX = 0;
+ initialMoveY = dims.height;
+ moveY = -dims.height;
+ break;
+ case 'bottom-right':
+ initialMoveX = dims.width;
+ initialMoveY = dims.height;
+ moveX = -dims.width;
+ moveY = -dims.height;
+ break;
+ case 'center':
+ initialMoveX = dims.width / 2;
+ initialMoveY = dims.height / 2;
+ moveX = -dims.width / 2;
+ moveY = -dims.height / 2;
+ break;
+ }
+
+ return new Effect.Move(element, {
+ x: initialMoveX,
+ y: initialMoveY,
+ duration: 0.01,
+ beforeSetup: function(effect) {
+ effect.element.hide().makeClipping().makePositioned();
+ },
+ afterFinishInternal: function(effect) {
+ new Effect.Parallel(
+ [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }),
+ new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }),
+ new Effect.Scale(effect.element, 100, {
+ scaleMode: { originalHeight: dims.height, originalWidth: dims.width },
+ sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true})
+ ], Object.extend({
+ beforeSetup: function(effect) {
+ effect.effects[0].element.setStyle({height: '0px'}).show();
+ },
+ afterFinishInternal: function(effect) {
+ effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);
+ }
+ }, options)
+ )
+ }
+ });
+}
+
+Effect.Shrink = function(element) {
+ element = $(element);
+ var options = Object.extend({
+ direction: 'center',
+ moveTransition: Effect.Transitions.sinoidal,
+ scaleTransition: Effect.Transitions.sinoidal,
+ opacityTransition: Effect.Transitions.none
+ }, arguments[1] || {});
+ var oldStyle = {
+ top: element.style.top,
+ left: element.style.left,
+ height: element.style.height,
+ width: element.style.width,
+ opacity: element.getInlineOpacity() };
+
+ var dims = element.getDimensions();
+ var moveX, moveY;
+
+ switch (options.direction) {
+ case 'top-left':
+ moveX = moveY = 0;
+ break;
+ case 'top-right':
+ moveX = dims.width;
+ moveY = 0;
+ break;
+ case 'bottom-left':
+ moveX = 0;
+ moveY = dims.height;
+ break;
+ case 'bottom-right':
+ moveX = dims.width;
+ moveY = dims.height;
+ break;
+ case 'center':
+ moveX = dims.width / 2;
+ moveY = dims.height / 2;
+ break;
+ }
+
+ return new Effect.Parallel(
+ [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }),
+ new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}),
+ new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition })
+ ], Object.extend({
+ beforeStartInternal: function(effect) {
+ effect.effects[0].element.makePositioned().makeClipping();
+ },
+ afterFinishInternal: function(effect) {
+ effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle); }
+ }, options)
+ );
+}
+
+Effect.Pulsate = function(element) {
+ element = $(element);
+ var options = arguments[1] || {};
+ var oldOpacity = element.getInlineOpacity();
+ var transition = options.transition || Effect.Transitions.sinoidal;
+ var reverser = function(pos){ return transition(1-Effect.Transitions.pulse(pos, options.pulses)) };
+ reverser.bind(transition);
+ return new Effect.Opacity(element,
+ Object.extend(Object.extend({ duration: 2.0, from: 0,
+ afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); }
+ }, options), {transition: reverser}));
+}
+
+Effect.Fold = function(element) {
+ element = $(element);
+ var oldStyle = {
+ top: element.style.top,
+ left: element.style.left,
+ width: element.style.width,
+ height: element.style.height };
+ element.makeClipping();
+ return new Effect.Scale(element, 5, Object.extend({
+ scaleContent: false,
+ scaleX: false,
+ afterFinishInternal: function(effect) {
+ new Effect.Scale(element, 1, {
+ scaleContent: false,
+ scaleY: false,
+ afterFinishInternal: function(effect) {
+ effect.element.hide().undoClipping().setStyle(oldStyle);
+ } });
+ }}, arguments[1] || {}));
+};
+
+Effect.Morph = Class.create();
+Object.extend(Object.extend(Effect.Morph.prototype, Effect.Base.prototype), {
+ initialize: function(element) {
+ this.element = $(element);
+ if(!this.element) throw(Effect._elementDoesNotExistError);
+ var options = Object.extend({
+ style: {}
+ }, arguments[1] || {});
+ if (typeof options.style == 'string') {
+ if(options.style.indexOf(':') == -1) {
+ var cssText = '', selector = '.' + options.style;
+ $A(document.styleSheets).reverse().each(function(styleSheet) {
+ if (styleSheet.cssRules) cssRules = styleSheet.cssRules;
+ else if (styleSheet.rules) cssRules = styleSheet.rules;
+ $A(cssRules).reverse().each(function(rule) {
+ if (selector == rule.selectorText) {
+ cssText = rule.style.cssText;
+ throw $break;
+ }
+ });
+ if (cssText) throw $break;
+ });
+ this.style = cssText.parseStyle();
+ options.afterFinishInternal = function(effect){
+ effect.element.addClassName(effect.options.style);
+ effect.transforms.each(function(transform) {
+ if(transform.style != 'opacity')
+ effect.element.style[transform.style.camelize()] = '';
+ });
+ }
+ } else this.style = options.style.parseStyle();
+ } else this.style = $H(options.style)
+ this.start(options);
+ },
+ setup: function(){
+ function parseColor(color){
+ if(!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) color = '#ffffff';
+ color = color.parseColor();
+ return $R(0,2).map(function(i){
+ return parseInt( color.slice(i*2+1,i*2+3), 16 )
+ });
+ }
+ this.transforms = this.style.map(function(pair){
+ var property = pair[0].underscore().dasherize(), value = pair[1], unit = null;
+
+ if(value.parseColor('#zzzzzz') != '#zzzzzz') {
+ value = value.parseColor();
+ unit = 'color';
+ } else if(property == 'opacity') {
+ value = parseFloat(value);
+ if(/MSIE/.test(navigator.userAgent) && !window.opera && (!this.element.currentStyle.hasLayout))
+ this.element.setStyle({zoom: 1});
+ } else if(Element.CSS_LENGTH.test(value))
+ var components = value.match(/^([\+\-]?[0-9\.]+)(.*)$/),
+ value = parseFloat(components[1]), unit = (components.length == 3) ? components[2] : null;
+
+ var originalValue = this.element.getStyle(property);
+ return $H({
+ style: property,
+ originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0),
+ targetValue: unit=='color' ? parseColor(value) : value,
+ unit: unit
+ });
+ }.bind(this)).reject(function(transform){
+ return (
+ (transform.originalValue == transform.targetValue) ||
+ (
+ transform.unit != 'color' &&
+ (isNaN(transform.originalValue) || isNaN(transform.targetValue))
+ )
+ )
+ });
+ },
+ update: function(position) {
+ var style = $H(), value = null;
+ this.transforms.each(function(transform){
+ value = transform.unit=='color' ?
+ $R(0,2).inject('#',function(m,v,i){
+ return m+(Math.round(transform.originalValue[i]+
+ (transform.targetValue[i] - transform.originalValue[i])*position)).toColorPart() }) :
+ transform.originalValue + Math.round(
+ ((transform.targetValue - transform.originalValue) * position) * 1000)/1000 + transform.unit;
+ style[transform.style] = value;
+ });
+ this.element.setStyle(style);
+ }
+});
+
+Effect.Transform = Class.create();
+Object.extend(Effect.Transform.prototype, {
+ initialize: function(tracks){
+ this.tracks = [];
+ this.options = arguments[1] || {};
+ this.addTracks(tracks);
+ },
+ addTracks: function(tracks){
+ tracks.each(function(track){
+ var data = $H(track).values().first();
+ this.tracks.push($H({
+ ids: $H(track).keys().first(),
+ effect: Effect.Morph,
+ options: { style: data }
+ }));
+ }.bind(this));
+ return this;
+ },
+ play: function(){
+ return new Effect.Parallel(
+ this.tracks.map(function(track){
+ var elements = [$(track.ids) || $$(track.ids)].flatten();
+ return elements.map(function(e){ return new track.effect(e, Object.extend({ sync:true }, track.options)) });
+ }).flatten(),
+ this.options
+ );
+ }
+});
+
+Element.CSS_PROPERTIES = $w(
+ 'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' +
+ 'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' +
+ 'borderRightColor borderRightStyle borderRightWidth borderSpacing ' +
+ 'borderTopColor borderTopStyle borderTopWidth bottom clip color ' +
+ 'fontSize fontWeight height left letterSpacing lineHeight ' +
+ 'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+
+ 'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' +
+ 'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' +
+ 'right textIndent top width wordSpacing zIndex');
+
+Element.CSS_LENGTH = /^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;
+
+String.prototype.parseStyle = function(){
+ var element = Element.extend(document.createElement('div'));
+ element.innerHTML = '<div style="' + this + '"></div>';
+ var style = element.down().style, styleRules = $H();
+
+ Element.CSS_PROPERTIES.each(function(property){
+ if(style[property]) styleRules[property] = style[property];
+ });
+ if(/MSIE/.test(navigator.userAgent) && !window.opera && this.indexOf('opacity') > -1) {
+ styleRules.opacity = this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1];
+ }
+ return styleRules;
+};
+
+Element.morph = function(element, style) {
+ new Effect.Morph(element, Object.extend({ style: style }, arguments[2] || {}));
+ return element;
+};
+
+['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom',
+ 'collectTextNodes','collectTextNodesIgnoreClass','morph'].each(
+ function(f) { Element.Methods[f] = Element[f]; }
+);
+
+Element.Methods.visualEffect = function(element, effect, options) {
+ s = effect.gsub(/_/, '-').camelize();
+ effect_class = s.charAt(0).toUpperCase() + s.substring(1);
+ new Effect[effect_class](element, options);
+ return $(element);
+};
+
+Element.addMethods(); \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/prototype.js b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/prototype.js
new file mode 100644
index 00000000..14c5dc41
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/prototype.js
@@ -0,0 +1,2515 @@
+/* Prototype JavaScript framework, version 1.5.0
+ * (c) 2005-2007 Sam Stephenson
+ *
+ * Prototype is freely distributable under the terms of an MIT-style license.
+ * For details, see the Prototype web site: http://prototype.conio.net/
+ *
+/*--------------------------------------------------------------------------*/
+
+var Prototype = {
+ Version: '1.5.0',
+ BrowserFeatures: {
+ XPath: !!document.evaluate
+ },
+
+ ScriptFragment: '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',
+ emptyFunction: function() {},
+ K: function(x) { return x }
+}
+
+var Class = {
+ create: function() {
+ return function() {
+ this.initialize.apply(this, arguments);
+ }
+ }
+}
+
+var Abstract = new Object();
+
+Object.extend = function(destination, source) {
+ for (var property in source) {
+ destination[property] = source[property];
+ }
+ return destination;
+}
+
+Object.extend(Object, {
+ inspect: function(object) {
+ try {
+ if (object === undefined) return 'undefined';
+ if (object === null) return 'null';
+ return object.inspect ? object.inspect() : object.toString();
+ } catch (e) {
+ if (e instanceof RangeError) return '...';
+ throw e;
+ }
+ },
+
+ keys: function(object) {
+ var keys = [];
+ for (var property in object)
+ keys.push(property);
+ return keys;
+ },
+
+ values: function(object) {
+ var values = [];
+ for (var property in object)
+ values.push(object[property]);
+ return values;
+ },
+
+ clone: function(object) {
+ return Object.extend({}, object);
+ }
+});
+
+Function.prototype.bind = function() {
+ var __method = this, args = $A(arguments), object = args.shift();
+ return function() {
+ return __method.apply(object, args.concat($A(arguments)));
+ }
+}
+
+Function.prototype.bindAsEventListener = function(object) {
+ var __method = this, args = $A(arguments), object = args.shift();
+ return function(event) {
+ return __method.apply(object, [( event || window.event)].concat(args).concat($A(arguments)));
+ }
+}
+
+Object.extend(Number.prototype, {
+ toColorPart: function() {
+ var digits = this.toString(16);
+ if (this < 16) return '0' + digits;
+ return digits;
+ },
+
+ succ: function() {
+ return this + 1;
+ },
+
+ times: function(iterator) {
+ $R(0, this, true).each(iterator);
+ return this;
+ }
+});
+
+var Try = {
+ these: function() {
+ var returnValue;
+
+ for (var i = 0, length = arguments.length; i < length; i++) {
+ var lambda = arguments[i];
+ try {
+ returnValue = lambda();
+ break;
+ } catch (e) {}
+ }
+
+ return returnValue;
+ }
+}
+
+/*--------------------------------------------------------------------------*/
+
+var PeriodicalExecuter = Class.create();
+PeriodicalExecuter.prototype = {
+ initialize: function(callback, frequency) {
+ this.callback = callback;
+ this.frequency = frequency;
+ this.currentlyExecuting = false;
+
+ this.registerCallback();
+ },
+
+ registerCallback: function() {
+ this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
+ },
+
+ stop: function() {
+ if (!this.timer) return;
+ clearInterval(this.timer);
+ this.timer = null;
+ },
+
+ onTimerEvent: function() {
+ if (!this.currentlyExecuting) {
+ try {
+ this.currentlyExecuting = true;
+ this.callback(this);
+ } finally {
+ this.currentlyExecuting = false;
+ }
+ }
+ }
+}
+String.interpret = function(value){
+ return value == null ? '' : String(value);
+}
+
+Object.extend(String.prototype, {
+ gsub: function(pattern, replacement) {
+ var result = '', source = this, match;
+ replacement = arguments.callee.prepareReplacement(replacement);
+
+ while (source.length > 0) {
+ if (match = source.match(pattern)) {
+ result += source.slice(0, match.index);
+ result += String.interpret(replacement(match));
+ source = source.slice(match.index + match[0].length);
+ } else {
+ result += source, source = '';
+ }
+ }
+ return result;
+ },
+
+ sub: function(pattern, replacement, count) {
+ replacement = this.gsub.prepareReplacement(replacement);
+ count = count === undefined ? 1 : count;
+
+ return this.gsub(pattern, function(match) {
+ if (--count < 0) return match[0];
+ return replacement(match);
+ });
+ },
+
+ scan: function(pattern, iterator) {
+ this.gsub(pattern, iterator);
+ return this;
+ },
+
+ truncate: function(length, truncation) {
+ length = length || 30;
+ truncation = truncation === undefined ? '...' : truncation;
+ return this.length > length ?
+ this.slice(0, length - truncation.length) + truncation : this;
+ },
+
+ strip: function() {
+ return this.replace(/^\s+/, '').replace(/\s+$/, '');
+ },
+
+ stripTags: function() {
+ return this.replace(/<\/?[^>]+>/gi, '');
+ },
+
+ stripScripts: function() {
+ return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
+ },
+
+ extractScripts: function() {
+ var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
+ var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
+ return (this.match(matchAll) || []).map(function(scriptTag) {
+ return (scriptTag.match(matchOne) || ['', ''])[1];
+ });
+ },
+
+ evalScripts: function() {
+ return this.extractScripts().map(function(script) { return eval(script) });
+ },
+
+ escapeHTML: function() {
+ var div = document.createElement('div');
+ var text = document.createTextNode(this);
+ div.appendChild(text);
+ return div.innerHTML;
+ },
+
+ unescapeHTML: function() {
+ var div = document.createElement('div');
+ div.innerHTML = this.stripTags();
+ return div.childNodes[0] ? (div.childNodes.length > 1 ?
+ $A(div.childNodes).inject('',function(memo,node){ return memo+node.nodeValue }) :
+ div.childNodes[0].nodeValue) : '';
+ },
+
+ toQueryParams: function(separator) {
+ var match = this.strip().match(/([^?#]*)(#.*)?$/);
+ if (!match) return {};
+
+ return match[1].split(separator || '&').inject({}, function(hash, pair) {
+ if ((pair = pair.split('='))[0]) {
+ var name = decodeURIComponent(pair[0]);
+ var value = pair[1] ? decodeURIComponent(pair[1]) : undefined;
+
+ if (hash[name] !== undefined) {
+ if (hash[name].constructor != Array)
+ hash[name] = [hash[name]];
+ if (value) hash[name].push(value);
+ }
+ else hash[name] = value;
+ }
+ return hash;
+ });
+ },
+
+ toArray: function() {
+ return this.split('');
+ },
+
+ succ: function() {
+ return this.slice(0, this.length - 1) +
+ String.fromCharCode(this.charCodeAt(this.length - 1) + 1);
+ },
+
+ camelize: function() {
+ var parts = this.split('-'), len = parts.length;
+ if (len == 1) return parts[0];
+
+ var camelized = this.charAt(0) == '-'
+ ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)
+ : parts[0];
+
+ for (var i = 1; i < len; i++)
+ camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);
+
+ return camelized;
+ },
+
+ capitalize: function(){
+ return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
+ },
+
+ underscore: function() {
+ return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();
+ },
+
+ dasherize: function() {
+ return this.gsub(/_/,'-');
+ },
+
+ inspect: function(useDoubleQuotes) {
+ var escapedString = this.replace(/\\/g, '\\\\');
+ if (useDoubleQuotes)
+ return '"' + escapedString.replace(/"/g, '\\"') + '"';
+ else
+ return "'" + escapedString.replace(/'/g, '\\\'') + "'";
+ }
+});
+
+String.prototype.gsub.prepareReplacement = function(replacement) {
+ if (typeof replacement == 'function') return replacement;
+ var template = new Template(replacement);
+ return function(match) { return template.evaluate(match) };
+}
+
+String.prototype.parseQuery = String.prototype.toQueryParams;
+
+var Template = Class.create();
+Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;
+Template.prototype = {
+ initialize: function(template, pattern) {
+ this.template = template.toString();
+ this.pattern = pattern || Template.Pattern;
+ },
+
+ evaluate: function(object) {
+ return this.template.gsub(this.pattern, function(match) {
+ var before = match[1];
+ if (before == '\\') return match[2];
+ return before + String.interpret(object[match[3]]);
+ });
+ }
+}
+
+var $break = new Object();
+var $continue = new Object();
+
+var Enumerable = {
+ each: function(iterator) {
+ var index = 0;
+ try {
+ this._each(function(value) {
+ try {
+ iterator(value, index++);
+ } catch (e) {
+ if (e != $continue) throw e;
+ }
+ });
+ } catch (e) {
+ if (e != $break) throw e;
+ }
+ return this;
+ },
+
+ eachSlice: function(number, iterator) {
+ var index = -number, slices = [], array = this.toArray();
+ while ((index += number) < array.length)
+ slices.push(array.slice(index, index+number));
+ return slices.map(iterator);
+ },
+
+ all: function(iterator) {
+ var result = true;
+ this.each(function(value, index) {
+ result = result && !!(iterator || Prototype.K)(value, index);
+ if (!result) throw $break;
+ });
+ return result;
+ },
+
+ any: function(iterator) {
+ var result = false;
+ this.each(function(value, index) {
+ if (result = !!(iterator || Prototype.K)(value, index))
+ throw $break;
+ });
+ return result;
+ },
+
+ collect: function(iterator) {
+ var results = [];
+ this.each(function(value, index) {
+ results.push((iterator || Prototype.K)(value, index));
+ });
+ return results;
+ },
+
+ detect: function(iterator) {
+ var result;
+ this.each(function(value, index) {
+ if (iterator(value, index)) {
+ result = value;
+ throw $break;
+ }
+ });
+ return result;
+ },
+
+ findAll: function(iterator) {
+ var results = [];
+ this.each(function(value, index) {
+ if (iterator(value, index))
+ results.push(value);
+ });
+ return results;
+ },
+
+ grep: function(pattern, iterator) {
+ var results = [];
+ this.each(function(value, index) {
+ var stringValue = value.toString();
+ if (stringValue.match(pattern))
+ results.push((iterator || Prototype.K)(value, index));
+ })
+ return results;
+ },
+
+ include: function(object) {
+ var found = false;
+ this.each(function(value) {
+ if (value == object) {
+ found = true;
+ throw $break;
+ }
+ });
+ return found;
+ },
+
+ inGroupsOf: function(number, fillWith) {
+ fillWith = fillWith === undefined ? null : fillWith;
+ return this.eachSlice(number, function(slice) {
+ while(slice.length < number) slice.push(fillWith);
+ return slice;
+ });
+ },
+
+ inject: function(memo, iterator) {
+ this.each(function(value, index) {
+ memo = iterator(memo, value, index);
+ });
+ return memo;
+ },
+
+ invoke: function(method) {
+ var args = $A(arguments).slice(1);
+ return this.map(function(value) {
+ return value[method].apply(value, args);
+ });
+ },
+
+ max: function(iterator) {
+ var result;
+ this.each(function(value, index) {
+ value = (iterator || Prototype.K)(value, index);
+ if (result == undefined || value >= result)
+ result = value;
+ });
+ return result;
+ },
+
+ min: function(iterator) {
+ var result;
+ this.each(function(value, index) {
+ value = (iterator || Prototype.K)(value, index);
+ if (result == undefined || value < result)
+ result = value;
+ });
+ return result;
+ },
+
+ partition: function(iterator) {
+ var trues = [], falses = [];
+ this.each(function(value, index) {
+ ((iterator || Prototype.K)(value, index) ?
+ trues : falses).push(value);
+ });
+ return [trues, falses];
+ },
+
+ pluck: function(property) {
+ var results = [];
+ this.each(function(value, index) {
+ results.push(value[property]);
+ });
+ return results;
+ },
+
+ reject: function(iterator) {
+ var results = [];
+ this.each(function(value, index) {
+ if (!iterator(value, index))
+ results.push(value);
+ });
+ return results;
+ },
+
+ sortBy: function(iterator) {
+ return this.map(function(value, index) {
+ return {value: value, criteria: iterator(value, index)};
+ }).sort(function(left, right) {
+ var a = left.criteria, b = right.criteria;
+ return a < b ? -1 : a > b ? 1 : 0;
+ }).pluck('value');
+ },
+
+ toArray: function() {
+ return this.map();
+ },
+
+ zip: function() {
+ var iterator = Prototype.K, args = $A(arguments);
+ if (typeof args.last() == 'function')
+ iterator = args.pop();
+
+ var collections = [this].concat(args).map($A);
+ return this.map(function(value, index) {
+ return iterator(collections.pluck(index));
+ });
+ },
+
+ size: function() {
+ return this.toArray().length;
+ },
+
+ inspect: function() {
+ return '#<Enumerable:' + this.toArray().inspect() + '>';
+ }
+}
+
+Object.extend(Enumerable, {
+ map: Enumerable.collect,
+ find: Enumerable.detect,
+ select: Enumerable.findAll,
+ member: Enumerable.include,
+ entries: Enumerable.toArray
+});
+var $A = Array.from = function(iterable) {
+ if (!iterable) return [];
+ if (iterable.toArray) {
+ return iterable.toArray();
+ } else {
+ var results = [];
+ for (var i = 0, length = iterable.length; i < length; i++)
+ results.push(iterable[i]);
+ return results;
+ }
+}
+
+Object.extend(Array.prototype, Enumerable);
+
+if (!Array.prototype._reverse)
+ Array.prototype._reverse = Array.prototype.reverse;
+
+Object.extend(Array.prototype, {
+ _each: function(iterator) {
+ for (var i = 0, length = this.length; i < length; i++)
+ iterator(this[i]);
+ },
+
+ clear: function() {
+ this.length = 0;
+ return this;
+ },
+
+ first: function() {
+ return this[0];
+ },
+
+ last: function() {
+ return this[this.length - 1];
+ },
+
+ compact: function() {
+ return this.select(function(value) {
+ return value != null;
+ });
+ },
+
+ flatten: function() {
+ return this.inject([], function(array, value) {
+ return array.concat(value && value.constructor == Array ?
+ value.flatten() : [value]);
+ });
+ },
+
+ without: function() {
+ var values = $A(arguments);
+ return this.select(function(value) {
+ return !values.include(value);
+ });
+ },
+
+ indexOf: function(object) {
+ for (var i = 0, length = this.length; i < length; i++)
+ if (this[i] == object) return i;
+ return -1;
+ },
+
+ reverse: function(inline) {
+ return (inline !== false ? this : this.toArray())._reverse();
+ },
+
+ reduce: function() {
+ return this.length > 1 ? this : this[0];
+ },
+
+ uniq: function() {
+ return this.inject([], function(array, value) {
+ return array.include(value) ? array : array.concat([value]);
+ });
+ },
+
+ clone: function() {
+ return [].concat(this);
+ },
+
+ size: function() {
+ return this.length;
+ },
+
+ inspect: function() {
+ return '[' + this.map(Object.inspect).join(', ') + ']';
+ }
+});
+
+Array.prototype.toArray = Array.prototype.clone;
+
+function $w(string){
+ string = string.strip();
+ return string ? string.split(/\s+/) : [];
+}
+
+if(window.opera){
+ Array.prototype.concat = function(){
+ var array = [];
+ for(var i = 0, length = this.length; i < length; i++) array.push(this[i]);
+ for(var i = 0, length = arguments.length; i < length; i++) {
+ if(arguments[i].constructor == Array) {
+ for(var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++)
+ array.push(arguments[i][j]);
+ } else {
+ array.push(arguments[i]);
+ }
+ }
+ return array;
+ }
+}
+var PHash = function(obj) {
+ Object.extend(this, obj || {});
+};
+
+Object.extend(PHash, {
+ toQueryString: function(obj) {
+ var parts = [];
+
+ this.prototype._each.call(obj, function(pair) {
+ if (!pair.key) return;
+
+ if (pair.value && pair.value.constructor == Array) {
+ var values = pair.value.compact();
+ if (values.length < 2) pair.value = values.reduce();
+ else {
+ key = encodeURIComponent(pair.key);
+ values.each(function(value) {
+ value = value != undefined ? encodeURIComponent(value) : '';
+ parts.push(key + '=' + encodeURIComponent(value));
+ });
+ return;
+ }
+ }
+ if (pair.value == undefined) pair[1] = '';
+ parts.push(pair.map(encodeURIComponent).join('='));
+ });
+
+ return parts.join('&');
+ }
+});
+
+Object.extend(PHash.prototype, Enumerable);
+Object.extend(PHash.prototype, {
+ _each: function(iterator) {
+ for (var key in this) {
+ var value = this[key];
+ if (value && value == PHash.prototype[key]) continue;
+
+ var pair = [key, value];
+ pair.key = key;
+ pair.value = value;
+ iterator(pair);
+ }
+ },
+
+ keys: function() {
+ return this.pluck('key');
+ },
+
+ values: function() {
+ return this.pluck('value');
+ },
+
+ merge: function(hash) {
+ return $H(hash).inject(this, function(mergedHash, pair) {
+ mergedHash[pair.key] = pair.value;
+ return mergedHash;
+ });
+ },
+
+ remove: function() {
+ var result;
+ for(var i = 0, length = arguments.length; i < length; i++) {
+ var value = this[arguments[i]];
+ if (value !== undefined){
+ if (result === undefined) result = value;
+ else {
+ if (result.constructor != Array) result = [result];
+ result.push(value)
+ }
+ }
+ delete this[arguments[i]];
+ }
+ return result;
+ },
+
+ toQueryString: function() {
+ return PHash.toQueryString(this);
+ },
+
+ inspect: function() {
+ return '#<PHash:{' + this.map(function(pair) {
+ return pair.map(Object.inspect).join(': ');
+ }).join(', ') + '}>';
+ }
+});
+
+function $H(object) {
+ if (object && object.constructor == PHash) return object;
+ return new PHash(object);
+};
+ObjectRange = Class.create();
+Object.extend(ObjectRange.prototype, Enumerable);
+Object.extend(ObjectRange.prototype, {
+ initialize: function(start, end, exclusive) {
+ this.start = start;
+ this.end = end;
+ this.exclusive = exclusive;
+ },
+
+ _each: function(iterator) {
+ var value = this.start;
+ while (this.include(value)) {
+ iterator(value);
+ value = value.succ();
+ }
+ },
+
+ include: function(value) {
+ if (value < this.start)
+ return false;
+ if (this.exclusive)
+ return value < this.end;
+ return value <= this.end;
+ }
+});
+
+var $R = function(start, end, exclusive) {
+ return new ObjectRange(start, end, exclusive);
+}
+
+var Ajax = {
+ getTransport: function() {
+ return Try.these(
+ function() {return new XMLHttpRequest()},
+ function() {return new ActiveXObject('Msxml2.XMLHTTP')},
+ function() {return new ActiveXObject('Microsoft.XMLHTTP')}
+ ) || false;
+ },
+
+ activeRequestCount: 0
+}
+
+Ajax.Responders = {
+ responders: [],
+
+ _each: function(iterator) {
+ this.responders._each(iterator);
+ },
+
+ register: function(responder) {
+ if (!this.include(responder))
+ this.responders.push(responder);
+ },
+
+ unregister: function(responder) {
+ this.responders = this.responders.without(responder);
+ },
+
+ dispatch: function(callback, request, transport, json) {
+ this.each(function(responder) {
+ if (typeof responder[callback] == 'function') {
+ try {
+ responder[callback].apply(responder, [request, transport, json]);
+ } catch (e) {}
+ }
+ });
+ }
+};
+
+Object.extend(Ajax.Responders, Enumerable);
+
+Ajax.Responders.register({
+ onCreate: function() {
+ Ajax.activeRequestCount++;
+ },
+ onComplete: function() {
+ Ajax.activeRequestCount--;
+ }
+});
+
+Ajax.Base = function() {};
+Ajax.Base.prototype = {
+ setOptions: function(options) {
+ this.options = {
+ method: 'post',
+ asynchronous: true,
+ contentType: 'application/x-www-form-urlencoded',
+ encoding: 'UTF-8',
+ parameters: ''
+ }
+ Object.extend(this.options, options || {});
+
+ this.options.method = this.options.method.toLowerCase();
+ if (typeof this.options.parameters == 'string')
+ this.options.parameters = this.options.parameters.toQueryParams();
+ }
+}
+
+Ajax.Request = Class.create();
+Ajax.Request.Events =
+ ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
+
+Ajax.Request.prototype = Object.extend(new Ajax.Base(), {
+ _complete: false,
+
+ initialize: function(url, options) {
+ this.transport = Ajax.getTransport();
+ this.setOptions(options);
+ this.request(url);
+ },
+
+ request: function(url) {
+ this.url = url;
+ this.method = this.options.method;
+ var params = this.options.parameters;
+
+ if (!['get', 'post'].include(this.method)) {
+ // simulate other verbs over post
+ params['_method'] = this.method;
+ this.method = 'post';
+ }
+
+ params = PHash.toQueryString(params);
+ if (params && /Konqueror|Safari|KHTML/.test(navigator.userAgent)) params += '&_='
+
+ // when GET, append parameters to URL
+ if (this.method == 'get' && params)
+ this.url += (this.url.indexOf('?') > -1 ? '&' : '?') + params;
+
+ try {
+ Ajax.Responders.dispatch('onCreate', this, this.transport);
+
+ this.transport.open(this.method.toUpperCase(), this.url,
+ this.options.asynchronous);
+
+ if (this.options.asynchronous)
+ setTimeout(function() { this.respondToReadyState(1) }.bind(this), 10);
+
+ this.transport.onreadystatechange = this.onStateChange.bind(this);
+ this.setRequestHeaders();
+
+ var body = this.method == 'post' ? (this.options.postBody || params) : null;
+
+ this.transport.send(body);
+
+ /* Force Firefox to handle ready state 4 for synchronous requests */
+ if (!this.options.asynchronous && this.transport.overrideMimeType)
+ this.onStateChange();
+
+ }
+ catch (e) {
+ this.dispatchException(e);
+ }
+ },
+
+ onStateChange: function() {
+ var readyState = this.transport.readyState;
+ if (readyState > 1 && !((readyState == 4) && this._complete))
+ this.respondToReadyState(this.transport.readyState);
+ },
+
+ setRequestHeaders: function() {
+ var headers = {
+ 'X-Requested-With': 'XMLHttpRequest',
+ 'X-Prototype-Version': Prototype.Version,
+ 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
+ };
+
+ if (this.method == 'post') {
+ headers['Content-type'] = this.options.contentType +
+ (this.options.encoding ? '; charset=' + this.options.encoding : '');
+
+ /* Force "Connection: close" for older Mozilla browsers to work
+ * around a bug where XMLHttpRequest sends an incorrect
+ * Content-length header. See Mozilla Bugzilla #246651.
+ */
+ if (this.transport.overrideMimeType &&
+ (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005)
+ headers['Connection'] = 'close';
+ }
+
+ // user-defined headers
+ if (typeof this.options.requestHeaders == 'object') {
+ var extras = this.options.requestHeaders;
+
+ if (typeof extras.push == 'function')
+ for (var i = 0, length = extras.length; i < length; i += 2)
+ headers[extras[i]] = extras[i+1];
+ else
+ $H(extras).each(function(pair) { headers[pair.key] = pair.value });
+ }
+
+ for (var name in headers)
+ this.transport.setRequestHeader(name, headers[name]);
+ },
+
+ success: function() {
+ return !this.transport.status
+ || (this.transport.status >= 200 && this.transport.status < 300);
+ },
+
+ respondToReadyState: function(readyState) {
+ var state = Ajax.Request.Events[readyState];
+ var transport = this.transport, json = this.evalJSON();
+
+ if (state == 'Complete') {
+ try {
+ this._complete = true;
+ (this.options['on' + this.transport.status]
+ || this.options['on' + (this.success() ? 'Success' : 'Failure')]
+ || Prototype.emptyFunction)(transport, json);
+ } catch (e) {
+ this.dispatchException(e);
+ }
+
+ if ((this.getHeader('Content-type') || 'text/javascript').strip().
+ match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i))
+ this.evalResponse();
+ }
+
+ try {
+ (this.options['on' + state] || Prototype.emptyFunction)(transport, json);
+ Ajax.Responders.dispatch('on' + state, this, transport, json);
+ } catch (e) {
+ this.dispatchException(e);
+ }
+
+ if (state == 'Complete') {
+ // avoid memory leak in MSIE: clean up
+ this.transport.onreadystatechange = Prototype.emptyFunction;
+ }
+ },
+
+ getHeader: function(name) {
+ try {
+ return this.transport.getResponseHeader(name);
+ } catch (e) { return null }
+ },
+
+ evalJSON: function() {
+ try {
+ var json = this.getHeader('X-JSON');
+ return json ? eval('(' + json + ')') : null;
+ } catch (e) { return null }
+ },
+
+ evalResponse: function() {
+ try {
+ return eval(this.transport.responseText);
+ } catch (e) {
+ this.dispatchException(e);
+ }
+ },
+
+ dispatchException: function(exception) {
+ (this.options.onException || Prototype.emptyFunction)(this, exception);
+ Ajax.Responders.dispatch('onException', this, exception);
+ }
+});
+
+Ajax.Updater = Class.create();
+
+Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype), {
+ initialize: function(container, url, options) {
+ this.container = {
+ success: (container.success || container),
+ failure: (container.failure || (container.success ? null : container))
+ }
+
+ this.transport = Ajax.getTransport();
+ this.setOptions(options);
+
+ var onComplete = this.options.onComplete || Prototype.emptyFunction;
+ this.options.onComplete = (function(transport, param) {
+ this.updateContent();
+ onComplete(transport, param);
+ }).bind(this);
+
+ this.request(url);
+ },
+
+ updateContent: function() {
+ var receiver = this.container[this.success() ? 'success' : 'failure'];
+ var response = this.transport.responseText;
+
+ if (!this.options.evalScripts) response = response.stripScripts();
+
+ if (receiver = $(receiver)) {
+ if (this.options.insertion)
+ new this.options.insertion(receiver, response);
+ else
+ receiver.update(response);
+ }
+
+ if (this.success()) {
+ if (this.onComplete)
+ setTimeout(this.onComplete.bind(this), 10);
+ }
+ }
+});
+
+Ajax.PeriodicalUpdater = Class.create();
+Ajax.PeriodicalUpdater.prototype = Object.extend(new Ajax.Base(), {
+ initialize: function(container, url, options) {
+ this.setOptions(options);
+ this.onComplete = this.options.onComplete;
+
+ this.frequency = (this.options.frequency || 2);
+ this.decay = (this.options.decay || 1);
+
+ this.updater = {};
+ this.container = container;
+ this.url = url;
+
+ this.start();
+ },
+
+ start: function() {
+ this.options.onComplete = this.updateComplete.bind(this);
+ this.onTimerEvent();
+ },
+
+ stop: function() {
+ this.updater.options.onComplete = undefined;
+ clearTimeout(this.timer);
+ (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
+ },
+
+ updateComplete: function(request) {
+ if (this.options.decay) {
+ this.decay = (request.responseText == this.lastText ?
+ this.decay * this.options.decay : 1);
+
+ this.lastText = request.responseText;
+ }
+ this.timer = setTimeout(this.onTimerEvent.bind(this),
+ this.decay * this.frequency * 1000);
+ },
+
+ onTimerEvent: function() {
+ this.updater = new Ajax.Updater(this.container, this.url, this.options);
+ }
+});
+function $(element) {
+ if (arguments.length > 1) {
+ for (var i = 0, elements = [], length = arguments.length; i < length; i++)
+ elements.push($(arguments[i]));
+ return elements;
+ }
+ if (typeof element == 'string')
+ element = document.getElementById(element);
+ return Element.extend(element);
+}
+
+if (Prototype.BrowserFeatures.XPath) {
+ document._getElementsByXPath = function(expression, parentElement) {
+ var results = [];
+ var query = document.evaluate(expression, $(parentElement) || document,
+ null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
+ for (var i = 0, length = query.snapshotLength; i < length; i++)
+ results.push(query.snapshotItem(i));
+ return results;
+ };
+}
+
+document.getElementsByClassName = function(className, parentElement) {
+ if (Prototype.BrowserFeatures.XPath) {
+ var q = ".//*[contains(concat(' ', @class, ' '), ' " + className + " ')]";
+ return document._getElementsByXPath(q, parentElement);
+ } else {
+ var children = ($(parentElement) || document.body).getElementsByTagName('*');
+ var elements = [], child;
+ for (var i = 0, length = children.length; i < length; i++) {
+ child = children[i];
+ if (Element.hasClassName(child, className))
+ elements.push(Element.extend(child));
+ }
+ return elements;
+ }
+};
+
+/*--------------------------------------------------------------------------*/
+
+if (!window.Element)
+ var Element = new Object();
+
+Element.extend = function(element) {
+ if (!element || _nativeExtensions || element.nodeType == 3) return element;
+
+ if (!element._extended && element.tagName && element != window) {
+ var methods = Object.clone(Element.Methods), cache = Element.extend.cache;
+
+ if (element.tagName == 'FORM')
+ Object.extend(methods, Form.Methods);
+ if (['INPUT', 'TEXTAREA', 'SELECT'].include(element.tagName))
+ Object.extend(methods, Form.Element.Methods);
+
+ Object.extend(methods, Element.Methods.Simulated);
+
+ for (var property in methods) {
+ var value = methods[property];
+ if (typeof value == 'function' && !(property in element))
+ element[property] = cache.findOrStore(value);
+ }
+ }
+
+ element._extended = true;
+ return element;
+};
+
+Element.extend.cache = {
+ findOrStore: function(value) {
+ return this[value] = this[value] || function() {
+ return value.apply(null, [this].concat($A(arguments)));
+ }
+ }
+};
+
+Element.Methods = {
+ visible: function(element) {
+ return $(element).style.display != 'none';
+ },
+
+ toggle: function(element) {
+ element = $(element);
+ Element[Element.visible(element) ? 'hide' : 'show'](element);
+ return element;
+ },
+
+ hide: function(element) {
+ $(element).style.display = 'none';
+ return element;
+ },
+
+ show: function(element) {
+ $(element).style.display = '';
+ return element;
+ },
+
+ remove: function(element) {
+ element = $(element);
+ element.parentNode.removeChild(element);
+ return element;
+ },
+
+ update: function(element, html) {
+ html = typeof html == 'undefined' ? '' : html.toString();
+ $(element).innerHTML = html.stripScripts();
+ setTimeout(function() {html.evalScripts()}, 10);
+ return element;
+ },
+
+ replace: function(element, html) {
+ element = $(element);
+ html = typeof html == 'undefined' ? '' : html.toString();
+ if (element.outerHTML) {
+ element.outerHTML = html.stripScripts();
+ } else {
+ var range = element.ownerDocument.createRange();
+ range.selectNodeContents(element);
+ element.parentNode.replaceChild(
+ range.createContextualFragment(html.stripScripts()), element);
+ }
+ setTimeout(function() {html.evalScripts()}, 10);
+ return element;
+ },
+
+ inspect: function(element) {
+ element = $(element);
+ var result = '<' + element.tagName.toLowerCase();
+ $H({'id': 'id', 'className': 'class'}).each(function(pair) {
+ var property = pair.first(), attribute = pair.last();
+ var value = (element[property] || '').toString();
+ if (value) result += ' ' + attribute + '=' + value.inspect(true);
+ });
+ return result + '>';
+ },
+
+ recursivelyCollect: function(element, property) {
+ element = $(element);
+ var elements = [];
+ while (element = element[property])
+ if (element.nodeType == 1)
+ elements.push(Element.extend(element));
+ return elements;
+ },
+
+ ancestors: function(element) {
+ return $(element).recursivelyCollect('parentNode');
+ },
+
+ descendants: function(element) {
+ return $A($(element).getElementsByTagName('*'));
+ },
+
+ immediateDescendants: function(element) {
+ if (!(element = $(element).firstChild)) return [];
+ while (element && element.nodeType != 1) element = element.nextSibling;
+ if (element) return [element].concat($(element).nextSiblings());
+ return [];
+ },
+
+ previousSiblings: function(element) {
+ return $(element).recursivelyCollect('previousSibling');
+ },
+
+ nextSiblings: function(element) {
+ return $(element).recursivelyCollect('nextSibling');
+ },
+
+ siblings: function(element) {
+ element = $(element);
+ return element.previousSiblings().reverse().concat(element.nextSiblings());
+ },
+
+ match: function(element, selector) {
+ if (typeof selector == 'string')
+ selector = new Selector(selector);
+ return selector.match($(element));
+ },
+
+ up: function(element, expression, index) {
+ return Selector.findElement($(element).ancestors(), expression, index);
+ },
+
+ down: function(element, expression, index) {
+ return Selector.findElement($(element).descendants(), expression, index);
+ },
+
+ previous: function(element, expression, index) {
+ return Selector.findElement($(element).previousSiblings(), expression, index);
+ },
+
+ next: function(element, expression, index) {
+ return Selector.findElement($(element).nextSiblings(), expression, index);
+ },
+
+ getElementsBySelector: function() {
+ var args = $A(arguments), element = $(args.shift());
+ return Selector.findChildElements(element, args);
+ },
+
+ getElementsByClassName: function(element, className) {
+ return document.getElementsByClassName(className, element);
+ },
+
+ readAttribute: function(element, name) {
+ element = $(element);
+ if (document.all && !window.opera) {
+ var t = Element._attributeTranslations;
+ if (t.values[name]) return t.values[name](element, name);
+ if (t.names[name]) name = t.names[name];
+ var attribute = element.attributes[name];
+ if(attribute) return attribute.nodeValue;
+ }
+ return element.getAttribute(name);
+ },
+
+ getHeight: function(element) {
+ return $(element).getDimensions().height;
+ },
+
+ getWidth: function(element) {
+ return $(element).getDimensions().width;
+ },
+
+ classNames: function(element) {
+ return new Element.ClassNames(element);
+ },
+
+ hasClassName: function(element, className) {
+ if (!(element = $(element))) return;
+ var elementClassName = element.className;
+ if (elementClassName.length == 0) return false;
+ if (elementClassName == className ||
+ elementClassName.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
+ return true;
+ return false;
+ },
+
+ addClassName: function(element, className) {
+ if (!(element = $(element))) return;
+ Element.classNames(element).add(className);
+ return element;
+ },
+
+ removeClassName: function(element, className) {
+ if (!(element = $(element))) return;
+ Element.classNames(element).remove(className);
+ return element;
+ },
+
+ toggleClassName: function(element, className) {
+ if (!(element = $(element))) return;
+ Element.classNames(element)[element.hasClassName(className) ? 'remove' : 'add'](className);
+ return element;
+ },
+
+ observe: function() {
+ Event.observe.apply(Event, arguments);
+ return $A(arguments).first();
+ },
+
+ stopObserving: function() {
+ Event.stopObserving.apply(Event, arguments);
+ return $A(arguments).first();
+ },
+
+ // removes whitespace-only text node children
+ cleanWhitespace: function(element) {
+ element = $(element);
+ var node = element.firstChild;
+ while (node) {
+ var nextNode = node.nextSibling;
+ if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
+ element.removeChild(node);
+ node = nextNode;
+ }
+ return element;
+ },
+
+ empty: function(element) {
+ return $(element).innerHTML.match(/^\s*$/);
+ },
+
+ descendantOf: function(element, ancestor) {
+ element = $(element), ancestor = $(ancestor);
+ while (element = element.parentNode)
+ if (element == ancestor) return true;
+ return false;
+ },
+
+ scrollTo: function(element) {
+ element = $(element);
+ var pos = Position.cumulativeOffset(element);
+ window.scrollTo(pos[0], pos[1]);
+ return element;
+ },
+
+ getStyle: function(element, style) {
+ element = $(element);
+ if (['float','cssFloat'].include(style))
+ style = (typeof element.style.styleFloat != 'undefined' ? 'styleFloat' : 'cssFloat');
+ style = style.camelize();
+ var value = element.style[style];
+ if (!value) {
+ if (document.defaultView && document.defaultView.getComputedStyle) {
+ var css = document.defaultView.getComputedStyle(element, null);
+ value = css ? css[style] : null;
+ } else if (element.currentStyle) {
+ value = element.currentStyle[style];
+ }
+ }
+
+ if((value == 'auto') && ['width','height'].include(style) && (element.getStyle('display') != 'none'))
+ value = element['offset'+style.capitalize()] + 'px';
+
+ if (window.opera && ['left', 'top', 'right', 'bottom'].include(style))
+ if (Element.getStyle(element, 'position') == 'static') value = 'auto';
+ if(style == 'opacity') {
+ if(value) return parseFloat(value);
+ if(value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/))
+ if(value[1]) return parseFloat(value[1]) / 100;
+ return 1.0;
+ }
+ return value == 'auto' ? null : value;
+ },
+
+ setStyle: function(element, style) {
+ element = $(element);
+ for (var name in style) {
+ var value = style[name];
+ if(name == 'opacity') {
+ if (value == 1) {
+ value = (/Gecko/.test(navigator.userAgent) &&
+ !/Konqueror|Safari|KHTML/.test(navigator.userAgent)) ? 0.999999 : 1.0;
+ if(/MSIE/.test(navigator.userAgent) && !window.opera)
+ element.style.filter = element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'');
+ } else if(value === '') {
+ if(/MSIE/.test(navigator.userAgent) && !window.opera)
+ element.style.filter = element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'');
+ } else {
+ if(value < 0.00001) value = 0;
+ if(/MSIE/.test(navigator.userAgent) && !window.opera)
+ element.style.filter = element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'') +
+ 'alpha(opacity='+value*100+')';
+ }
+ } else if(['float','cssFloat'].include(name)) name = (typeof element.style.styleFloat != 'undefined') ? 'styleFloat' : 'cssFloat';
+ element.style[name.camelize()] = value;
+ }
+ return element;
+ },
+
+ getDimensions: function(element) {
+ element = $(element);
+ var display = $(element).getStyle('display');
+ if (display != 'none' && display != null) // Safari bug
+ return {width: element.offsetWidth, height: element.offsetHeight};
+
+ // All *Width and *Height properties give 0 on elements with display none,
+ // so enable the element temporarily
+ var els = element.style;
+ var originalVisibility = els.visibility;
+ var originalPosition = els.position;
+ var originalDisplay = els.display;
+ els.visibility = 'hidden';
+ els.position = 'absolute';
+ els.display = 'block';
+ var originalWidth = element.clientWidth;
+ var originalHeight = element.clientHeight;
+ els.display = originalDisplay;
+ els.position = originalPosition;
+ els.visibility = originalVisibility;
+ return {width: originalWidth, height: originalHeight};
+ },
+
+ makePositioned: function(element) {
+ element = $(element);
+ var pos = Element.getStyle(element, 'position');
+ if (pos == 'static' || !pos) {
+ element._madePositioned = true;
+ element.style.position = 'relative';
+ // Opera returns the offset relative to the positioning context, when an
+ // element is position relative but top and left have not been defined
+ if (window.opera) {
+ element.style.top = 0;
+ element.style.left = 0;
+ }
+ }
+ return element;
+ },
+
+ undoPositioned: function(element) {
+ element = $(element);
+ if (element._madePositioned) {
+ element._madePositioned = undefined;
+ element.style.position =
+ element.style.top =
+ element.style.left =
+ element.style.bottom =
+ element.style.right = '';
+ }
+ return element;
+ },
+
+ makeClipping: function(element) {
+ element = $(element);
+ if (element._overflow) return element;
+ element._overflow = element.style.overflow || 'auto';
+ if ((Element.getStyle(element, 'overflow') || 'visible') != 'hidden')
+ element.style.overflow = 'hidden';
+ return element;
+ },
+
+ undoClipping: function(element) {
+ element = $(element);
+ if (!element._overflow) return element;
+ element.style.overflow = element._overflow == 'auto' ? '' : element._overflow;
+ element._overflow = null;
+ return element;
+ }
+};
+
+Object.extend(Element.Methods, {childOf: Element.Methods.descendantOf});
+
+Element._attributeTranslations = {};
+
+Element._attributeTranslations.names = {
+ colspan: "colSpan",
+ rowspan: "rowSpan",
+ valign: "vAlign",
+ datetime: "dateTime",
+ accesskey: "accessKey",
+ tabindex: "tabIndex",
+ enctype: "encType",
+ maxlength: "maxLength",
+ readonly: "readOnly",
+ longdesc: "longDesc"
+};
+
+Element._attributeTranslations.values = {
+ _getAttr: function(element, attribute) {
+ return element.getAttribute(attribute, 2);
+ },
+
+ _flag: function(element, attribute) {
+ return $(element).hasAttribute(attribute) ? attribute : null;
+ },
+
+ style: function(element) {
+ return element.style.cssText.toLowerCase();
+ },
+
+ title: function(element) {
+ var node = element.getAttributeNode('title');
+ return node.specified ? node.nodeValue : null;
+ }
+};
+
+Object.extend(Element._attributeTranslations.values, {
+ href: Element._attributeTranslations.values._getAttr,
+ src: Element._attributeTranslations.values._getAttr,
+ disabled: Element._attributeTranslations.values._flag,
+ checked: Element._attributeTranslations.values._flag,
+ readonly: Element._attributeTranslations.values._flag,
+ multiple: Element._attributeTranslations.values._flag
+});
+
+Element.Methods.Simulated = {
+ hasAttribute: function(element, attribute) {
+ var t = Element._attributeTranslations;
+ attribute = t.names[attribute] || attribute;
+ return $(element).getAttributeNode(attribute).specified;
+ }
+};
+
+// IE is missing .innerHTML support for TABLE-related elements
+if (document.all && !window.opera){
+ Element.Methods.update = function(element, html) {
+ element = $(element);
+ html = typeof html == 'undefined' ? '' : html.toString();
+ var tagName = element.tagName.toUpperCase();
+ if (['THEAD','TBODY','TR','TD'].include(tagName)) {
+ var div = document.createElement('div');
+ switch (tagName) {
+ case 'THEAD':
+ case 'TBODY':
+ div.innerHTML = '<table><tbody>' + html.stripScripts() + '</tbody></table>';
+ depth = 2;
+ break;
+ case 'TR':
+ div.innerHTML = '<table><tbody><tr>' + html.stripScripts() + '</tr></tbody></table>';
+ depth = 3;
+ break;
+ case 'TD':
+ div.innerHTML = '<table><tbody><tr><td>' + html.stripScripts() + '</td></tr></tbody></table>';
+ depth = 4;
+ }
+ $A(element.childNodes).each(function(node){
+ element.removeChild(node)
+ });
+ depth.times(function(){ div = div.firstChild });
+
+ $A(div.childNodes).each(
+ function(node){ element.appendChild(node) });
+ } else {
+ element.innerHTML = html.stripScripts();
+ }
+ setTimeout(function() {html.evalScripts()}, 10);
+ return element;
+ }
+};
+
+Object.extend(Element, Element.Methods);
+
+var _nativeExtensions = false;
+
+if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
+ ['', 'Form', 'Input', 'TextArea', 'Select'].each(function(tag) {
+ var className = 'HTML' + tag + 'Element';
+ if(window[className]) return;
+ var klass = window[className] = {};
+ klass.prototype = document.createElement(tag ? tag.toLowerCase() : 'div').__proto__;
+ });
+
+Element.addMethods = function(methods) {
+ Object.extend(Element.Methods, methods || {});
+
+ function copy(methods, destination, onlyIfAbsent) {
+ onlyIfAbsent = onlyIfAbsent || false;
+ var cache = Element.extend.cache;
+ for (var property in methods) {
+ var value = methods[property];
+ if (!onlyIfAbsent || !(property in destination))
+ destination[property] = cache.findOrStore(value);
+ }
+ }
+
+ if (typeof HTMLElement != 'undefined') {
+ copy(Element.Methods, HTMLElement.prototype);
+ copy(Element.Methods.Simulated, HTMLElement.prototype, true);
+ copy(Form.Methods, HTMLFormElement.prototype);
+ [HTMLInputElement, HTMLTextAreaElement, HTMLSelectElement].each(function(klass) {
+ copy(Form.Element.Methods, klass.prototype);
+ });
+ _nativeExtensions = true;
+ }
+}
+
+var Toggle = new Object();
+Toggle.display = Element.toggle;
+
+/*--------------------------------------------------------------------------*/
+
+Abstract.Insertion = function(adjacency) {
+ this.adjacency = adjacency;
+}
+
+Abstract.Insertion.prototype = {
+ initialize: function(element, content) {
+ this.element = $(element);
+ this.content = content.stripScripts();
+
+ if (this.adjacency && this.element.insertAdjacentHTML) {
+ try {
+ this.element.insertAdjacentHTML(this.adjacency, this.content);
+ } catch (e) {
+ var tagName = this.element.tagName.toUpperCase();
+ if (['TBODY', 'TR'].include(tagName)) {
+ this.insertContent(this.contentFromAnonymousTable());
+ } else {
+ throw e;
+ }
+ }
+ } else {
+ this.range = this.element.ownerDocument.createRange();
+ if (this.initializeRange) this.initializeRange();
+ this.insertContent([this.range.createContextualFragment(this.content)]);
+ }
+
+ setTimeout(function() {content.evalScripts()}, 10);
+ },
+
+ contentFromAnonymousTable: function() {
+ var div = document.createElement('div');
+ div.innerHTML = '<table><tbody>' + this.content + '</tbody></table>';
+ return $A(div.childNodes[0].childNodes[0].childNodes);
+ }
+}
+
+var Insertion = new Object();
+
+Insertion.Before = Class.create();
+Insertion.Before.prototype = Object.extend(new Abstract.Insertion('beforeBegin'), {
+ initializeRange: function() {
+ this.range.setStartBefore(this.element);
+ },
+
+ insertContent: function(fragments) {
+ fragments.each((function(fragment) {
+ this.element.parentNode.insertBefore(fragment, this.element);
+ }).bind(this));
+ }
+});
+
+Insertion.Top = Class.create();
+Insertion.Top.prototype = Object.extend(new Abstract.Insertion('afterBegin'), {
+ initializeRange: function() {
+ this.range.selectNodeContents(this.element);
+ this.range.collapse(true);
+ },
+
+ insertContent: function(fragments) {
+ fragments.reverse(false).each((function(fragment) {
+ this.element.insertBefore(fragment, this.element.firstChild);
+ }).bind(this));
+ }
+});
+
+Insertion.Bottom = Class.create();
+Insertion.Bottom.prototype = Object.extend(new Abstract.Insertion('beforeEnd'), {
+ initializeRange: function() {
+ this.range.selectNodeContents(this.element);
+ this.range.collapse(this.element);
+ },
+
+ insertContent: function(fragments) {
+ fragments.each((function(fragment) {
+ this.element.appendChild(fragment);
+ }).bind(this));
+ }
+});
+
+Insertion.After = Class.create();
+Insertion.After.prototype = Object.extend(new Abstract.Insertion('afterEnd'), {
+ initializeRange: function() {
+ this.range.setStartAfter(this.element);
+ },
+
+ insertContent: function(fragments) {
+ fragments.each((function(fragment) {
+ this.element.parentNode.insertBefore(fragment,
+ this.element.nextSibling);
+ }).bind(this));
+ }
+});
+
+/*--------------------------------------------------------------------------*/
+
+Element.ClassNames = Class.create();
+Element.ClassNames.prototype = {
+ initialize: function(element) {
+ this.element = $(element);
+ },
+
+ _each: function(iterator) {
+ this.element.className.split(/\s+/).select(function(name) {
+ return name.length > 0;
+ })._each(iterator);
+ },
+
+ set: function(className) {
+ this.element.className = className;
+ },
+
+ add: function(classNameToAdd) {
+ if (this.include(classNameToAdd)) return;
+ this.set($A(this).concat(classNameToAdd).join(' '));
+ },
+
+ remove: function(classNameToRemove) {
+ if (!this.include(classNameToRemove)) return;
+ this.set($A(this).without(classNameToRemove).join(' '));
+ },
+
+ toString: function() {
+ return $A(this).join(' ');
+ }
+};
+
+Object.extend(Element.ClassNames.prototype, Enumerable);
+var Selector = Class.create();
+Selector.prototype = {
+ initialize: function(expression) {
+ this.params = {classNames: []};
+ this.expression = expression.toString().strip();
+ this.parseExpression();
+ this.compileMatcher();
+ },
+
+ parseExpression: function() {
+ function abort(message) { throw 'Parse error in selector: ' + message; }
+
+ if (this.expression == '') abort('empty expression');
+
+ var params = this.params, expr = this.expression, match, modifier, clause, rest;
+ while (match = expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)) {
+ params.attributes = params.attributes || [];
+ params.attributes.push({name: match[2], operator: match[3], value: match[4] || match[5] || ''});
+ expr = match[1];
+ }
+
+ if (expr == '*') return this.params.wildcard = true;
+
+ while (match = expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+)(.*)/i)) {
+ modifier = match[1], clause = match[2], rest = match[3];
+ switch (modifier) {
+ case '#': params.id = clause; break;
+ case '.': params.classNames.push(clause); break;
+ case '':
+ case undefined: params.tagName = clause.toUpperCase(); break;
+ default: abort(expr.inspect());
+ }
+ expr = rest;
+ }
+
+ if (expr.length > 0) abort(expr.inspect());
+ },
+
+ buildMatchExpression: function() {
+ var params = this.params, conditions = [], clause;
+
+ if (params.wildcard)
+ conditions.push('true');
+ if (clause = params.id)
+ conditions.push('element.readAttribute("id") == ' + clause.inspect());
+ if (clause = params.tagName)
+ conditions.push('element.tagName.toUpperCase() == ' + clause.inspect());
+ if ((clause = params.classNames).length > 0)
+ for (var i = 0, length = clause.length; i < length; i++)
+ conditions.push('element.hasClassName(' + clause[i].inspect() + ')');
+ if (clause = params.attributes) {
+ clause.each(function(attribute) {
+ var value = 'element.readAttribute(' + attribute.name.inspect() + ')';
+ var splitValueBy = function(delimiter) {
+ return value + ' && ' + value + '.split(' + delimiter.inspect() + ')';
+ }
+
+ switch (attribute.operator) {
+ case '=': conditions.push(value + ' == ' + attribute.value.inspect()); break;
+ case '~=': conditions.push(splitValueBy(' ') + '.include(' + attribute.value.inspect() + ')'); break;
+ case '|=': conditions.push(
+ splitValueBy('-') + '.first().toUpperCase() == ' + attribute.value.toUpperCase().inspect()
+ ); break;
+ case '!=': conditions.push(value + ' != ' + attribute.value.inspect()); break;
+ case '':
+ case undefined: conditions.push('element.hasAttribute(' + attribute.name.inspect() + ')'); break;
+ default: throw 'Unknown operator ' + attribute.operator + ' in selector';
+ }
+ });
+ }
+
+ return conditions.join(' && ');
+ },
+
+ compileMatcher: function() {
+ this.match = new Function('element', 'if (!element.tagName) return false; \
+ element = $(element); \
+ return ' + this.buildMatchExpression());
+ },
+
+ findElements: function(scope) {
+ var element;
+
+ if (element = $(this.params.id))
+ if (this.match(element))
+ if (!scope || Element.childOf(element, scope))
+ return [element];
+
+ scope = (scope || document).getElementsByTagName(this.params.tagName || '*');
+
+ var results = [];
+ for (var i = 0, length = scope.length; i < length; i++)
+ if (this.match(element = scope[i]))
+ results.push(Element.extend(element));
+
+ return results;
+ },
+
+ toString: function() {
+ return this.expression;
+ }
+}
+
+Object.extend(Selector, {
+ matchElements: function(elements, expression) {
+ var selector = new Selector(expression);
+ return elements.select(selector.match.bind(selector)).map(Element.extend);
+ },
+
+ findElement: function(elements, expression, index) {
+ if (typeof expression == 'number') index = expression, expression = false;
+ return Selector.matchElements(elements, expression || '*')[index || 0];
+ },
+
+ findChildElements: function(element, expressions) {
+ return expressions.map(function(expression) {
+ return expression.match(/[^\s"]+(?:"[^"]*"[^\s"]+)*/g).inject([null], function(results, expr) {
+ var selector = new Selector(expr);
+ return results.inject([], function(elements, result) {
+ return elements.concat(selector.findElements(result || element));
+ });
+ });
+ }).flatten();
+ }
+});
+
+function $$() {
+ return Selector.findChildElements(document, $A(arguments));
+}
+var Form = {
+ reset: function(form) {
+ $(form).reset();
+ return form;
+ },
+
+ serializeElements: function(elements, getHash) {
+ var data = elements.inject({}, function(result, element) {
+ if (!element.disabled && element.name) {
+ var key = element.name, value = $(element).getValue();
+ if (value != undefined) {
+ if (result[key]) {
+ if (result[key].constructor != Array) result[key] = [result[key]];
+ result[key].push(value);
+ }
+ else result[key] = value;
+ }
+ }
+ return result;
+ });
+
+ return getHash ? data : PHash.toQueryString(data);
+ }
+};
+
+Form.Methods = {
+ serialize: function(form, getHash) {
+ return Form.serializeElements(Form.getElements(form), getHash);
+ },
+
+ getElements: function(form) {
+ return $A($(form).getElementsByTagName('*')).inject([],
+ function(elements, child) {
+ if (Form.Element.Serializers[child.tagName.toLowerCase()])
+ elements.push(Element.extend(child));
+ return elements;
+ }
+ );
+ },
+
+ getInputs: function(form, typeName, name) {
+ form = $(form);
+ var inputs = form.getElementsByTagName('input');
+
+ if (!typeName && !name) return $A(inputs).map(Element.extend);
+
+ for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) {
+ var input = inputs[i];
+ if ((typeName && input.type != typeName) || (name && input.name != name))
+ continue;
+ matchingInputs.push(Element.extend(input));
+ }
+
+ return matchingInputs;
+ },
+
+ disable: function(form) {
+ form = $(form);
+ form.getElements().each(function(element) {
+ element.blur();
+ element.disabled = 'true';
+ });
+ return form;
+ },
+
+ enable: function(form) {
+ form = $(form);
+ form.getElements().each(function(element) {
+ element.disabled = '';
+ });
+ return form;
+ },
+
+ findFirstElement: function(form) {
+ return $(form).getElements().find(function(element) {
+ return element.type != 'hidden' && !element.disabled &&
+ ['input', 'select', 'textarea'].include(element.tagName.toLowerCase());
+ });
+ },
+
+ focusFirstElement: function(form) {
+ form = $(form);
+ form.findFirstElement().activate();
+ return form;
+ }
+}
+
+Object.extend(Form, Form.Methods);
+
+/*--------------------------------------------------------------------------*/
+
+Form.Element = {
+ focus: function(element) {
+ $(element).focus();
+ return element;
+ },
+
+ select: function(element) {
+ $(element).select();
+ return element;
+ }
+}
+
+Form.Element.Methods = {
+ serialize: function(element) {
+ element = $(element);
+ if (!element.disabled && element.name) {
+ var value = element.getValue();
+ if (value != undefined) {
+ var pair = {};
+ pair[element.name] = value;
+ return PHash.toQueryString(pair);
+ }
+ }
+ return '';
+ },
+
+ getValue: function(element) {
+ element = $(element);
+ var method = element.tagName.toLowerCase();
+ return Form.Element.Serializers[method](element);
+ },
+
+ clear: function(element) {
+ $(element).value = '';
+ return element;
+ },
+
+ present: function(element) {
+ return $(element).value != '';
+ },
+
+ activate: function(element) {
+ element = $(element);
+ element.focus();
+ if (element.select && ( element.tagName.toLowerCase() != 'input' ||
+ !['button', 'reset', 'submit'].include(element.type) ) )
+ element.select();
+ return element;
+ },
+
+ disable: function(element) {
+ element = $(element);
+ element.disabled = true;
+ return element;
+ },
+
+ enable: function(element) {
+ element = $(element);
+ element.blur();
+ element.disabled = false;
+ return element;
+ }
+}
+
+Object.extend(Form.Element, Form.Element.Methods);
+var Field = Form.Element;
+var $F = Form.Element.getValue;
+
+/*--------------------------------------------------------------------------*/
+
+Form.Element.Serializers = {
+ input: function(element) {
+ switch (element.type.toLowerCase()) {
+ case 'checkbox':
+ case 'radio':
+ return Form.Element.Serializers.inputSelector(element);
+ default:
+ return Form.Element.Serializers.textarea(element);
+ }
+ },
+
+ inputSelector: function(element) {
+ return element.checked ? element.value : null;
+ },
+
+ textarea: function(element) {
+ return element.value;
+ },
+
+ select: function(element) {
+ return this[element.type == 'select-one' ?
+ 'selectOne' : 'selectMany'](element);
+ },
+
+ selectOne: function(element) {
+ var index = element.selectedIndex;
+ return index >= 0 ? this.optionValue(element.options[index]) : null;
+ },
+
+ selectMany: function(element) {
+ var values, length = element.length;
+ if (!length) return null;
+
+ for (var i = 0, values = []; i < length; i++) {
+ var opt = element.options[i];
+ if (opt.selected) values.push(this.optionValue(opt));
+ }
+ return values;
+ },
+
+ optionValue: function(opt) {
+ // extend element because hasAttribute may not be native
+ return Element.extend(opt).hasAttribute('value') ? opt.value : opt.text;
+ }
+}
+
+/*--------------------------------------------------------------------------*/
+
+Abstract.TimedObserver = function() {}
+Abstract.TimedObserver.prototype = {
+ initialize: function(element, frequency, callback) {
+ this.frequency = frequency;
+ this.element = $(element);
+ this.callback = callback;
+
+ this.lastValue = this.getValue();
+ this.registerCallback();
+ },
+
+ registerCallback: function() {
+ setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
+ },
+
+ onTimerEvent: function() {
+ var value = this.getValue();
+ var changed = ('string' == typeof this.lastValue && 'string' == typeof value
+ ? this.lastValue != value : String(this.lastValue) != String(value));
+ if (changed) {
+ this.callback(this.element, value);
+ this.lastValue = value;
+ }
+ }
+}
+
+Form.Element.Observer = Class.create();
+Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
+ getValue: function() {
+ return Form.Element.getValue(this.element);
+ }
+});
+
+Form.Observer = Class.create();
+Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
+ getValue: function() {
+ return Form.serialize(this.element);
+ }
+});
+
+/*--------------------------------------------------------------------------*/
+
+Abstract.EventObserver = function() {}
+Abstract.EventObserver.prototype = {
+ initialize: function(element, callback) {
+ this.element = $(element);
+ this.callback = callback;
+
+ this.lastValue = this.getValue();
+ if (this.element.tagName.toLowerCase() == 'form')
+ this.registerFormCallbacks();
+ else
+ this.registerCallback(this.element);
+ },
+
+ onElementEvent: function() {
+ var value = this.getValue();
+ if (this.lastValue != value) {
+ this.callback(this.element, value);
+ this.lastValue = value;
+ }
+ },
+
+ registerFormCallbacks: function() {
+ Form.getElements(this.element).each(this.registerCallback.bind(this));
+ },
+
+ registerCallback: function(element) {
+ if (element.type) {
+ switch (element.type.toLowerCase()) {
+ case 'checkbox':
+ case 'radio':
+ Event.observe(element, 'click', this.onElementEvent.bind(this));
+ break;
+ default:
+ Event.observe(element, 'change', this.onElementEvent.bind(this));
+ break;
+ }
+ }
+ }
+}
+
+Form.Element.EventObserver = Class.create();
+Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
+ getValue: function() {
+ return Form.Element.getValue(this.element);
+ }
+});
+
+Form.EventObserver = Class.create();
+Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
+ getValue: function() {
+ return Form.serialize(this.element);
+ }
+});
+if (!window.Event) {
+ var Event = new Object();
+}
+
+Object.extend(Event, {
+ KEY_BACKSPACE: 8,
+ KEY_TAB: 9,
+ KEY_RETURN: 13,
+ KEY_ESC: 27,
+ KEY_LEFT: 37,
+ KEY_UP: 38,
+ KEY_RIGHT: 39,
+ KEY_DOWN: 40,
+ KEY_DELETE: 46,
+ KEY_HOME: 36,
+ KEY_END: 35,
+ KEY_PAGEUP: 33,
+ KEY_PAGEDOWN: 34,
+
+ element: function(event) {
+ return event.target || event.srcElement;
+ },
+
+ isLeftClick: function(event) {
+ return (((event.which) && (event.which == 1)) ||
+ ((event.button) && (event.button == 1)));
+ },
+
+ pointerX: function(event) {
+ return event.pageX || (event.clientX +
+ (document.documentElement.scrollLeft || document.body.scrollLeft));
+ },
+
+ pointerY: function(event) {
+ return event.pageY || (event.clientY +
+ (document.documentElement.scrollTop || document.body.scrollTop));
+ },
+
+ stop: function(event) {
+ if (event.preventDefault) {
+ event.preventDefault();
+ event.stopPropagation();
+ } else {
+ event.returnValue = false;
+ event.cancelBubble = true;
+ }
+ },
+
+ // find the first node with the given tagName, starting from the
+ // node the event was triggered on; traverses the DOM upwards
+ findElement: function(event, tagName) {
+ var element = Event.element(event);
+ while (element.parentNode && (!element.tagName ||
+ (element.tagName.toUpperCase() != tagName.toUpperCase())))
+ element = element.parentNode;
+ return element;
+ },
+
+ observers: false,
+
+ _observeAndCache: function(element, name, observer, useCapture) {
+ if (!this.observers) this.observers = [];
+ if (element.addEventListener) {
+ this.observers.push([element, name, observer, useCapture]);
+ element.addEventListener(name, observer, useCapture);
+ } else if (element.attachEvent) {
+ this.observers.push([element, name, observer, useCapture]);
+ element.attachEvent('on' + name, observer);
+ }
+ },
+
+ unloadCache: function() {
+ if (!Event.observers) return;
+ for (var i = 0, length = Event.observers.length; i < length; i++) {
+ Event.stopObserving.apply(this, Event.observers[i]);
+ Event.observers[i][0] = null;
+ }
+ Event.observers = false;
+ },
+
+ observe: function(element, name, observer, useCapture) {
+ element = $(element);
+ useCapture = useCapture || false;
+
+ if (name == 'keypress' &&
+ (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
+ || element.attachEvent))
+ name = 'keydown';
+
+ Event._observeAndCache(element, name, observer, useCapture);
+ },
+
+ stopObserving: function(element, name, observer, useCapture) {
+ element = $(element);
+ useCapture = useCapture || false;
+
+ if (name == 'keypress' &&
+ (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
+ || element.detachEvent))
+ name = 'keydown';
+
+ if (element.removeEventListener) {
+ element.removeEventListener(name, observer, useCapture);
+ } else if (element.detachEvent) {
+ try {
+ element.detachEvent('on' + name, observer);
+ } catch (e) {}
+ }
+ }
+});
+
+/* prevent memory leaks in IE */
+if (navigator.appVersion.match(/\bMSIE\b/))
+ Event.observe(window, 'unload', Event.unloadCache, false);
+var Position = {
+ // set to true if needed, warning: firefox performance problems
+ // NOT neeeded for page scrolling, only if draggable contained in
+ // scrollable elements
+ includeScrollOffsets: false,
+
+ // must be called before calling withinIncludingScrolloffset, every time the
+ // page is scrolled
+ prepare: function() {
+ this.deltaX = window.pageXOffset
+ || document.documentElement.scrollLeft
+ || document.body.scrollLeft
+ || 0;
+ this.deltaY = window.pageYOffset
+ || document.documentElement.scrollTop
+ || document.body.scrollTop
+ || 0;
+ },
+
+ realOffset: function(element) {
+ var valueT = 0, valueL = 0;
+ do {
+ valueT += element.scrollTop || 0;
+ valueL += element.scrollLeft || 0;
+ element = element.parentNode;
+ } while (element);
+ return [valueL, valueT];
+ },
+
+ cumulativeOffset: function(element) {
+ var valueT = 0, valueL = 0;
+ do {
+ valueT += element.offsetTop || 0;
+ valueL += element.offsetLeft || 0;
+ element = element.offsetParent;
+ } while (element);
+ return [valueL, valueT];
+ },
+
+ positionedOffset: function(element) {
+ var valueT = 0, valueL = 0;
+ do {
+ valueT += element.offsetTop || 0;
+ valueL += element.offsetLeft || 0;
+ element = element.offsetParent;
+ if (element) {
+ if(element.tagName=='BODY') break;
+ var p = Element.getStyle(element, 'position');
+ if (p == 'relative' || p == 'absolute') break;
+ }
+ } while (element);
+ return [valueL, valueT];
+ },
+
+ offsetParent: function(element) {
+ if (element.offsetParent) return element.offsetParent;
+ if (element == document.body) return element;
+
+ while ((element = element.parentNode) && element != document.body)
+ if (Element.getStyle(element, 'position') != 'static')
+ return element;
+
+ return document.body;
+ },
+
+ // caches x/y coordinate pair to use with overlap
+ within: function(element, x, y) {
+ if (this.includeScrollOffsets)
+ return this.withinIncludingScrolloffsets(element, x, y);
+ this.xcomp = x;
+ this.ycomp = y;
+ this.offset = this.cumulativeOffset(element);
+
+ return (y >= this.offset[1] &&
+ y < this.offset[1] + element.offsetHeight &&
+ x >= this.offset[0] &&
+ x < this.offset[0] + element.offsetWidth);
+ },
+
+ withinIncludingScrolloffsets: function(element, x, y) {
+ var offsetcache = this.realOffset(element);
+
+ this.xcomp = x + offsetcache[0] - this.deltaX;
+ this.ycomp = y + offsetcache[1] - this.deltaY;
+ this.offset = this.cumulativeOffset(element);
+
+ return (this.ycomp >= this.offset[1] &&
+ this.ycomp < this.offset[1] + element.offsetHeight &&
+ this.xcomp >= this.offset[0] &&
+ this.xcomp < this.offset[0] + element.offsetWidth);
+ },
+
+ // within must be called directly before
+ overlap: function(mode, element) {
+ if (!mode) return 0;
+ if (mode == 'vertical')
+ return ((this.offset[1] + element.offsetHeight) - this.ycomp) /
+ element.offsetHeight;
+ if (mode == 'horizontal')
+ return ((this.offset[0] + element.offsetWidth) - this.xcomp) /
+ element.offsetWidth;
+ },
+
+ page: function(forElement) {
+ var valueT = 0, valueL = 0;
+
+ var element = forElement;
+ do {
+ valueT += element.offsetTop || 0;
+ valueL += element.offsetLeft || 0;
+
+ // Safari fix
+ if (element.offsetParent==document.body)
+ if (Element.getStyle(element,'position')=='absolute') break;
+
+ } while (element = element.offsetParent);
+
+ element = forElement;
+ do {
+ if (!window.opera || element.tagName=='BODY') {
+ valueT -= element.scrollTop || 0;
+ valueL -= element.scrollLeft || 0;
+ }
+ } while (element = element.parentNode);
+
+ return [valueL, valueT];
+ },
+
+ clone: function(source, target) {
+ var options = Object.extend({
+ setLeft: true,
+ setTop: true,
+ setWidth: true,
+ setHeight: true,
+ offsetTop: 0,
+ offsetLeft: 0
+ }, arguments[2] || {})
+
+ // find page position of source
+ source = $(source);
+ var p = Position.page(source);
+
+ // find coordinate system to use
+ target = $(target);
+ var delta = [0, 0];
+ var parent = null;
+ // delta [0,0] will do fine with position: fixed elements,
+ // position:absolute needs offsetParent deltas
+ if (Element.getStyle(target,'position') == 'absolute') {
+ parent = Position.offsetParent(target);
+ delta = Position.page(parent);
+ }
+
+ // correct by body offsets (fixes Safari)
+ if (parent == document.body) {
+ delta[0] -= document.body.offsetLeft;
+ delta[1] -= document.body.offsetTop;
+ }
+
+ // set position
+ if(options.setLeft) target.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px';
+ if(options.setTop) target.style.top = (p[1] - delta[1] + options.offsetTop) + 'px';
+ if(options.setWidth) target.style.width = source.offsetWidth + 'px';
+ if(options.setHeight) target.style.height = source.offsetHeight + 'px';
+ },
+
+ absolutize: function(element) {
+ element = $(element);
+ if (element.style.position == 'absolute') return;
+ Position.prepare();
+
+ var offsets = Position.positionedOffset(element);
+ var top = offsets[1];
+ var left = offsets[0];
+ var width = element.clientWidth;
+ var height = element.clientHeight;
+
+ element._originalLeft = left - parseFloat(element.style.left || 0);
+ element._originalTop = top - parseFloat(element.style.top || 0);
+ element._originalWidth = element.style.width;
+ element._originalHeight = element.style.height;
+
+ element.style.position = 'absolute';
+ element.style.top = top + 'px';
+ element.style.left = left + 'px';
+ element.style.width = width + 'px';
+ element.style.height = height + 'px';
+ },
+
+ relativize: function(element) {
+ element = $(element);
+ if (element.style.position == 'relative') return;
+ Position.prepare();
+
+ element.style.position = 'relative';
+ var top = parseFloat(element.style.top || 0) - (element._originalTop || 0);
+ var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);
+
+ element.style.top = top + 'px';
+ element.style.left = left + 'px';
+ element.style.height = element._originalHeight;
+ element.style.width = element._originalWidth;
+ }
+}
+
+// Safari returns margins on body which is incorrect if the child is absolutely
+// positioned. For performance reasons, redefine Position.cumulativeOffset for
+// KHTML/WebKit only.
+if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) {
+ Position.cumulativeOffset = function(element) {
+ var valueT = 0, valueL = 0;
+ do {
+ valueT += element.offsetTop || 0;
+ valueL += element.offsetLeft || 0;
+ if (element.offsetParent == document.body)
+ if (Element.getStyle(element, 'position') == 'absolute') break;
+
+ element = element.offsetParent;
+ } while (element);
+
+ return [valueL, valueT];
+ }
+}
+
+Element.addMethods(); \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/scriptaculous.js b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/scriptaculous.js
new file mode 100644
index 00000000..585313c3
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/scriptaculous.js
@@ -0,0 +1,51 @@
+// script.aculo.us scriptaculous.js v1.7.0, Fri Jan 19 19:16:36 CET 2007
+
+// Copyright (c) 2005, 2006 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+// For details, see the script.aculo.us web site: http://script.aculo.us/
+
+var Scriptaculous = {
+ Version: '1.7.0',
+ require: function(libraryName) {
+ // inserting via DOM fails in Safari 2.0, so brute force approach
+ document.write('<script type="text/javascript" src="'+libraryName+'"></script>');
+ },
+ load: function() {
+ if((typeof Prototype=='undefined') ||
+ (typeof Element == 'undefined') ||
+ (typeof Element.Methods=='undefined') ||
+ parseFloat(Prototype.Version.split(".")[0] + "." +
+ Prototype.Version.split(".")[1]) < 1.5)
+ throw("script.aculo.us requires the Prototype JavaScript framework >= 1.5.0");
+
+ $A(document.getElementsByTagName("script")).findAll( function(s) {
+ return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/))
+ }).each( function(s) {
+ var path = s.src.replace(/scriptaculous\.js(\?.*)?$/,'');
+ var includes = s.src.match(/\?.*load=([a-z,]*)/);
+ (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider').split(',').each(
+ function(include) { Scriptaculous.require(path+include+'.js') });
+ });
+ }
+}
+
+Scriptaculous.load(); \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/slider.js b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/slider.js
new file mode 100644
index 00000000..f24f2823
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/js/slider.js
@@ -0,0 +1,278 @@
+// script.aculo.us slider.js v1.7.0, Fri Jan 19 19:16:36 CET 2007
+
+// Copyright (c) 2005, 2006 Marty Haught, Thomas Fuchs
+//
+// script.aculo.us is freely distributable under the terms of an MIT-style license.
+// For details, see the script.aculo.us web site: http://script.aculo.us/
+
+if(!Control) var Control = {};
+Control.Slider = Class.create();
+
+// options:
+// axis: 'vertical', or 'horizontal' (default)
+//
+// callbacks:
+// onChange(value)
+// onSlide(value)
+Control.Slider.prototype = {
+ initialize: function(handle, track, options) {
+ var slider = this;
+
+ if(handle instanceof Array) {
+ this.handles = handle.collect( function(e) { return $(e) });
+ } else {
+ this.handles = [$(handle)];
+ }
+
+ this.track = $(track);
+ this.options = options || {};
+
+ this.axis = this.options.axis || 'horizontal';
+ this.increment = this.options.increment || 1;
+ this.step = parseInt(this.options.step || '1');
+ this.range = this.options.range || $R(0,1);
+
+ this.value = 0; // assure backwards compat
+ this.values = this.handles.map( function() { return 0 });
+ this.spans = this.options.spans ? this.options.spans.map(function(s){ return $(s) }) : false;
+ this.options.startSpan = $(this.options.startSpan || null);
+ this.options.endSpan = $(this.options.endSpan || null);
+
+ this.restricted = this.options.restricted || false;
+
+ this.maximum = this.options.maximum || this.range.end;
+ this.minimum = this.options.minimum || this.range.start;
+
+ // Will be used to align the handle onto the track, if necessary
+ this.alignX = parseInt(this.options.alignX || '0');
+ this.alignY = parseInt(this.options.alignY || '0');
+
+ this.trackLength = this.maximumOffset() - this.minimumOffset();
+
+ this.handleLength = this.isVertical() ?
+ (this.handles[0].offsetHeight != 0 ?
+ this.handles[0].offsetHeight : this.handles[0].style.height.replace(/px$/,"")) :
+ (this.handles[0].offsetWidth != 0 ? this.handles[0].offsetWidth :
+ this.handles[0].style.width.replace(/px$/,""));
+
+ this.active = false;
+ this.dragging = false;
+ this.disabled = false;
+
+ if(this.options.disabled) this.setDisabled();
+
+ // Allowed values array
+ this.allowedValues = this.options.values ? this.options.values.sortBy(Prototype.K) : false;
+ if(this.allowedValues) {
+ this.minimum = this.allowedValues.min();
+ this.maximum = this.allowedValues.max();
+ }
+
+ this.eventMouseDown = this.startDrag.bindAsEventListener(this);
+ this.eventMouseUp = this.endDrag.bindAsEventListener(this);
+ this.eventMouseMove = this.update.bindAsEventListener(this);
+
+ // Initialize handles in reverse (make sure first handle is active)
+ this.handles.each( function(h,i) {
+ i = slider.handles.length-1-i;
+ slider.setValue(parseFloat(
+ (slider.options.sliderValue instanceof Array ?
+ slider.options.sliderValue[i] : slider.options.sliderValue) ||
+ slider.range.start), i);
+ Element.makePositioned(h); // fix IE
+ Event.observe(h, "mousedown", slider.eventMouseDown);
+ });
+
+ Event.observe(this.track, "mousedown", this.eventMouseDown);
+ Event.observe(document, "mouseup", this.eventMouseUp);
+ Event.observe(document, "mousemove", this.eventMouseMove);
+
+ this.initialized = true;
+ },
+ dispose: function() {
+ var slider = this;
+ Event.stopObserving(this.track, "mousedown", this.eventMouseDown);
+ Event.stopObserving(document, "mouseup", this.eventMouseUp);
+ Event.stopObserving(document, "mousemove", this.eventMouseMove);
+ this.handles.each( function(h) {
+ Event.stopObserving(h, "mousedown", slider.eventMouseDown);
+ });
+ },
+ setDisabled: function(){
+ this.disabled = true;
+ },
+ setEnabled: function(){
+ this.disabled = false;
+ },
+ getNearestValue: function(value){
+ if(this.allowedValues){
+ if(value >= this.allowedValues.max()) return(this.allowedValues.max());
+ if(value <= this.allowedValues.min()) return(this.allowedValues.min());
+
+ var offset = Math.abs(this.allowedValues[0] - value);
+ var newValue = this.allowedValues[0];
+ this.allowedValues.each( function(v) {
+ var currentOffset = Math.abs(v - value);
+ if(currentOffset <= offset){
+ newValue = v;
+ offset = currentOffset;
+ }
+ });
+ return newValue;
+ }
+ if(value > this.range.end) return this.range.end;
+ if(value < this.range.start) return this.range.start;
+ return value;
+ },
+ setValue: function(sliderValue, handleIdx){
+ if(!this.active) {
+ this.activeHandleIdx = handleIdx || 0;
+ this.activeHandle = this.handles[this.activeHandleIdx];
+ this.updateStyles();
+ }
+ handleIdx = handleIdx || this.activeHandleIdx || 0;
+ if(this.initialized && this.restricted) {
+ if((handleIdx>0) && (sliderValue<this.values[handleIdx-1]))
+ sliderValue = this.values[handleIdx-1];
+ if((handleIdx < (this.handles.length-1)) && (sliderValue>this.values[handleIdx+1]))
+ sliderValue = this.values[handleIdx+1];
+ }
+ sliderValue = this.getNearestValue(sliderValue);
+ this.values[handleIdx] = sliderValue;
+ this.value = this.values[0]; // assure backwards compat
+
+ this.handles[handleIdx].style[this.isVertical() ? 'top' : 'left'] =
+ this.translateToPx(sliderValue);
+
+ this.drawSpans();
+ if(!this.dragging || !this.event) this.updateFinished();
+ },
+ setValueBy: function(delta, handleIdx) {
+ this.setValue(this.values[handleIdx || this.activeHandleIdx || 0] + delta,
+ handleIdx || this.activeHandleIdx || 0);
+ },
+ translateToPx: function(value) {
+ return Math.round(
+ ((this.trackLength-this.handleLength)/(this.range.end-this.range.start)) *
+ (value - this.range.start)) + "px";
+ },
+ translateToValue: function(offset) {
+ return ((offset/(this.trackLength-this.handleLength) *
+ (this.range.end-this.range.start)) + this.range.start);
+ },
+ getRange: function(range) {
+ var v = this.values.sortBy(Prototype.K);
+ range = range || 0;
+ return $R(v[range],v[range+1]);
+ },
+ minimumOffset: function(){
+ return(this.isVertical() ? this.alignY : this.alignX);
+ },
+ maximumOffset: function(){
+ return(this.isVertical() ?
+ (this.track.offsetHeight != 0 ? this.track.offsetHeight :
+ this.track.style.height.replace(/px$/,"")) - this.alignY :
+ (this.track.offsetWidth != 0 ? this.track.offsetWidth :
+ this.track.style.width.replace(/px$/,"")) - this.alignY);
+ },
+ isVertical: function(){
+ return (this.axis == 'vertical');
+ },
+ drawSpans: function() {
+ var slider = this;
+ if(this.spans)
+ $R(0, this.spans.length-1).each(function(r) { slider.setSpan(slider.spans[r], slider.getRange(r)) });
+ if(this.options.startSpan)
+ this.setSpan(this.options.startSpan,
+ $R(0, this.values.length>1 ? this.getRange(0).min() : this.value ));
+ if(this.options.endSpan)
+ this.setSpan(this.options.endSpan,
+ $R(this.values.length>1 ? this.getRange(this.spans.length-1).max() : this.value, this.maximum));
+ },
+ setSpan: function(span, range) {
+ if(this.isVertical()) {
+ span.style.top = this.translateToPx(range.start);
+ span.style.height = this.translateToPx(range.end - range.start + this.range.start);
+ } else {
+ span.style.left = this.translateToPx(range.start);
+ span.style.width = this.translateToPx(range.end - range.start + this.range.start);
+ }
+ },
+ updateStyles: function() {
+ this.handles.each( function(h){ Element.removeClassName(h, 'selected') });
+ Element.addClassName(this.activeHandle, 'selected');
+ },
+ startDrag: function(event) {
+ if(Event.isLeftClick(event)) {
+ if(!this.disabled){
+ this.active = true;
+
+ var handle = Event.element(event);
+ var pointer = [Event.pointerX(event), Event.pointerY(event)];
+ var track = handle;
+ if(track==this.track) {
+ var offsets = Position.cumulativeOffset(this.track);
+ this.event = event;
+ this.setValue(this.translateToValue(
+ (this.isVertical() ? pointer[1]-offsets[1] : pointer[0]-offsets[0])-(this.handleLength/2)
+ ));
+ var offsets = Position.cumulativeOffset(this.activeHandle);
+ this.offsetX = (pointer[0] - offsets[0]);
+ this.offsetY = (pointer[1] - offsets[1]);
+ } else {
+ // find the handle (prevents issues with Safari)
+ while((this.handles.indexOf(handle) == -1) && handle.parentNode)
+ handle = handle.parentNode;
+
+ if(this.handles.indexOf(handle)!=-1) {
+ this.activeHandle = handle;
+ this.activeHandleIdx = this.handles.indexOf(this.activeHandle);
+ this.updateStyles();
+
+ var offsets = Position.cumulativeOffset(this.activeHandle);
+ this.offsetX = (pointer[0] - offsets[0]);
+ this.offsetY = (pointer[1] - offsets[1]);
+ }
+ }
+ }
+ Event.stop(event);
+ }
+ },
+ update: function(event) {
+ if(this.active) {
+ if(!this.dragging) this.dragging = true;
+ this.draw(event);
+ // fix AppleWebKit rendering
+ if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);
+ Event.stop(event);
+ }
+ },
+ draw: function(event) {
+ var pointer = [Event.pointerX(event), Event.pointerY(event)];
+ var offsets = Position.cumulativeOffset(this.track);
+ pointer[0] -= this.offsetX + offsets[0];
+ pointer[1] -= this.offsetY + offsets[1];
+ this.event = event;
+ this.setValue(this.translateToValue( this.isVertical() ? pointer[1] : pointer[0] ));
+ if(this.initialized && this.options.onSlide)
+ this.options.onSlide(this.values.length>1 ? this.values : this.value, this);
+ },
+ endDrag: function(event) {
+ if(this.active && this.dragging) {
+ this.finishDrag(event, true);
+ Event.stop(event);
+ }
+ this.active = false;
+ this.dragging = false;
+ },
+ finishDrag: function(event, success) {
+ this.active = false;
+ this.dragging = false;
+ this.updateFinished();
+ },
+ updateFinished: function() {
+ if(this.initialized && this.options.onChange)
+ this.options.onChange(this.values.length>1 ? this.values : this.value, this);
+ this.event = null;
+ }
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/lang/en/settings.php b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/lang/en/settings.php
new file mode 100644
index 00000000..883a4942
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/lang/en/settings.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Language file for configuration manager
+ *
+ * @author: Riccardo "battlehorse" Govoni <battlehorse@gmail.com>
+ */
+
+$lang['btl_sidebar_position'] = 'sidebar position' ;
+$lang['btl_sidebar_name'] = 'sidebar page name' ;
+$lang['btl_action_palette'] = 'enable action palette';
+$lang['btl_default_page_actions_status'] = 'default status for page actions';
+$lang['btl_default_wiki_actions_status'] = 'default status for wiki actions';
+$lang['btl_default_user_actions_status'] = 'default status for user actions';
+$lang['btl_default_submit_actions_status'] = 'default status for submit actions' ;
+$lang['btl_language'] = 'template language';
+
+$lang['btl_strip_page_actions'] = 'Page Actions';
+$lang['btl_strip_wiki_actions'] = 'Wiki Actions';
+$lang['btl_strip_user_actions'] = 'User Actions';
+$lang['btl_strip_submit_actions'] = 'Submit This Story';
+
+?>
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/lang/hu/settings.php b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/lang/hu/settings.php
new file mode 100644
index 00000000..08066883
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/lang/hu/settings.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Language file for configuration manager
+ *
+ * @author: Riccardo "battlehorse" Govoni <battlehorse@gmail.com>
+ */
+
+$lang['btl_sidebar_position'] = 'sidebar pozíció' ;
+$lang['btl_sidebar_name'] = 'sidebar oldal neve' ;
+$lang['btl_action_palette'] = 'A tevékenység paletta engedélyezése';
+$lang['btl_default_page_actions_status'] = 'Az aktuális oldal tevékenységek alapértelmezett státusza';
+$lang['btl_default_wiki_actions_status'] = 'A wiki twvékenységek alapértelmezett státusza';
+$lang['btl_default_user_actions_status'] = 'A felhasználói tevékenységek alapértelmezett státusza';
+$lang['btl_default_submit_actions_status'] = 'default status for submit actions' ;
+$lang['btl_language'] = 'template language';
+
+$lang['btl_strip_page_actions'] = 'Aktuális oldal';
+$lang['btl_strip_wiki_actions'] = 'Wiki';
+$lang['btl_strip_user_actions'] = 'Felhasználó';
+$lang['btl_strip_submit_actions'] = 'Oldal feljegyzése';
+
+?>
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/lang/it/settings.php b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/lang/it/settings.php
new file mode 100644
index 00000000..3977e614
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/lang/it/settings.php
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Language file for configuration manager
+ *
+ * @author: Riccardo "battlehorse" Govoni <battlehorse@gmail.com>
+ */
+
+$lang['btl_sidebar_position'] = 'posizione della barra laterale' ;
+$lang['btl_sidebar_name'] = 'nome della pagina per la barra laterale' ;
+$lang['btl_action_palette'] = 'abilita la palette delle azioni';
+$lang['btl_default_page_actions_status'] = 'stato di default per azioni di pagina';
+$lang['btl_default_wiki_actions_status'] = 'stato di default per azioni sul wiki';
+$lang['btl_default_user_actions_status'] = 'stato di default per azioni utente';
+$lang['btl_default_submit_actions_status'] = 'stato di default per azioni di invio storia' ;
+$lang['btl_language'] = 'lingua del template';
+
+$lang['btl_strip_page_actions'] = 'Azioni Pagina';
+$lang['btl_strip_wiki_actions'] = 'Azioni Wiki';
+$lang['btl_strip_user_actions'] = 'Azioni Utente';
+$lang['btl_strip_submit_actions'] = 'Invia questa storia';
+?>
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/layout.css b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/layout.css
new file mode 100644
index 00000000..3db587be
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/layout.css
@@ -0,0 +1,232 @@
+/**
+ * Tableless Layout for default template
+ *
+ * @author Andreas Gohr <andi@splitbrain.org>
+ * @author moraes <moraes@tipos.com.br>
+ * @author Riccardo Govoni <battlehorse@gmail.com>
+ */
+
+/* -------------- top row --------------- */
+div.dokuwiki .header {
+ border-style : solid;
+ border-width: 1px 1px 1px 1px;
+ border-color: __border__ ;
+ margin-top : 5px;
+ background-image: url(__rg_logo_gradient__);
+ background-repeat: repeat-x;
+ height: 57px;
+ overflow: hidden;
+}
+
+// used for pagename in the top left of the page. Unused in rg template
+div.dokuwiki .pagename {
+ float: left;
+ font-size: 200%;
+ font-weight: bolder;
+ color: __background_alt__;
+ text-align: left;
+ vertical-align: middle;
+}
+
+div.dokuwiki .pagename a:link, div.dokuwiki .pagename a:visited, div.dokuwiki .pagename a:hover, div.dokuwiki .pagename a:active {
+ color: __extern__;
+ text-decoration:none;
+}
+
+div.dokuwiki .logo {
+ background-image: url(__rg_wiki_logo__);
+ background-image: url(/skin/classic/base/img/mayor_small_ssl.gif);
+ background-repeat: no-repeat;
+ background-position : 5px 5px ;
+ height: 57px;
+ overflow: hidden;
+ font-size:15px;
+ padding: 15px 50px ;
+ font-weight:bolder;
+ text-align:left;
+ vertical-align:middle;
+}
+
+div.dokuwiki .logo a:link, div.dokuwiki .logo a:visited, div.dokuwiki .logo a:hover, div.dokuwiki .logo a:active {
+ color: __rg_logo_color__;
+ text-decoration:none;
+/* font-family: cursive,Arial,sans-serif,sans;*/
+/* font-variant:small-caps;*/
+ letter-spacing:2pt;
+}
+
+/* --------------- sidebar and content ---------------- */
+
+/* the document */
+div.dokuwiki div.page {
+ text-align: justify;
+
+ border-style : solid;
+ border-width: 1px 1px 1px 1px;
+ border-color: __border__ ;
+ background-color: __background__ ;
+ padding-right: 5px;
+ padding-left: 5px;
+ padding-bottom: 30px;
+
+ background-image: url(__rg_faded_background__);
+ background-repeat: no-repeat;
+ background-position: 98% 98%;
+
+}
+
+/* the sidebar */
+div.dokuwiki div.sidebar {
+ background-color: __rg_sidebar__ ;
+ border-style : solid;
+ border-width: 1px 1px 1px 1px;
+ border-color: __border__ ;
+ padding-top: 2px;
+ padding-bottom: 5px;
+
+ overflow: hidden;
+ font-size : 80% ;
+}
+
+/* the sidebar box */
+div.dokuwiki div.sidebarandshadows {
+ width: 100% ;
+ overflow: hidden;
+}
+
+/* the search box */
+div.dokuwiki div.searchbarandshadows {
+ margin-top: 4px ;
+}
+
+div.dokuwiki div.searchbar {
+ background-color: __rg_search__ ;
+ border-style : solid;
+ border-width: 1px 1px 1px 1px;
+ border-color: __rg_search_border__ ;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ text-align : left ;
+
+ font-size : 80% ;
+}
+
+/* the actions box */
+div.dokuwiki div.userbarandshadows {
+ margin-top: 4px ;
+}
+
+div.dokuwiki div.userbar {
+ background-color: __rg_userbar__ ;
+ border-style : solid;
+ border-width: 1px 1px 1px 1px;
+ border-color: __rg_userbar_border__ ;
+ padding-top: 4px;
+
+ font-size: 80% ;
+}
+
+div.dokuwiki div.userbarstrip {
+ background-color: __rg_userbar__ ;
+ border-style : solid;
+ border-width: 0px 0px 1px 0px;
+ border-color: __rg_userbar_border__ ;
+ padding-top: 4px;
+
+ font-variant:small-caps;
+ font-weight: bolder;
+ font-size: 100% ;
+ cursor: pointer;
+}
+
+div.dokuwiki div.userbarstrip:hover {
+ background-color: __rg_sidebar__ ;
+}
+
+/* the left column ( sidebar, search box, action box) */
+div.dokuwiki div.sideleft {
+ margin-top: 4px;
+ float: left;
+ clear: left ;
+ width: 18%;
+}
+
+div.dokuwiki div.sideright {
+ margin-top: 4px;
+ float: right;
+ clear: right ;
+ width: 18%;
+}
+
+
+/* the right column (main content) */
+div.dokuwiki div.mainright {
+ margin-top: 4px;
+ float: right;
+ clear: right;
+ width: 80% ;
+}
+
+div.dokuwiki div.mainleft {
+ margin-top: 4px;
+ float: left;
+ clear: left;
+ width: 80% ;
+}
+
+/* hack needed to avoid some unwanted extra space between boxes and their shadows */
+div.dokuwiki div.searchbarandshadows table,
+div.dokuwiki div.userbarandshadows table,
+div.dokuwiki div.sidebarandshadows table {
+ margin : 0;
+ padding: 0;
+}
+
+
+/* --------------- status bar ---------------- */
+div.dokuwiki .bar {
+ border-style : solid;
+ border-width: 1px 1px 1px 1px;
+ border-color: __rg_status_border__ ;
+ background-color: __rg_status_background__ ;
+ background-image: url(__rg_status_gradient__);
+ background-repeat: repeat-x;
+ margin-top: 2px;
+ height: 24px;
+ padding-top: 10px ;
+ width: 100%;
+ font-size : 80%;
+ clear: both;
+ overflow: hidden;
+ height: 34px;
+}
+
+div.dokuwiki .bar-left {
+ float: left;
+}
+
+div.dokuwiki .bar-right {
+ float: right;
+ text-align: right;
+}
+
+div.dokuwiki #bar__bottom {
+ margin-bottom:3px;
+}
+
+/* ------------- File Metadata ----------------------- */
+
+div.dokuwiki div.meta {
+ clear: both;
+ margin-top: 1em;
+ color: __text_alt__;
+ font-size: 70%;
+}
+
+div.dokuwiki div.meta div.user {
+ float: left;
+}
+
+div.dokuwiki div.meta div.doc {
+ text-align: right;
+}
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/main.php b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/main.php
new file mode 100644
index 00000000..5b66151f
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/main.php
@@ -0,0 +1,362 @@
+<?php
+/**
+ * DokuWiki Default Template
+ *
+ * This is the template you need to change for the overall look
+ * of DokuWiki.
+ *
+ * You should leave the doctype at the very top - It should
+ * always be the very first line of a document.
+ *
+ * @link http://wiki.splitbrain.org/wiki:tpl:templates
+ * @author Andreas Gohr <andi@splitbrain.org>
+ * @author Riccardo Govoni <battlehorse@gmail.com>
+ */
+
+// must be run from within DokuWiki
+if (!defined('DOKU_INC')) die();
+
+/* Creates the URL of the current page, used for Digg, delicious and google bookmarks */
+function selfURL() {
+ $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
+ $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
+ $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
+ return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];
+}
+
+function strleft($s1, $s2) {
+ return substr($s1, 0, strpos($s1, $s2));
+}
+
+// verify if the given action is enabled
+function is_action_enabled($type) {
+ $ctype = $type;
+ if($type == 'history') $ctype='revisions';
+ return actionOK($ctype);
+}
+
+// changes the display style of the given action group, depending on the config file
+function action_group_status($groupname) {
+ if (tpl_getConf('btl_default_' . $groupname . '_actions_status') == "closed") {
+ echo " style='display:none;'" ;
+ }
+}
+
+// include functions that provide sidebar functionality
+@require_once(dirname(__FILE__).'/tplfn_sidebar.php');
+
+// include translations of the template strings
+@require_once(dirname(__FILE__).'/lang/'.tpl_getConf('btl_language').'/settings.php');
+
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $conf['lang']?>"
+ lang="<?php echo $conf['lang']?>" dir="<?php echo $lang['direction']?>">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>
+ <?php tpl_pagetitle()?>
+ [<?php echo strip_tags($conf['title'])?>]
+ </title>
+
+ <?php tpl_metaheaders()?>
+
+ <link rel="shortcut icon" href="<?php echo DOKU_TPL?>images/favicon.ico" />
+
+ <?php /*old includehook*/ @include(dirname(__FILE__).'/meta.html')?>
+
+ <script src="<?php echo DOKU_TPL ?>js/prototype.js" type="text/javascript"></script>
+ <script src="<?php echo DOKU_TPL ?>js/scriptaculous.js" type="text/javascript"></script>
+</head>
+
+<body>
+<?php /*old includehook*/ @include(dirname(__FILE__).'/topheader.html')?>
+<div class="dokuwiki">
+ <?php html_msgarea()?>
+
+ <div class="stylehead">
+
+ <div class="header">
+<!-- <div class="pagename">
+ [[<?php tpl_link(wl($ID,'do=backlink'),tpl_pagetitle($ID,true))?>]]
+ </div> -->
+ <div class="logo">
+ <?php tpl_link(wl(),$conf['title'],'name="dokuwiki__top" id="dokuwiki__top" accesskey="h" title="[ALT+H]"')?>
+ </div>
+
+ <div class="clearer"></div>
+ </div>
+
+ <?php /*old includehook*/ @include(dirname(__FILE__).'/header.html')?>
+
+ <?php if($conf['breadcrumbs']){?>
+ <div class="bread_upper_dark"></div>
+ <div class="breadcrumbs">
+ <?php tpl_breadcrumbs()?>
+ <?php //tpl_youarehere() //(some people prefer this)?>
+ </div>
+ <div class="bread_lower_dark"></div>
+ <div class="bread_lower_medium"></div>
+ <div class="bread_lower_light">&nbsp;</div>
+ <?php }?>
+
+ <?php if($conf['youarehere']){?>
+ <div class="bread_upper_dark"></div>
+ <div class="breadcrumbs">
+ <?php tpl_youarehere() ?>
+ </div>
+ <div class="bread_lower_dark"></div>
+ <div class="bread_lower_medium"></div>
+ <div class="bread_lower_light"></div>
+ <?php }?>
+
+ </div>
+ <?php flush()?>
+
+ <?php /*old includehook*/ @include(dirname(__FILE__).'/pageheader.html')?>
+
+<div class="sideandpage" >
+ <?php if (tpl_getConf('btl_sidebar_position') == "right") { ?>
+ <div class="mainleft" >
+ <div class="page">
+ <!-- wikipage start -->
+ <?php tpl_content()?>
+ <!-- wikipage stop -->
+ </div>
+ <div class="page_lower_dark"></div>
+ <div class="page_lower_medium"></div>
+ <div class="page_lower_light"></div>
+ </div>
+ <?php } ?>
+
+ <?php if (tpl_getConf('btl_sidebar_position') == "right") { ?>
+ <div class="sideright">
+ <?php } else { ?>
+ <div class="sideleft">
+ <?php } ?>
+
+ <div class="sidebarandshadows" >
+ <table cellspacing="0" cellpadding="0" border="0" width="100%" >
+ <tr>
+ <td>
+ <table cellspacing="0" cellpadding="0" border="0" width="100%">
+ <tr>
+ <td valign="top">
+ <div class="sidebar">
+ <?php tpl_sidebar()?>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </td>
+ <td class="page_lower_dark" style="width: 1px"></td>
+ <td class="page_lower_medium" style="width: 1px"></td>
+ <td class="page_lower_light" style="width: 1px"></td>
+ </tr>
+ <tr>
+ <td class="page_lower_dark" style="height: 1px" colspan="2"></td>
+ <td class="page_lower_medium" style="width: 1px"></td>
+ <td class="page_lower_light" style="width: 1px"></td>
+ </tr>
+ <tr>
+ <td class="page_lower_medium" style="height: 1px" colspan="3"></td>
+ <td class="page_lower_light" style="width: 1px"></td>
+ </tr>
+ <tr>
+ <td class="page_lower_light" style="height: 1px" colspan="4"></td>
+ </tr>
+ </table>
+ </div>
+
+ <?php if (is_action_enabled('search')) { ?>
+ <div class="searchbarandshadows" >
+ <table cellspacing="0" cellpadding="0" border="0" width="100%" >
+ <tr>
+ <td>
+ <table cellspacing="0" cellpadding="0" border="0" width="100%" >
+ <tr>
+ <td valign="top">
+ <div class="searchbar">
+ <div class="centeralign"><?php tpl_searchform()?></div>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </td>
+ <td class="page_lower_dark" style="width: 1px"></td>
+ <td class="page_lower_medium" style="width: 1px"></td>
+ <td class="page_lower_light" style="width: 1px"></td>
+ </tr>
+ <tr>
+ <td class="page_lower_dark" style="height: 1px" colspan="2"></td>
+ <td class="page_lower_medium" style="width: 1px"></td>
+ <td class="page_lower_light" style="width: 1px"></td>
+ </tr>
+ <tr>
+ <td class="page_lower_medium" style="height: 1px" colspan="3"></td>
+ <td class="page_lower_light" style="width: 1px"></td>
+ </tr>
+ <tr>
+ <td class="page_lower_light" style="height: 1px" colspan="4"></td>
+ </tr>
+ </table>
+ </div>
+ <?php } ?>
+
+ <div class="userbarandshadows" >
+ <table cellspacing="0" cellpadding="0" border="0" width="100%" >
+ <tr>
+ <td>
+ <table cellspacing="0" cellpadding="0" border="0" width="100%">
+ <tr>
+ <td valign="top">
+ <div class="userbar" >
+ <?php if (tpl_getConf('btl_action_palette') && (is_action_enabled('history') || is_action_enabled('backlink') || (is_action_enabled('edit') && (!$conf['useacl'] || $ACT != 'show' || ($conf['useacl'] && $_SERVER['REMOTE_USER']))))) { ?>
+ <div class="userbarstrip" onclick="Effect.toggle('pageActionTableId','slide')"><?php echo $lang['btl_strip_page_actions']; ?></div>
+ <?php } ?>
+ <div id="pageActionTableId" <?php action_group_status('page'); ?> ><div>
+ <table cellspacing="0" cellpadding="2" border="0" width="100%" >
+ <tr><td>
+ <?php if (is_action_enabled('history')) { ?>
+ <div class="smallpadding"><?php tpl_actionlink('history')?></div></td></tr><tr><td>
+ <?php } ?>
+ <?php if (is_action_enabled('backlink')) { ?>
+ <div class="smallpadding"><?php tpl_actionlink('backlink')?></div></td></tr><tr><td>
+ <?php } ?>
+ <?php if (is_action_enabled('edit')) { ?>
+ <div class="smallpadding"><?php tpl_actionlink('edit')?></div></td></tr><tr><td>
+ <?php } ?>
+ </td></tr></table></div></div>
+ <?php if (tpl_getConf('btl_action_palette') && (is_action_enabled('index') || is_action_enabled('recent') || (is_action_enabled('admin') && $INFO['perm'] == 255 ))) { ?>
+ <div class="userbarstrip" onclick="Effect.toggle('wikiActionTableId','slide')"><?php echo $lang['btl_strip_wiki_actions']; ?></div>
+ <?php } ?>
+ <div id="wikiActionTableId" <?php action_group_status('wiki'); ?> ><div>
+ <table cellspacing="0" cellpadding="2" border="0" width="100%" >
+ <tr><td>
+ <?php if (is_action_enabled('index')) { ?>
+ <div class="smallpadding"><?php tpl_actionlink('index')?></div></td></tr><tr><td>
+ <?php } ?>
+ <?php if (is_action_enabled('recent')) { ?>
+ <div class="smallpadding"><?php tpl_actionlink('recent')?></div></td></tr><tr><td>
+ <?php } ?>
+ <?php if (is_action_enabled('admin') && $INFO['perm'] == 255) { ?>
+ <div class="smallpadding"><?php tpl_actionlink('admin') ?></div></td></tr><tr><td>
+ <?php } ?>
+ </td></tr></table></div></div>
+ <?php if (tpl_getConf('btl_action_palette') && (is_action_enabled('login') || (is_action_enabled('profile') && $_SERVER['REMOTE_USER'] ) || (is_action_enabled('subscribe') && $conf['useacl'] && $ACT == 'show' && $conf['subscribers'] == 1 && $_SERVER['REMOTE_USER']))) { ?>
+ <div class="userbarstrip" onclick="Effect.toggle('userActionTableId','slide')"><?php echo $lang['btl_strip_user_actions']; ?></div>
+ <?php } ?>
+ <div id="userActionTableId" <?php action_group_status('user'); ?> ><div>
+ <table cellspacing="0" cellpadding="2" border="0" width="100%" >
+ <tr><td>
+ <?php if (is_action_enabled('login')) { ?>
+ <div class="smallpadding"><?php tpl_actionlink('login')?>
+ <?php
+ if ($_SERVER['REMOTE_USER']){
+ echo $INFO['userinfo']['name'] ;
+ }
+ ?>
+ </div></td></tr><tr><td>
+ <?php } ?>
+ <?php if (is_action_enabled('profile') && $_SERVER['REMOTE_USER']) { ?>
+ <div class="smallpadding"><?php tpl_actionlink('profile') ?></div></td></tr><tr><td>
+ <?php } ?>
+ <?php if (is_action_enabled('subscribe')) { ?>
+ <?php if($conf['useacl'] && $ACT == 'show' && $conf['subscribers'] == 1 && $_SERVER['REMOTE_USER']){ ?>
+ <div class="smallpadding"><?php tpl_actionlink('subscribe')?></div></td></tr><tr><td>
+ <?php } ?>
+ <?php } ?>
+ </td></tr></table></div></div>
+ <?php if (tpl_getConf('btl_action_palette') && (is_action_enabled('digg') || is_action_enabled('delicious') || is_action_enabled('googlebookmark'))) { ?>
+ <div class="userbarstrip" onclick="Effect.toggle('submitActionTableId','slide')"><?php echo $lang['btl_strip_submit_actions']; ?></div>
+ <?php } ?>
+ <div id="submitActionTableId" <?php action_group_status('submit'); ?> ><div>
+ <table cellspacing="0" cellpadding="2" border="0" width="100%" >
+ <tr><td>
+ <?php if (is_action_enabled('digg')) { ?>
+ <div class="smallpadding"><a class="digg" href="<?php echo 'http://digg.com/submit?phase=2&amp;url='.urlencode(selfURL()).'&amp;title='?><?php echo urlencode(tpl_pagetitle())?>">Digg this!</a></div></td></tr><tr><td>
+ <?php } ?>
+ <?php if (is_action_enabled('delicious')) { ?>
+ <div class="smallpadding"><a class="delicious" href="<?php echo 'http://del.icio.us/post?url='.urlencode(selfURL()).'&amp;title='?><?php echo urlencode(tpl_pagetitle())?>">Del.Icio.Us</a></div></td></tr><tr><td>
+ <?php } ?>
+ <?php if (is_action_enabled('googlebookmark')) { ?>
+ <div class="smallpadding"><a class="googlebookmark" href="<?php echo 'http://www.google.com/bookmarks/mark?op=add&amp;bkmk='.urlencode(selfURL()).'&amp;title='?><?php echo urlencode(tpl_pagetitle())?>">Google bookmark</a></div></td></tr><tr><td>
+ <?php } ?>
+ </td></tr>
+ </table></div></div>
+
+ </div>
+ </td>
+ </tr>
+ </table>
+ </td>
+ <td class="page_lower_dark" style="width: 1px"></td>
+ <td class="page_lower_medium" style="width: 1px"></td>
+ <td class="page_lower_light" style="width: 1px"></td>
+ </tr>
+ <tr>
+ <td class="page_lower_dark" style="height: 1px" colspan="2"></td>
+ <td class="page_lower_medium" style="width: 1px"></td>
+ <td class="page_lower_light" style="width: 1px"></td>
+ </tr>
+ <tr>
+ <td class="page_lower_medium" style="height: 1px" colspan="3"></td>
+ <td class="page_lower_light" style="width: 1px"></td>
+ </tr>
+ <tr>
+ <td class="page_lower_light" style="height: 1px" colspan="4"></td>
+ </tr>
+ </table>
+ </div>
+
+ </div>
+ <?php if (tpl_getConf('btl_sidebar_position') == "left") { ?>
+ <div class="mainright" >
+ <div class="page">
+ <!-- wikipage start -->
+ <?php tpl_content()?>
+ <!-- wikipage stop -->
+ </div>
+ <div class="page_lower_dark"></div>
+ <div class="page_lower_medium"></div>
+ <div class="page_lower_light"></div>
+ </div>
+ <?php } ?>
+ <div class="clearer">&nbsp;</div>
+</div>
+
+ <?php flush()?>
+
+ <div class="stylefoot">
+
+ <div class="meta">
+ <div class="user">
+ <?php tpl_userinfo()?>
+ </div>
+ <div class="doc">
+ <?php tpl_pageinfo()?> &nbsp;
+ <span class="doclink">
+ &nbsp;
+ <?php tpl_actionlink('top') ?>
+ </span>
+ </div>
+ </div>
+
+ <?php /*old includehook*/ @include(dirname(__FILE__).'/pagefooter.html')?>
+
+ <div class="bar" id="bar__bottom">
+
+ <?php /*old includehook*/ @include(dirname(__FILE__).'/footer.html')?>
+
+ <div class="clearer"></div>
+ </div>
+
+ </div>
+
+</div>
+
+<div class="no"><?php /* provide DokuWiki housekeeping, required in all templates */ tpl_indexerWebBug()?></div>
+</body>
+</html>
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/media.css b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/media.css
new file mode 100644
index 00000000..e2a80ff8
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/media.css
@@ -0,0 +1,204 @@
+/**
+ * The CSS in here cotrols the appearance of the media manager
+ */
+
+#media__manager {
+ height: 100%;
+ overflow: hidden;
+}
+
+#media__left {
+ width: 30%;
+ border-right: solid 1px __border__;
+
+ height: 100%;
+ overflow: auto;
+ position: absolute;
+ left: 0;
+}
+
+#media__right {
+ width: 69.7%;
+
+ height: 100%;
+ overflow: auto;
+ position: absolute;
+ right: 0;
+}
+
+#media__manager h1 {
+ margin: 0;
+ padding: 0;
+ margin-bottom: 0.5em;
+}
+
+/* --- Tree formatting --- */
+
+#media__tree img {
+ float:left;
+ padding: 0.5em 0.3em 0 0;
+}
+
+#media__tree ul {
+ list-style-type: none;
+ list-style-image: none;
+}
+
+#media__tree li {
+ clear: left;
+ list-style-type: none;
+ list-style-image: none;
+}
+* html #media__tree li {
+ border: 1px solid __background__;
+}/* I don't understand this, but this fixes a style bug in IE;
+it's dirty, so any "real" fixes are welcome */
+
+/* --- options --- */
+
+#media__opts {
+ padding-left: 1em;
+ margin-bottom: 0.5em;
+}
+
+#media__opts input {
+ float: left;
+ position: absolute;
+}
+* html #media__opts input {
+ position: static;
+}
+
+#media__opts label {
+ display: block;
+ float: left;
+ margin-left: 30px;
+}
+* html #media__opts label {
+ margin-left: 10px;
+}
+
+#media__opts br {
+ clear: left;
+}
+
+/* --- file list --- */
+
+#media__content img.load {
+ margin: 1em auto;
+}
+
+#media__content #scroll__here {
+ border: 1px dashed __border__;
+}
+
+#media__content .odd {
+ background-color: __background_other__;
+ padding: 0.4em;
+}
+
+#media__content .even {
+ padding: 0.4em;
+}
+
+#media__content a.mediafile {
+ margin-right: 1.5em;
+ font-weight: bold;
+}
+
+#media__content div.detail {
+ padding: 0.3em 0 0.3em 2em;
+}
+
+#media__content div.detail div.thumb {
+ float: left;
+ width: 130px;
+ text-align: center;
+ margin-right: 0.4em;
+}
+
+
+#media__content img.btn {
+ vertical-align: text-bottom;
+}
+
+#media__content div.example {
+ color: __text_neu__;
+ margin-left: 1em;
+}
+
+/* --- upload form --- */
+
+#media__content div.upload {
+ font-size: 90%;
+ padding: 0 0.5em 0.5em 0.5em;
+}
+
+#media__content form.upload {
+ display: block;
+ border-bottom: solid 1px __border__;
+ padding: 0 0.5em 1em 0.5em;
+}
+#media__content form.upload fieldset {
+ padding: 0;
+ margin: 0;
+ border: none;
+ width: auto;
+}
+#media__content form.upload p {
+ clear: left;
+ text-align: left;
+ padding: 0.25em 0;
+ margin: 0;
+ line-height: 1.0em;
+}
+#media__content form.upload label {
+ float: left;
+ width: 30%;
+}
+#media__content form.upload label.check {
+ float: none;
+ width: auto;
+}
+#media__content form.upload input.check {
+ margin-left: 30%;
+}
+
+/* --- meta edit form --- */
+
+#media__content form.meta {
+ display: block;
+ padding: 0 0 1em 0;
+}
+
+#media__content form.meta label {
+ display: block;
+ width: 25%;
+ float: left;
+ font-weight: bold;
+ margin-left: 1em;
+ clear: left;
+}
+
+#media__content form.meta .edit {
+ font: 100% "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif;
+ float: left;
+ width: 70%;
+ padding-right: 0;
+ padding-left: 0.2em;
+ margin: 2px;
+}
+
+#media__content form.meta textarea.edit {
+ height: 8em;
+}
+
+#media__content form.meta div.metafield {
+ clear: left;
+}
+
+#media__content form.meta div.buttons {
+ clear: left;
+ margin-left: 20%;
+ padding-left: 1em;
+}
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/mediamanager.php b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/mediamanager.php
new file mode 100644
index 00000000..1da6dfd0
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/mediamanager.php
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<?php
+/**
+ * DokuWiki Default Template
+ *
+ * This is the template for the media manager popup
+ *
+ * You should leave the doctype at the very top - It should
+ * always be the very first line of a document.
+ *
+ * @link http://wiki.splitbrain.org/wiki:tpl:templates
+ * @author Andreas Gohr <andi@splitbrain.org>
+ */
+?>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $conf['lang']?>" lang="<?php echo $conf['lang']?>" dir="ltr">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>
+ <?php echo hsc($lang['mediaselect'])?>
+ [<?php echo strip_tags($conf['title'])?>]
+ </title>
+ <?php tpl_metaheaders()?>
+ <link rel="shortcut icon" href="<?php echo DOKU_TPL?>images/favicon.ico" />
+</head>
+
+<body>
+<div id="media__manager" class="dokuwiki">
+ <div id="media__left">
+ <?php html_msgarea()?>
+ <h1><?php echo hsc($lang['mediaselect'])?></h1>
+
+ <?php /* keep the id! additional elements are inserted via JS here */?>
+ <div id="media__opts"></div>
+
+ <?php tpl_mediaTree() ?>
+ </div>
+
+ <div id="media__right">
+ <?php tpl_mediaContent() ?>
+ </div>
+</div>
+</body>
+</html>
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/print.css b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/print.css
new file mode 100644
index 00000000..70f7834e
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/print.css
@@ -0,0 +1,236 @@
+
+body {
+ font: 10pt "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif;
+ background-color: White;
+ color: Black;
+}
+
+table {
+ font-size: 100%;
+ padding:0;
+ margin:0;
+}
+
+tr,td,th {padding:0; margin:0;}
+
+img {border:0}
+
+a {
+ color:#000000;
+ text-decoration:none;
+ background: none !important;
+}
+
+
+div.meta {
+ clear:both;
+ margin-top: 1em;
+ font-size:70%;
+ text-align:right;
+}
+
+div.breadcrumbs{
+ display:none;
+}
+
+div.secedit{
+ display:none;
+}
+
+/* --------------------- Text formating -------------------------------- */
+
+/* external link */
+a.urlextern:after {
+ content: " [" attr(href) "]";
+ font-size: 90%;
+}
+
+/* interwiki link */
+a.interwiki:after {
+ content: " [" attr(href) "]";
+ font-size: 90%;
+}
+
+/* email link */
+a.mail:after {
+ content: " [" attr(href) "]";
+ font-size: 90%;
+}
+
+/* existing wikilink */
+a.wikilink1 {text-decoration:underline }
+
+/* the document */
+div.page {
+ text-align: justify;
+}
+
+/* general headline setup */
+h1, h2, h3, h4, h5 {
+ color: Black;
+ background-color: transparent;
+ font-family: "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif;
+ font-size: 100%;
+ font-weight: normal;
+ margin-left: 0;
+ margin-right: 0;
+ margin-top: 0;
+ margin-bottom: 1em;
+ padding-left: 0;
+ padding-right: 0;
+ padding-top: 0.5em;
+ padding-bottom: 0;
+ border-bottom: 1px solid #000000;
+ clear:left;
+}
+
+/* special headlines */
+h1 {font-size: 160%; font-weight: bold;}
+h2 {font-size: 150%; }
+h3 {font-size: 140%; border-bottom: none; }
+h4 {font-size: 120%; border-bottom: none; }
+h5 {font-size: 100%; border-bottom: none; }
+
+/* embedded images */
+img.media {
+ margin: 3px;
+}
+
+img.medialeft {
+ border: 0;
+ float: left;
+ margin: 0 1.5em 0 0;
+}
+
+img.mediaright {
+ border: 0;
+ float: right;
+ margin: 0 0 0 1.5em;
+}
+
+/* unordered lists */
+ul {
+ line-height: 1.5em;
+ list-style-type: square;
+ margin: 0 0 0.5em 1.5em;
+ padding: 0;
+
+}
+
+/* ordered lists */
+ol {
+ line-height: 1.5em;
+ margin: 0 0 0.5em 2.5em;
+ padding: 0;
+ font-weight: normal;
+}
+ol ol {
+ margin: 0 0 0.5em 1.5em;
+}
+
+div.dokuwiki ol {list-style-type: decimal}
+div.dokuwiki ol ol {list-style-type: upper-roman}
+div.dokuwiki ol ol ol {list-style-type: lower-alpha}
+div.dokuwiki ol ol ol ol {list-style-type: lower-greek}
+
+/* the list items overriding the ol definition */
+span.li {
+ font-weight: normal;
+}
+
+/* code blocks by indention */
+pre.pre {
+ font-size: 8pt;
+ padding: 0.5em;
+ border: 1px dashed #000000;
+ color: Black;
+ overflow: visible;
+}
+
+/* code blocks by code tag */
+pre.code {
+ font-size: 8pt;
+ padding: 0.5em;
+ border: 1px dashed #000000;
+ color: Black;
+ overflow: visible;
+}
+
+/* inline code words */
+code {
+ font-size: 120%;
+}
+
+/* code blocks by file tag */
+pre.file {
+ font-size: 8pt;
+ padding: 0.5em;
+ border: 1px dotted #000000;
+ color: Black;
+ overflow: visible;
+}
+
+/* footnotes */
+div.footnotes{
+ clear:both;
+ border-top: 1px solid #000000;
+ padding-left: 1em;
+ margin-top: 1em;
+}
+
+div.fn{
+ font-size:90%;
+}
+
+a.fn_top{
+ vertical-align:super;
+ font-size:80%;
+}
+
+a.fn_bot{
+ vertical-align:super;
+ font-size:80%;
+ font-weight:bold;
+}
+
+acronym{
+ border: 0;
+}
+
+/* ---------- inline tables ------------------- */
+
+table.inline {
+ font-size: 80%;
+ background-color: #ffffff;
+ border-spacing: 0px;
+ border-collapse: collapse;
+}
+
+table.inline th {
+ padding: 3px;
+ border: 1px solid #000000;
+ border-bottom: 2px solid #000000;
+}
+
+table.inline td {
+ padding: 3px;
+ border: 1px solid #000000;
+}
+
+.leftalign{
+ text-align: left;
+}
+
+.centeralign{
+ text-align: center;
+}
+
+.rightalign{
+ text-align: right;
+}
+
+.toc, .footerinc, .header, .bar, .user , .sideright , .sideleft , .doclink {display:none}
+
+div.doc { text-align: left; }
+
+#sidebar {display:none}
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/rtl.css b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/rtl.css
new file mode 100644
index 00000000..d5061435
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/rtl.css
@@ -0,0 +1,111 @@
+/**
+ * Layout and dedsign corrections for right-to-left languages
+ *
+ * @author Andreas Gohr <andi@splitbrain.org>
+ * @author Dotan Kamber <kamberd@yahoo.com>
+ */
+
+.bar-left {
+ float: right;
+ text-align: right;
+}
+
+.bar-right {
+ float: left;
+ text-align: left;
+}
+
+.pagename {
+ float: right;
+ text-align: right;
+}
+
+.logo {
+ float: left;
+ text-align: left;
+}
+
+label {
+ text-align: left;
+}
+
+label.simple {
+ text-align: right;
+}
+
+div.meta div.user {
+ float: right
+}
+
+div.meta div.doc {
+ text-align: left;
+}
+
+/* ------------------ Design corrections --------------------------------- */
+
+ul, ol {
+ margin: 0.5em 1.5em 0.5em 0;
+}
+
+a.urlextern,a.interwiki,a.windows{
+ /* should work but doesn't - so we just disable icons here*/
+ /*
+ background-position: right 1px;
+ padding-right: 16px;
+ */
+ background-image: none !important;
+ padding: 0;
+}
+
+div.secedit input.button {
+ float: left;
+}
+
+/* headlines */
+h1, h2, h3, h4, h5 {
+ clear: right;
+}
+
+/* special headlines */
+h1 {margin-left: 0px; margin-right: 0px;}
+h2 {margin-left: 0px; margin-right: 20px;}
+h3 {margin-left: 0px; margin-right: 40px;}
+h4 {margin-left: 0px; margin-right: 60px;}
+h5 {margin-left: 0px; margin-right: 80px;}
+
+/* indent different sections */
+div.level1 {margin-left: 0px; margin-right: 3px;}
+div.level2 {margin-left: 0px; margin-right: 23px;}
+div.level3 {margin-left: 0px; margin-right: 43px;}
+div.level4 {margin-left: 0px; margin-right: 63px;}
+div.level5 {margin-left: 0px; margin-right: 83px;}
+
+/* TOC control */
+div.toc {
+ float: left;
+ margin-left: 0;
+ margin-right: 2em;
+}
+
+div.tocheader {
+ text-align: right;
+}
+
+#tocinside {
+ text-align: right;
+}
+
+ul.toc {
+ padding: 0;
+ padding-right: 1em;
+}
+
+ul.toc li {
+ background-position: right 0.6em;
+ padding-right:0.4em;
+}
+
+ul.toc li.clear {
+ padding-right:0.4em;
+}
+
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style.ini b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style.ini
new file mode 100644
index 00000000..0d031385
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style.ini
@@ -0,0 +1,147 @@
+; Please see http://www.php.net/manual/en/function.parse-ini-file.php
+; for limitations of the ini format used here
+
+; Define the stylesheets your template uses here. The second value
+; defines for which output media the style should be loaded. Currently
+; print, screen and rtl are supported. rtl styles are loaded additionally
+; to screen styles if a right-to-left language is selected (eg. hebrew)
+[stylesheets]
+layout.css = screen
+design.css = screen
+style.css = screen
+
+media.css = screen
+
+rtl.css = rtl
+print.css = print
+
+; This section is used to configure some placeholder values used in
+; the stylesheets. Changing this file is the simplest method to
+; give your wiki a new look.
+[replacements]
+
+;--------------------------------------------------------------------------
+;------ guaranteed dokuwiki color placeholders that every plugin can use
+; main text and background colors
+__text__ = "#000"
+__background__ = "#fff"
+; alternative text and background colors
+__text_alt__ = "#0d2264"
+__background_alt__ = "#b7d7ff"
+; neutral text and background colors
+__text_neu__ = "#666"
+__background_neu__ = "#f5f5f5"
+; border color
+__border__ = "#0d2264"
+;--------------------------------------------------------------------------
+
+; other text and background colors
+__text_other__ = "#0d2264"
+__background_other__ = "#e9f2f4"
+
+; these are used for links
+__extern__ = "#08279a"
+__existing__ = "#08279a"
+__missing__ = "#e8530a"
+__visited__ = "#08279a"
+__hover__ = "#7189e0"
+
+; highlighting search snippets
+__highlight__ = "#b7d7ff"
+
+
+;--------------------------------------------------------------------------
+;------ for keeping old templates and plugins compatible to the old pattern
+; (to be deleted at the next or after next release)
+__white__ = "#fff"
+__lightgray__ = "#f5f5f5"
+__mediumgray__ = "#ccc"
+__darkgray__ = "#666"
+__black__ = "#000"
+
+; these are the shades of main template color (green)
+__lighter__ = "#f8f8f8"
+__light__ = "#e9f2f4"
+__medium__ = "#b7d7ff"
+__dark__ = "#5d6fa9"
+__darker__ = "#0d2264"
+
+; additional info, used by the battlehorse template
+
+; background color for the website (the one outside the main content)
+__rg_background__ = "#e9f2f4"
+
+; the color used for the site title
+__rg_logo_color__ = "#ffffff"
+
+; the shadows used for the breadcrumbs bar and main content area
+__rg_bread_upper_dark__ = "#43579a"
+__rg_bread_lower_dark__ = "#43579a"
+__rg_bread_lower_medium__ = "#8291bf"
+__rg_bread_lower_light__ = "#d9ddea"
+
+; the border for the breadcrumbs bar
+__rg_bread_border__ = "#cfcfcf"
+
+; the background and border for code and file snippets (see wiki:syntax)
+__rg_code__ = "#f8f8f8"
+__rg_code_border__ = "#cfcfcf"
+__rg_file__ = "#fffded"
+__rg_file_border__ = "#fffaa9"
+
+; the background and border for the search box
+__rg_search__ = "#f8f8f8"
+__rg_search_border__ = "#cfcfcf"
+
+; the background and border for the status box
+__rg_status_border__ = "#cfcfcf"
+__rg_status_background__ = "#e5e5e4"
+
+; the background and border for the actions box
+__rg_userbar__ = "#f8f8f8"
+__rg_userbar_border__ = "#cfcfcf"
+
+; the background for the sidebar box
+__rg_sidebar__ = "#e8f2ff"
+
+; the background and prelight (when you hover on the button) colors for buttons
+__rg_button_prelight__ = "#dbe9ff"
+__rg_button_background__ = "#9cc4ff"
+
+; images used for the user actions ( should be at most 24x24 pixels , otherwise edit the design.css)
+__rg_recent_action__ = "images/b/actions/recent.png"
+__rg_edit_action__ = "images/b/actions/edit.png"
+__rg_index_action__ = "images/b/actions/index.png"
+__rg_create_action__ = "images/b/actions/create.png"
+__rg_revision_action__ = "images/b/actions/history.png"
+__rg_backlink_action__ = "images/b/actions/backlink.png"
+__rg_login_action__ = "images/b/actions/login.png"
+__rg_subscribe_action__ = "images/b/actions/subscribe.png"
+__rg_unsubscribe_action__ = "images/b/actions/unsubscribe.png"
+__rg_profile_action__ = "images/b/actions/profile.png"
+__rg_admin_action__ = "images/b/actions/admin.png"
+__rg_show_action__ = "images/b/actions/show.png"
+__rg_previous_action__ = "images/b/actions/previous.png"
+__rg_top_action__ = "images/b/actions/top.png"
+__rg_digg_action__ = "images/b/actions/digg.gif"
+__rg_delicious_action__ = "images/b/actions/delicious.gif"
+__rg_google_action__ = "images/b/actions/google.gif"
+
+; the gradient used for the background panel (should have width 1 px )
+__rg_background_gradient__ = "images/b/gradient_background.png"
+
+; the gradient used for the breadcrumbs bar ( should have width 1px and height 17px )
+__rg_breadcrumbs_gradient__ = "images/b/gradient_bc.png"
+
+; the gradient for the logo bar ( should have width 1px and height 57px )
+__rg_logo_gradient__ = "images/b/gradient_logo.png"
+
+; the main wiki logo (upper left corner of the page) (should have height 57px )
+__rg_wiki_logo__ = "images/b/wiki_logo.png"
+
+; a faded version of the logo, which will be located on the lower right corner of the main content area (no size restrictions)
+__rg_faded_background__ = "images/b/faded_background.png"
+
+; the gradient for the status bar (should have width 1px and height 34px )
+__rg_status_gradient__ = "images/b/gradient_status.png"
+
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style_blue.ini b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style_blue.ini
new file mode 100644
index 00000000..0d031385
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style_blue.ini
@@ -0,0 +1,147 @@
+; Please see http://www.php.net/manual/en/function.parse-ini-file.php
+; for limitations of the ini format used here
+
+; Define the stylesheets your template uses here. The second value
+; defines for which output media the style should be loaded. Currently
+; print, screen and rtl are supported. rtl styles are loaded additionally
+; to screen styles if a right-to-left language is selected (eg. hebrew)
+[stylesheets]
+layout.css = screen
+design.css = screen
+style.css = screen
+
+media.css = screen
+
+rtl.css = rtl
+print.css = print
+
+; This section is used to configure some placeholder values used in
+; the stylesheets. Changing this file is the simplest method to
+; give your wiki a new look.
+[replacements]
+
+;--------------------------------------------------------------------------
+;------ guaranteed dokuwiki color placeholders that every plugin can use
+; main text and background colors
+__text__ = "#000"
+__background__ = "#fff"
+; alternative text and background colors
+__text_alt__ = "#0d2264"
+__background_alt__ = "#b7d7ff"
+; neutral text and background colors
+__text_neu__ = "#666"
+__background_neu__ = "#f5f5f5"
+; border color
+__border__ = "#0d2264"
+;--------------------------------------------------------------------------
+
+; other text and background colors
+__text_other__ = "#0d2264"
+__background_other__ = "#e9f2f4"
+
+; these are used for links
+__extern__ = "#08279a"
+__existing__ = "#08279a"
+__missing__ = "#e8530a"
+__visited__ = "#08279a"
+__hover__ = "#7189e0"
+
+; highlighting search snippets
+__highlight__ = "#b7d7ff"
+
+
+;--------------------------------------------------------------------------
+;------ for keeping old templates and plugins compatible to the old pattern
+; (to be deleted at the next or after next release)
+__white__ = "#fff"
+__lightgray__ = "#f5f5f5"
+__mediumgray__ = "#ccc"
+__darkgray__ = "#666"
+__black__ = "#000"
+
+; these are the shades of main template color (green)
+__lighter__ = "#f8f8f8"
+__light__ = "#e9f2f4"
+__medium__ = "#b7d7ff"
+__dark__ = "#5d6fa9"
+__darker__ = "#0d2264"
+
+; additional info, used by the battlehorse template
+
+; background color for the website (the one outside the main content)
+__rg_background__ = "#e9f2f4"
+
+; the color used for the site title
+__rg_logo_color__ = "#ffffff"
+
+; the shadows used for the breadcrumbs bar and main content area
+__rg_bread_upper_dark__ = "#43579a"
+__rg_bread_lower_dark__ = "#43579a"
+__rg_bread_lower_medium__ = "#8291bf"
+__rg_bread_lower_light__ = "#d9ddea"
+
+; the border for the breadcrumbs bar
+__rg_bread_border__ = "#cfcfcf"
+
+; the background and border for code and file snippets (see wiki:syntax)
+__rg_code__ = "#f8f8f8"
+__rg_code_border__ = "#cfcfcf"
+__rg_file__ = "#fffded"
+__rg_file_border__ = "#fffaa9"
+
+; the background and border for the search box
+__rg_search__ = "#f8f8f8"
+__rg_search_border__ = "#cfcfcf"
+
+; the background and border for the status box
+__rg_status_border__ = "#cfcfcf"
+__rg_status_background__ = "#e5e5e4"
+
+; the background and border for the actions box
+__rg_userbar__ = "#f8f8f8"
+__rg_userbar_border__ = "#cfcfcf"
+
+; the background for the sidebar box
+__rg_sidebar__ = "#e8f2ff"
+
+; the background and prelight (when you hover on the button) colors for buttons
+__rg_button_prelight__ = "#dbe9ff"
+__rg_button_background__ = "#9cc4ff"
+
+; images used for the user actions ( should be at most 24x24 pixels , otherwise edit the design.css)
+__rg_recent_action__ = "images/b/actions/recent.png"
+__rg_edit_action__ = "images/b/actions/edit.png"
+__rg_index_action__ = "images/b/actions/index.png"
+__rg_create_action__ = "images/b/actions/create.png"
+__rg_revision_action__ = "images/b/actions/history.png"
+__rg_backlink_action__ = "images/b/actions/backlink.png"
+__rg_login_action__ = "images/b/actions/login.png"
+__rg_subscribe_action__ = "images/b/actions/subscribe.png"
+__rg_unsubscribe_action__ = "images/b/actions/unsubscribe.png"
+__rg_profile_action__ = "images/b/actions/profile.png"
+__rg_admin_action__ = "images/b/actions/admin.png"
+__rg_show_action__ = "images/b/actions/show.png"
+__rg_previous_action__ = "images/b/actions/previous.png"
+__rg_top_action__ = "images/b/actions/top.png"
+__rg_digg_action__ = "images/b/actions/digg.gif"
+__rg_delicious_action__ = "images/b/actions/delicious.gif"
+__rg_google_action__ = "images/b/actions/google.gif"
+
+; the gradient used for the background panel (should have width 1 px )
+__rg_background_gradient__ = "images/b/gradient_background.png"
+
+; the gradient used for the breadcrumbs bar ( should have width 1px and height 17px )
+__rg_breadcrumbs_gradient__ = "images/b/gradient_bc.png"
+
+; the gradient for the logo bar ( should have width 1px and height 57px )
+__rg_logo_gradient__ = "images/b/gradient_logo.png"
+
+; the main wiki logo (upper left corner of the page) (should have height 57px )
+__rg_wiki_logo__ = "images/b/wiki_logo.png"
+
+; a faded version of the logo, which will be located on the lower right corner of the main content area (no size restrictions)
+__rg_faded_background__ = "images/b/faded_background.png"
+
+; the gradient for the status bar (should have width 1px and height 34px )
+__rg_status_gradient__ = "images/b/gradient_status.png"
+
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style_green.ini b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style_green.ini
new file mode 100644
index 00000000..6973547b
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style_green.ini
@@ -0,0 +1,147 @@
+; Please see http://www.php.net/manual/en/function.parse-ini-file.php
+; for limitations of the ini format used here
+
+; Define the stylesheets your template uses here. The second value
+; defines for which output media the style should be loaded. Currently
+; print, screen and rtl are supported. rtl styles are loaded additionally
+; to screen styles if a right-to-left language is selected (eg. hebrew)
+[stylesheets]
+layout.css = screen
+design.css = screen
+style.css = screen
+
+media.css = screen
+
+rtl.css = rtl
+print.css = print
+
+; This section is used to configure some placeholder values used in
+; the stylesheets. Changing this file is the simplest method to
+; give your wiki a new look.
+[replacements]
+
+;--------------------------------------------------------------------------
+;------ guaranteed dokuwiki color placeholders that every plugin can use
+; main text and background colors
+__text__ = "#000"
+__background__ = "#fff"
+; alternative text and background colors
+__text_alt__ = "#225c05"
+__background_alt__ = "#91e369"
+; neutral text and background colors
+__text_neu__ = "#666"
+__background_neu__ = "#f5f5f5"
+; border color
+__border__ = "#53bc1f"
+;--------------------------------------------------------------------------
+
+; other text and background colors
+__text_other__ = "#225c05"
+__background_other__ = "#f3ffe3"
+
+; these are used for links
+__extern__ = "#225c05"
+__existing__ = "#225c05"
+__missing__ = "#bc08c3"
+__visited__ = "#225c05"
+__hover__ = "#53bc1f"
+
+; highlighting search snippets
+__highlight__ = "#91e369"
+
+
+;--------------------------------------------------------------------------
+;------ for keeping old templates and plugins compatible to the old pattern
+; (to be deleted at the next or after next release)
+__white__ = "#fff"
+__lightgray__ = "#f5f5f5"
+__mediumgray__ = "#ccc"
+__darkgray__ = "#666"
+__black__ = "#000"
+
+; these are the shades of main template color (green)
+__lighter__ = "#f8f8f8"
+__light__ = "#f3ffe3"
+__medium__ = "#91e369"
+__dark__ = "#53bc1f"
+__darker__ = "#225c05"
+
+; additional info, used by the battlehorse template
+
+; background color for the website (the one outside the main content)
+__rg_background__ = "#f3ffe3"
+
+; the color used for the site title
+__rg_logo_color__ = "#000000"
+
+; the shadows used for the breadcrumbs bar and main content area
+__rg_bread_upper_dark__ = "#9f9f9f"
+__rg_bread_lower_dark__ = "#b9c2ad"
+__rg_bread_lower_medium__ = "#d6e0c8"
+__rg_bread_lower_light__ = "#e7f2d8"
+
+; the border for the breadcrumbs bar
+__rg_bread_border__ = "#cfcfcf"
+
+; the background and border for code and file snippets (see wiki:syntax)
+__rg_code__ = "#f8f8f8"
+__rg_code_border__ = "#cfcfcf"
+__rg_file__ = "#f3ffe3"
+__rg_file_border__ = "#e3ff9c"
+
+; the background and border for the search box
+__rg_search__ = "#f8f8f8"
+__rg_search_border__ = "#cfcfcf"
+
+; the background and border for the status box
+__rg_status_border__ = "#cfcfcf"
+__rg_status_background__ = "#e5e5e4"
+
+; the background and border for the actions box
+__rg_userbar__ = "#f8f8f8"
+__rg_userbar_border__ = "#cfcfcf"
+
+; the background for the sidebar box
+__rg_sidebar__ = "#e3ff9c"
+
+; the background and prelight (when you hover on the button) colors for buttons
+__rg_button_prelight__ = "#f3ffe3"
+__rg_button_background__ = "#e3ff9c"
+
+; images used for the user actions ( should be at most 24x24 pixels , otherwise edit the design.css)
+__rg_recent_action__ = "images/r/actions/recent.png"
+__rg_edit_action__ = "images/r/actions/edit.png"
+__rg_index_action__ = "images/r/actions/index.png"
+__rg_create_action__ = "images/r/actions/create.png"
+__rg_revision_action__ = "images/r/actions/history.png"
+__rg_backlink_action__ = "images/r/actions/backlink.png"
+__rg_login_action__ = "images/r/actions/login.png"
+__rg_subscribe_action__ = "images/r/actions/subscribe.png"
+__rg_unsubscribe_action__ = "images/r/actions/unsubscribe.png"
+__rg_profile_action__ = "images/r/actions/profile.png"
+__rg_admin_action__ = "images/r/actions/admin.png"
+__rg_show_action__ = "images/r/actions/show.png"
+__rg_previous_action__ = "images/r/actions/previous.png"
+__rg_top_action__ = "images/r/actions/top.png"
+__rg_digg_action__ = "images/r/actions/digg.gif"
+__rg_delicious_action__ = "images/r/actions/delicious.gif"
+__rg_google_action__ = "images/r/actions/google.gif"
+
+; the gradient used for the background panel (should have width 1 px )
+__rg_background_gradient__ = "images/r/gradient_background.png"
+
+; the gradient used for the breadcrumbs bar ( should have width 1px and height 17px )
+__rg_breadcrumbs_gradient__ = "images/r/gradient_bc.png"
+
+; the gradient for the logo bar ( should have width 1px and height 57px )
+__rg_logo_gradient__ = "images/r/gradient_logo.png"
+
+; the main wiki logo (upper left corner of the page) (should have height 57px )
+__rg_wiki_logo__ = "images/r/wiki_logo.png"
+
+; a faded version of the logo, which will be located on the lower right corner of the main content area (no size restrictions)
+__rg_faded_background__ = "images/r/faded_background.png"
+
+; the gradient for the status bar (should have width 1px and height 34px )
+__rg_status_gradient__ = "images/r/gradient_status.png"
+
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style_plain.ini b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style_plain.ini
new file mode 100644
index 00000000..48c461fe
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/style_plain.ini
@@ -0,0 +1,147 @@
+; Please see http://www.php.net/manual/en/function.parse-ini-file.php
+; for limitations of the ini format used here
+
+; Define the stylesheets your template uses here. The second value
+; defines for which output media the style should be loaded. Currently
+; print, screen and rtl are supported. rtl styles are loaded additionally
+; to screen styles if a right-to-left language is selected (eg. hebrew)
+[stylesheets]
+layout.css = screen
+design.css = screen
+style.css = screen
+
+media.css = screen
+
+rtl.css = rtl
+print.css = print
+
+; This section is used to configure some placeholder values used in
+; the stylesheets. Changing this file is the simplest method to
+; give your wiki a new look.
+[replacements]
+
+;--------------------------------------------------------------------------
+;------ guaranteed dokuwiki color placeholders that every plugin can use
+; main text and background colors
+__text__ = "#000"
+__background__ = "#fff"
+; alternative text and background colors
+__text_alt__ = "#638c9c"
+__background_alt__ = "#dee7ec"
+; neutral text and background colors
+__text_neu__ = "#666"
+__background_neu__ = "#f5f5f5"
+; border color
+__border__ = "#8cacbb"
+;--------------------------------------------------------------------------
+
+; other text and background colors
+__text_other__ = "#ccc"
+__background_other__ = "#f7f9fa"
+
+; these are used for links
+__extern__ = "#436976"
+__existing__ = "#090"
+__missing__ = "#f30"
+__visited__ = "#436976"
+__hover__ = "#436976"
+
+; highlighting search snippets
+__highlight__ = "#ff9"
+
+
+;--------------------------------------------------------------------------
+;------ for keeping old templates and plugins compatible to the old pattern
+; (to be deleted at the next or after next release)
+__white__ = "#fff"
+__lightgray__ = "#f5f5f5"
+__mediumgray__ = "#ccc"
+__darkgray__ = "#666"
+__black__ = "#000"
+
+; these are the shades of blue
+__lighter__ = "#f7f9fa"
+__light__ = "#eef3f8"
+__medium__ = "#dee7ec"
+__dark__ = "#8cacbb"
+__darker__ = "#638c9c"
+
+; additional info, used by the battlehorse template
+
+; background color for the website (the one outside the main content)
+__rg_background__ = "#fff"
+
+; the color used for the site title
+__rg_logo_color__ = "#436976"
+
+; the shadows used for the breadcrumbs bar and main content area
+__rg_bread_upper_dark__ = "#c4d5dd"
+__rg_bread_lower_dark__ = "#b4c9d3"
+__rg_bread_lower_medium__ = "#d5e0e6"
+__rg_bread_lower_light__ = "#f0f4f6"
+
+; the border for the breadcrumbs bar
+__rg_bread_border__ = "#cfcfcf"
+
+; the background and border for code and file snippets (see wiki:syntax)
+__rg_code__ = "#eef3f8"
+__rg_code_border__ = "#dee7ec"
+__rg_file__ = "#dee7ec"
+__rg_file_border__ = "#8cacbb"
+
+; the background and border for the search box
+__rg_search__ = "#f8f8f8"
+__rg_search_border__ = "#cfcfcf"
+
+; the background and border for the status box
+__rg_status_border__ = "#8cacbb"
+__rg_status_background__ = "#dee7ec"
+
+; the background and border for the actions box
+__rg_userbar__ = "#f0f4f6"
+__rg_userbar_border__ = "#8cacbb"
+
+; the background for the sidebar box
+__rg_sidebar__ = "#dee7ec"
+
+; the background and prelight (when you hover on the button) colors for buttons
+__rg_button_prelight__ = "#dee7ec"
+__rg_button_background__ = "#fff"
+
+; images used for the user actions ( should be at most 24x24 pixels , otherwise edit the design.css)
+__rg_recent_action__ = "images/p/actions/recent.png"
+__rg_edit_action__ = "images/p/actions/edit.png"
+__rg_index_action__ = "images/p/actions/index.png"
+__rg_create_action__ = "images/p/actions/create.png"
+__rg_revision_action__ = "images/p/actions/history.png"
+__rg_backlink_action__ = "images/p/actions/backlink.png"
+__rg_login_action__ = "images/p/actions/login.png"
+__rg_subscribe_action__ = "images/p/actions/subscribe.png"
+__rg_unsubscribe_action__ = "images/p/actions/unsubscribe.png"
+__rg_profile_action__ = "images/p/actions/profile.png"
+__rg_admin_action__ = "images/p/actions/admin.png"
+__rg_show_action__ = "images/p/actions/show.png"
+__rg_previous_action__ = "images/p/actions/previous.png"
+__rg_top_action__ = "images/p/actions/top.png"
+__rg_digg_action__ = "images/p/actions/digg.gif"
+__rg_delicious_action__ = "images/p/actions/delicious.gif"
+__rg_google_action__ = "images/p/actions/google.gif"
+
+; the gradient used for the background panel (should have width 1 px )
+__rg_background_gradient__ = "images/p/gradient_background.png"
+
+; the gradient used for the breadcrumbs bar ( should have width 1px and height 17px )
+__rg_breadcrumbs_gradient__ = "images/p/gradient_bc.png"
+
+; the gradient for the logo bar ( should have width 1px and height 57px )
+__rg_logo_gradient__ = "images/p/gradient_logo.png"
+
+; the main wiki logo (upper left corner of the page) (should have height 57px )
+__rg_wiki_logo__ = "images/p/wiki_logo.png"
+
+; a faded version of the logo, which will be located on the lower right corner of the main content area (no size restrictions)
+__rg_faded_background__ = "images/p/faded_background.png"
+
+; the gradient for the status bar (should have width 1px and height 34px )
+__rg_status_gradient__ = "images/p/gradient_status.png"
+
diff --git a/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/tplfn_sidebar.php b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/tplfn_sidebar.php
new file mode 100644
index 00000000..624f9340
--- /dev/null
+++ b/mayor-orig/mayor-wiki/wiki/lib/tpl/mayor/tplfn_sidebar.php
@@ -0,0 +1,97 @@
+<?php
+/*
+ * Provide navigation sidebar functionality to Dokuwiki Templates
+ *
+ * This is not currently part of the official Dokuwiki release
+ *
+ * @link http://wiki.jalakai.co.uk/dokuwiki/doku.php?id=tutorials:dev:navigation_sidebar
+ * @author Christopher Smith <chris@jalakai.co.uk>
+ */
+
+// sidebar configuration settings
+$conf['sidebar']['enable'] = 1; // 1 or true to enable sidebar functionality, 0 or false to disable it
+$conf['sidebar']['page'] = tpl_getConf('btl_sidebar_name'); // name of sidebar page
+$conf['sidebar']['layout'] = 'inside'; // inside (between button bars) or outside (full height of dokuwiki)
+$conf['sidebar']['orientation'] = 'right'; // left or right
+
+// determine the sidebar class
+$sidebar_class = "sidebar_{$conf['sidebar']['layout']}_{$conf['sidebar']['orientation']}";
+
+// recursive function to establish best sidebar file to be used
+function getSidebarFN($ns, $file) {
+
+ // check for wiki page = $ns:$file (or $file where no namespace)
+ $nsFile = ($ns) ? "$ns:$file" : $file;
+ if (file_exists(wikiFN($nsFile)) && auth_quickaclcheck($nsFile)) return $nsFile;
+
+// remove deepest namespace level and call function recursively
+
+ // no namespace left, exit with no file found
+ if (!$ns) return '';
+
+ $i = strrpos($ns, ":");
+ $ns = ($i) ? substr($ns, 0, $i) : false;
+ return getSidebarFN($ns, $file);
+}
+
+// display the sidebar
+function tpl_sidebar() {
+ global $ID, $REV, $conf;
+
+ // save globals
+ $saveID = $ID;
+ $saveREV = $REV;
+
+ // discover file to be displayed in navigation sidebar
+ $fileSidebar = '';
+
+ if (isset($conf['sidebar']['page'])) {
+ $fileSidebar = getSidebarFN(getNS($ID), $conf['sidebar']['page']);
+ }
+
+ // determine what to display
+ if ($fileSidebar) {
+ $ID = $fileSidebar;
+ $REV = '';
+ print p_wiki_xhtml($ID,$REV,false);
+ }
+ else {
+ global $IDX;
+ html_index($IDX);
+ }
+
+ // restore globals
+ $ID = $saveID;
+ $REV = $saveREV;
+}
+
+if (!function_exists('tpl_pagename')) {
+
+ require_once(DOKU_INC.'inc/parserutils.php');
+
+ /**
+ * Returns the name of the given page (current one if none given).
+ *
+ * If useheading is enabled this will use the first headline else
+ * the given ID is printed.
+ *
+ * based on tpl_pagetitle in inc/template.php
+ */
+ function tpl_pagename($id=null){
+ global $conf;
+ if(is_null($id)){
+ global $ID;
+ $id = $ID;
+ }
+
+ $name = $id;
+ if ($conf['useheading']) {
+ $title = p_get_first_heading($id);
+ if ($title) $name = $title;
+ }
+ return hsc($name);
+ }
+
+}
+
+?>
diff --git a/mayor-orig/md5sum b/mayor-orig/md5sum
new file mode 100644
index 00000000..c1c86ebb
--- /dev/null
+++ b/mayor-orig/md5sum
@@ -0,0 +1,13 @@
+Revision 4455
+a1a98cf83cc7db34a8160d26995909a7 mayor-fenntarto-rev4455.tgz
+436b62c586adcfb23619edabe34ab0c1 mayor-installer-sulix-rev4455.tgz
+0a4aa2fe0b9b36c73b654e9b2f73825a mayor-wiki-rev4455.tgz
+8ba6399d425357e40e32bd21b4cecebd mayor-installer-rev4455.tgz
+5fb3d8d3ec01494005ad86d5e623b3dc mayor-portal-rev4455.tgz
+9880a3717c08ce89a7798553fc8f86ba mayor-felveteli-rev4455.tgz
+4f76639dce861d2206e1a63e92948877 mayor-jatek-rev4455.tgz
+5687692cc763ff71ae57e04537d4f3ab mayor-locales-jp_JP-rev4455.tgz
+565195bde72a6937e3a296b625442bc1 mayor-locales-de_DE-rev4455.tgz
+607516ab0dd329877d34552ba7b9c105 mayor-locales-en_US-rev4455.tgz
+4488fb1471b1c6b24d2a1df2172a4504 mayor-naplo-rev4455.tgz
+fe5b5587b56dd9946c2652dd050b9593 mayor-base-rev4455.tgz
diff --git a/mayor-orig/rev.txt b/mayor-orig/rev.txt
new file mode 100644
index 00000000..ab5135de
--- /dev/null
+++ b/mayor-orig/rev.txt
@@ -0,0 +1 @@
+4455